Freelance Orgsin Official Site

ごゆっくりしていって下さい

AzureからCentOSの最小限Rails環境を構築

AzureからCentOSのRails環境を構築したので,ログを残しておこうと思う.

運用する前にまずテストとして,月に1500円以下の低スペックのMicrosoft AzureによるLinux環境.

※なお,この環境でCapistranoを走らせるとメモリ使用率が100%を超え,落ちる事があったので,仮にデモ等で自動デプロイなどをしたい場合スペックを上げることを推奨する.

想定構成

  • 開発サーバ
  • ステージングサーバ
  • リバースプロキシ用サーバ
  • Webアプリをのせるサーバ
  • DBサーバ

コンピュータスペック

  • Microsoft Azure
  • Basic A0
    • 1 コア
    • 0.75 GB メモリ
    • 1データ ディスク
    • 1x300 最大 IOPS)
  • CentOS release 6.8 (Final)
  • 1,365.98 JPY/月 (推定)

CentOSの設定

作業ログ

# 最初にパッケージの更新
$ sudo yum update

# 必要なライブラリのインストール
$ sudo yum -y install epel-release
$ sudo yum -y install git gcc gcc-c++ openssl-devel readline-devel ruby-devel rubygems libxslt-devel nginx mumin postgresql-devel sqlite sqlite-devel nodejs

# ssh認証の設定
$ mkdir .ssh
$ chmod 700 .ssh/
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ echo "{public key}" >>.ssh/authorized_keys

$ vi /etc/ssh/sshd_config
$ AuthorizedKeysFile .ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication no
ClientAliveInterval 15
# ※この設定でパスワードログインができなくなるので注意

$ service sshd restart

# JSTへ変更
$ service ntpd restart
$ ntpdate -s -b ntp.jst.mfeed.ad.jp
$ cp /etc/localtime /etc/localtime.back
$ cp /etc/sysconfig/clock /etc/sysconfig/clock.back
$ ln -sf  /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ echo 'ZONE="Asia/Tokyo"' >/etc/sysconfig/clock
$ date

# Ruby環境のインストール
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
$ ~/.rbenv/plugins/ruby-build/install.sh
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ rbenv install --list
$ rbenv install -v 2.4.0
$ rbenv global 2.4.0

## Railsのインストール
$ gem install --no-ri --no-rdoc rails

疎通確認

次に,AzureのLinuxとローカルコンピュータの疎通チェックをする.以下2点が問題なければこの作業はOK.

  • 公開鍵を使い,ssh認証でつながること → リモート作業をやっていく上で問題なければOK
  • 22,443,80ポートを空け,自分のIPを直指定しつながること → IPを指定しないと外部に公開してしまうため → セルフ証明書を通さないなら443は開ける必要がない
ポートの空け方

リモート上で作業することも可能ですが,今回はAzureを使っているので,Azureポータル上で行ってみました.AWSで言えば,セキュリティグループのインバウンドの設定のようなものです。

  1. 「ダッシュボード」から,仮想マシンを選択します
  2. 「設定」→「エンドポイント」→「スタンドアロン」に追加します
  3. ブラウザから,今回作った環境のホストにアクセスし「Welcome to nginx on EPEL!」が出ることを確認する
  4. /usr/share/nginx/html/index.htmlの内容を変え,反映されているかどうか確認する
    ※ブラウザのキャッシュをクリアしないと反映されない可能性もあるのでChromeなら「command+R」でキャッシュをクリアしておくと良い

※設定内容は,アクセス制御リストのアクションを許可にし,リモート サブネットに自らのグローバルIPアドレスを入力して保存すればOK

f:id:sinsinchang:20161221174653p:plain

Azureテクノロジ入門2016 (マイクロソフト関連書)

Azureテクノロジ入門2016 (マイクロソフト関連書)

さわってわかる機械学習 Azure Macine Learning 実践ガイド

さわってわかる機械学習 Azure Macine Learning 実践ガイド

免責事項

  • 広告は、「外部広告」や、ヘッダ、あるいはフッタにのみ表示しております。
  • 掲載された情報の内容の正確性については一切保証しません。
  • 当サイトに掲載された情報・資料を利用、使用、ダウンロードするなどの行為に関連して生じたあらゆる損害等についても、理由の如何に関わらず、当サイト管理者は一切責任を負いません。
  • 当記事は、予告なく更新され、削除される可能性があります。

f:id:sinsinchang:20161223134959p:plain

新MacBook Proの購入から到着までのステータス状況をログとして残してみた

初めに

www.apple.com

まとめ

  • 今回新しく発表された2016年MacBook Proについての注文証跡。
  • 実際に購入してから発送、到着までのログをまとめてみたので、欲しい人の参考にしてもらえると幸いです。
  • 大体注文してから1週間強で届く。

主な用途

  • 業務で利用(開発)
    • 仮想環境
    • Native, Webプログラミング
    • 複数IDE起動
    • データ分析
    • 画像編集ソフト
    • 会計処理
  • 単発の仕事など
    • カフェやオフィスに持ち込んで作業
    • Chrome,Firefox,Safari複数タブによる作業

プログラミングに関わる作業が多いので、ストレスなく行えること、持ち運びやすいことを重視しました。
個人的には、2015年発売のMacBookは開発機としては不満でした。(上記の作業はできますが、並列作業や、快適にすることはできません)

注文日: 2016/10/28

発売日に早速注文をした。朝2時頃に発表があったようだ。Touch BarとTouch IDなどは約1ヶ月以上納品が遅くなるということで諦めた(´・ω・`)

注文商品

  • 13インチMacBook Pro

カスタマイズ内容

項目 詳細
CPU 2.4GHz Dual-core Intel Core i7
Memory 16GB 1866MHz LPDDR3 SDRAM
Keyboard US
  • 開発用ということでCPUとメモリは上限
  • typoが増加するのでキーボードはUS

お届け予定日

2016/11/03 - 2016/11/05 :通常配送

ステータス

1. ご注文受付中

ご注文の受付を行っています。まもなく処理が開始されます。「処理中の商品」に変わるまで、ご注文内容の変更はできません。

2. 処理中の商品

現在ご注文商品を処理しています。ご注文状況から、または、Apple Online Storeカスタマーサービスにお問い合わせいただくと、ご注文内容を変更できます。

当日中にこのステータスになりました。

2016/10/29

とくに変化はありません。

2016/10/30

とくに変化はありません。

2016/10/31

  • 夜頃にステータスが変更したようだ。
  • キャンセル・返品対象外に変更された。

ステータス

3. 出荷準備中

現在お客様のご注文は配送準備中のため、ご注文内容を変更することはできません。ご注文の配送準備が出来次第、商品出荷のお知らせメールをお送りします。

2016/11/01

  • 夕方にステータスが変更した。

ステータス

4. 出荷完了

ご注文商品を出荷いたしました。24時間以内にご注文状況に「配送状況の確認」ボタンが表示されるようになります。

詳細
  • ステータス 配送中 2016/11/01
  • 配送の目安 2016/11/04
  • 配送業者 YAMATO TRANSPORT COMPANY,LTD.
  • 追跡番号 XXXXXXXXXXXX
  • 配送サービス 通常配送
荷物状況
  • 海外荷物受付 11/01 10:01 上海支店(中国) 640004
    • ADSC支店

2016/11/02

荷物状況
  • 海外発送 11/02 17:42 上海支店(中国) 640004

2016/11/03

ADSC支店に発送された瞬間、到着日時を変更しました。そうすると任意の時間帯に来るからです。
このタイミングが一番よいです。

荷物状況
  • 荷物受付 11/03 11:01 ADSC支店 032750
  • 発送 11/03 11:01 ADSC支店 032750
  • 依頼受付(日・時間帯変更) 11/03 13:14 新東京主管支店  サービスセンター 036005

2016/11/04

ADSC支店に発送された瞬間、到着日時を変更しました。そうすると任意の時間帯に来るからです。 と書きましたが、不在通知が着ました。 なぜかうまく連携が取れていなかったようですが、その後日時指定した時間に無事到着しました。

とりあえず環境構築してみて、MacBookとの違いはさほど感じられなかったが、気になったのが画面の彩度や色合いだろうか、やや黄色っぽくかんじる。これが仕様であれば特に問題はないが、どうなのだろうか。

最後に

新MacBook Proは、顔認証ログインがないなどのカメラ機能が進化してない、そんなに薄くなってない、USB Type-Cが使いづらいなど、様々な批評を受けています。
ただ、個人的にはMacBook2015からの買い替え機としては妥当だと感じています。

現在MacBook Pro13インチを所持している方にとっては、いまいちな印象を受けるかもしれません。Surfaceの顔認証ログインは便利ですので、13インチを持っている方はSurfaceも調べてみてはいかがでしょうか。ただし、顔認証としてメガネを着ける方は注意しましょう。

この記事でSurfaceのことを少し書きました。 www.orgsin.com

【Docker編】導入は簡単。仮想環境を常に使って開発しよう

初めに

 Dockerは、Vagrant一択だった開発環境から選択の幅を増やしてくれました。どちらも仮想化という分野ではありますが、Vagrantは完全仮想化を行うのに対し、Dockerはコンテナ型の仮想化を行います。

 双方利点、欠点はありますが、これからはDockerを使う事が多くなってくるのではないでしょうか。その理由としては、インスタンス起動の速さ、コンピュータの性能が挙げられます。

  • 公式です。

www.docker.com

  • Oreillyの本も登場していますね。

Docker

Docker

  • 作者: Adrian Mouat,Sky株式会社玉川竜司
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2016/08/17
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Dockerを使ってみる

今回は、MacOSでDockerを使います。1年前のマイナーバージョン時に比べ、今や導入の敷居が大分下がっております。MacOSのDockerアプリケーション以外の使い方を求める方はこの記事は参考になりません。

  • 公式にアクセスします
  • Download Docker for Macを押下するとdmgファイルをダウンロードできます
  • 一般的なアプリケーションと同じようにダウンロードしたdmgファイルを開き、アプリケーションに移動させます。

完了です。はい、非常に簡単にインストールが完了しました。ではここからは実際に使ってみましょう。

# Dockerのバージョンを表示
docker version 
# Dockerのイメージを表示
docker images
# Dockerのプロセスを表示(-aにより、停止中のプロセスも表示)
docker ps 

アジェンダ

今回は、Dockerfileから作るやり方と、DockerHubから使うやり方の2点を紹介します。文法や、複雑なコマンド、使い方はドキュメントを読んだほうがわかりやすいと思います。

Dockerfileから作る

この流れは、Vagrantユーザなら馴染みが深いでしょう。簡単なコードで冪等性を保つことができ、常に同じ環境を作り出すことが出来ます。

まずは、適当なフォルダに以下のコードをDockerfileで保存します。
# CentOSの最新バージョンをベースに作りましょう。別にubuntuでも構いません。
FROM centos:latest

# yumを最新バージョンにし、zshをインストールしましょう。
RUN yum -y update
RUN yum -y install zsh

# sshログインした状態でzshを起動します。
WORKDIR /root
CMD ["/bin/zsh"]
次に実際にDockerを使いましょう。
  • 少し時間はかかりますが、これでDockerfileからコンテナを作り出します(0)。イメージにzsh-only(1)、プロセスには、停止中のプロセス(2)があると思います。
  • ログイン後、一度exitで抜けた後、もう一度起動してみます。
    • まず、イメージからコンテナを起動(3)
    • 次に、その起動コンテナに入ります(4)
    • CONTAINER IDは該当の英数字(ex. 1b81c02c42bd)を入れて下さいね。
  • zshがインストールされていれば完成です。
# イメージ作成(0)
docker build -t zsh-only . 
# イメージを表示(1)
docker images 
# REPOSITORY TAG IMAGE ID CREATED SIZE
# zsh-only latest 3fa1728bc155 4 seconds ago 470.4 MB

# コンテナを起動しログインする(※エラーになった場合Aを)
docker run -it zsh-only 
# ログインしたら一度exitで抜ける

# プロセス(2)
docker ps -a 
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 1b81c02c42bd zsh-only "/bin/zsh" 3 minutes ago Exited (127) About a minute ago happy_mirzakhani

# 該当コンテナを起動(3)
docker start {CONTAINER ID} 
# 起動中コンテナに入る(4)
docker attach {CONTAINER ID} 
Aエラーになった場合

the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty' このようなメッセージはCygwin等の問題であったりするので素直にWindowsユーザはコマンドプロンプトから動作を行いましょう。

DockerHubから使う

  • これは非常に簡単で、コマンド検索可能ですが、DockerHubのサイトからも探すことが出来ます。
    • 例えば、NginxならDocker Pull Commandからdocker pull nginxをコンソールでタイプするだけです。
  • 使い方は起動して、中に入るだけです。
では、実際にやってみましょうか。

試しに作ってみたpython3環境でやってみましょう。少し時間はかかります。

# イメージをpullします
docker pull orgsin/python3:ver1.0.1
# pullしたイメージを表示
docker images 
# REPOSITORY TAG IMAGE ID CREATED SIZE
# orgsin/python3 ver1.0.1 695deda7f666 About an hour ago 1.306 GB

# 起動して中に入る
docker run -it orgsin/python3:ver1.0.1 
# exitして抜けたら、再度起動するやり方はDockerfileからと同じです

# 停止中のコンテナを表示
docker ps -a 
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# d2a68d285f05 orgsin/python3:ver1.0.1 "/bin/zsh" 17 seconds ago Exited (0) 2 seconds ago furious_bassi

# 停止中コンテナを起動
docker start d2a68d285f05 
# 起動中コンテナに入る
docker attach d2a68d285f05 

以上で、Dockerの使い方を終了します。詳しくは、Documentsを参考にして下さい。

免責事項

  • 広告は、「外部広告」や、ヘッダ、あるいはフッタにのみ表示しております。
  • 掲載された情報の内容の正確性については一切保証しません。
  • 当サイトに掲載された情報・資料を利用、使用、ダウンロードするなどの行為に関連して生じたあらゆる損害等についても、理由の如何に関わらず、当サイト管理者は一切責任を負いません。
  • 当記事は、予告なく更新され、削除される可能性があります。

【新MacBook Pro】発売に向けて

MacBookについて

始めまして、風邪を引いています。インフルエンザと風邪に注意しましょう。

私はMacBook Airが初めて発売された頃からの新規MacBookユーザです。もちろんWindowsやLinuxも業務上使用するため使います。 Linuxを軽量PCに乗せれば開発は事足りるというのは理解してますし、やってみました。ただ、Macを使っていないというこの感覚から何かをしていても、いまいち楽しくないんですよね。さらに、iPhoneも4S→5S→6Sと使ってきていて、PCがMacOSでないと色々と不便だったりします。

今回は、10月27日に新MacBook Proが発表されるというニュースからスペックや所感などを今まで自分が所持したハードと比較してまとめてみます。

所持MacPCの偏移

Mac Mini

APPLE Mac mini (2.6GHz Dual Core i5/8GB/1TB/Intel Iris) MGEN2J/A

APPLE Mac mini (2.6GHz Dual Core i5/8GB/1TB/Intel Iris) MGEN2J/A

2012年、発売したMacOSのデスクトップ。ディスプレイが腐る程あったので購入して1台をMac機として使っていました。当然、SSDではないので速度的なIO処理は気になるが、開発という意味で言えば非常に優秀でした。後に購入したMacBook Proとそう変わりないほどのスペックだと感じたし、ディスプレイやキーボード、マウスさえあれば本体は1kg台なので持ち運ぶことは可能です。

MacBook Air

Apple MacBook Air (13.3/1.6GHz Dual Core i5/8GB/128GB/802.11ac/USB3/Thunderbolt2) MMGF2J/A

Apple MacBook Air (13.3/1.6GHz Dual Core i5/8GB/128GB/802.11ac/USB3/Thunderbolt2) MMGF2J/A

2013年、初めて購入したMacBookハード。当時、非常に感動したのを覚えています。今まで僕が所持していたPCに比べ、考えられないほどクールで、軽量、かつスペックも素晴らしく開発機として十二分の力を発揮できた。元々は、iPhoneアプリを開発するために購入しましたが、結果的には、このハードでAndroid開発も行っていました。

MacBook Pro

2014年、非常にきれいなディスプレイが発売され、僕も購入しました。今までのPCの画面はなんであったのだろう、と衝撃を受けたほどです。開発機としては最高のノートです。しかし、重要がAirの2倍弱というところで持ち運ぶのが途中で嫌になり部屋のデスクトップと化しました。スペックとしては非常に優秀で、マルチディスプレイにして別の画面でAmazonプライムの映画を見ながら、IntelliJ, PyCharm, Android Studio, Chrome, Slack, Vagrantなどを起動してもびくともしません。

MacBook

2015年、新しいMacBookが出ると話題になりました。さらに今までは違ったキーボード搭載ということで私も購入してみました。開発機としては少し心もとないですが、一般的な作業は問題なく行えますし、何より軽い。MacBook Pro2kgを使っていた自分にとってはこの項目が非常に魅力的に移りました。とは言え、IDEを並行して起動しながら動画閲覧は厳しいところですし、Chromeを使うこともつらい状況にあったりします。少しでも動作を快適にするためにMacBookでは、主にFirefoxを使うようにしています。

MacBook Pro or Air or ???

2016年秋です。ついに期待のMacBookが発売します。ProなのかAirなのか購入するハードは不明ですが、今のところ軽量とスペックが見合ったものを購入する予定でいます。理想では、MacBookの軽さで、Proのスペックです。これがあれば、もうどこにでもいけます。開発をするときにも問題はないでしょう。

www.apple.com

スペック

色を濃くしたところが希望です。予想価格は18〜25万ぐらいでしょうか。

パーツ Mini Air Pro 無印 新(期待)
CPU Core i7 Core i5 4250U Core i7 Core M Core i7
メモリ 16GB 4GB 16GB 8GB 16GB
SSD 1TB(HDD) 128GB 256GB 256GB 256GB
ディスプレイ x 11.6インチ 15.4インチ Retina 12インチ Retina 12インチ Retina
バッテリ x 最長9時間 最長8時間 最長9時間 最長9時間
重量 1.22kg 1.08kg 2.02kg 0.92kg 0.92kg
発売 2012年10月24日 2013年6月11日 2014年7月29日 2015年4月10日 2016年10月27日以降
値段 約8万 約8万 約23万 約17万 18〜25万

参照

ニューラルネットワーク【1】パーセプトロンについて

ニューラルネットワーク

  • この記事を読まれた方がdeep learningに興味を持ってくださることを期待して書きました。ご質問は時間のある時に私の分かる範囲でお答えします。
  • 時間がある時に、今後数回に渡って同じような記事を書きます。今回は「【1】パーセプトロンについて」です。
  • Oreillyの「ゼロから作るDeep Learning」を読みました。問題があれば教えてください。該当箇所を削除・変更致します。
  • なお、まとめではありません。自分の解釈が入っています。詳しくは専門家に聞いて下さい。

what

  • 神経回路網
  • ニューラルネットワーク
  • neural network
  • NN
  • 脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデル

パーセプトロン

  • 人工ニューロンやニューラルネットワークの一種
  • 視覚と脳の機能をモデル化したもの
  • パターン認識を行う
  • シンプルなネットワークでありながら学習能力を持つ
  • 単純パーセプトロン
    • 入力層と出力層のみの2層からなる
    • 線形非分離な問題を解けない
    • サンプルコードのl.4〜l.6のAND,NAND,ORのそれぞれを表す
  • 多層パーセプトロン
    • 線型分離不可能な問題が解ける
    • 単純パーセプトロンの限界を克服
    • l.7のXORは、and(nand,or)の単層ゲートのミックスでできていることから多層となる
  • ニューロンから別のニューロンへ渡される電気信号時の重みとバイアスを設定する
{
y=\left\{
\begin{aligned}
{0 \ni (w^1x^1+w^2x^2)}\leqq\theta \\
{1 \ni (w^1x^1+w^2x^2)}>\theta
\end{aligned}
\right\}
}
  • θ以下なら0とし、θよりも大きいなら1とするパーセプトロン
  • 簡単に活性化関数をプログラムにしてみた
  • wはウェイツで、θはバイアス
    • バイアスは、ニューロンの発火しやすさをコントロールできる

ニューラルネットワーク

  • 今回恣意的にこちらで設定したl.4〜l.6のnp.array([0.5, 0.5])などのウェイツをデータから自動的に決めること

免責事項

  • 当記事「ニューラルネットワークについて」内について(orgsin.com)が故意的にアフィリエイトのリンクを貼ることはありません。
  • 広告は、「外部広告」や、ヘッダ、あるいはフッタにのみ表示しております。
  • 掲載された情報の内容の正確性については一切保証しません。
  • 当サイトに掲載された情報・資料を利用、使用、ダウンロードするなどの行為に関連して生じたあらゆる損害等についても、理由の如何に関わらず、当サイト管理者は一切責任を負いません。
  • 当記事は、予告なく更新され、削除される可能性があります。

参考資料

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

Spring Boot 1.4.0 正式版リリース・変更早見表

f:id:sinsinchang:20160807221840p:plain

参考書

Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発

Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発

先週末

Spring Boot 1.4.0のGAが正式になりました.それの変更点をまとめておく.

Spring Boot 1.4.0 変更点

変更点をざっと確認し,修正事項があればすぐ見えるようにしておく

サードパーティライブラリのアプグレ

  • Jetty 9.3
  • Tomcat 8.5
  • Jersey 2.23
  • Hibernate 5.0
  • Jackson 2.7
  • Solr 5.5
  • Spring Data Hopper
  • Spring Session 1.2
  • Hazelcast 3.6
  • Artemis 1.3
  • Ehcache 3.1
  • Elasticsearch 2.3
  • Spring REST Docs 1.1
  • Spring AMQP 1.6
  • Spring Integration 4.3.

DataSourcePropertiesのメソッド名変更

対応する

getDriverClassName() → determineDriverClassName()
getUrl() → determineUrl()
getUsername() → determineUsername()
getPassword() → determineUsername()

非推奨で削除

  • Velocity(Spring Framework 4.3.系で廃止された)
  • UndertowEmbeddedServletContainerクラスのコンストラクタ(多くの人は影響受けないが)
  • @ConfigurationProperties(直接環境変数を見に行くので)
  • org.springframework.boot.testパッケージ全部
  • PropertiesConfigurationFactory.setProperties(Properties)
  • org.springframework.boot.context.webパッケージ全部

推奨へ変更

修正前 修正後
SpringApplication.printBanner Banner interface
InfoEndpoint.getAdditionalInfo InfoContributor interface
ImportAutoConfiguration org.springframework.boot.autoconfigure
embeddedで非推奨のもの org.springframework.boot.web.servlet
spring-boot-starter-wsスターター(build.gradle) spring-boot-starter-web-services
spring-boot-starter-redisスターター(build.gradle) spring-boot-starter-data-redis
spring-boot-starter-hornetqとauto-configuration spring-boot-starter-artemis
management.security.role management.security.roles
orm.jpa.EntityScan autoconfigure.domain.EntityScan
TomcatEmbeddedServletContainerFactory.getValves() getContextValves()
EmbeddedServerPortFileWriter(actuate/system) EmbeddedServerPortFileWriter(system)
ApplicationPidFileWriter(actuate/system) ApplicationPidFileWriter(system)

プロパティ名変更

対応する

  • spring.jackson.serialization-inclusion→spring.jackson.default-property-inclusion.
  • spring.activemq.pooled→spring.activemq.pool.enabled.
  • spring.jpa.hibernate.naming-strategy→spring.jpa.hibernate.naming.strategy.
  • server.tomcat.max-http-header-size→server.max-http-header-size.

Link

【AWS】2段階認証(Multi-Factor Authentication機能/MFA)・別デバイスで入るやり方

参考書

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

  • 作者: 舘岡守,今井智明,永淵恭子,間瀬哲也,三浦悟,柳瀬任章
  • 出版社/メーカー: 技術評論社
  • 発売日: 2015/11/10
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

環境

 今回はiPhoneで2段階認証をし、WindowsMacの両方でログインしようとした形になります。

  • iPhone 6s(7が出たらまたすぐ認証をする予定)
  • Windows 10 Pro
  • Mac OS X El Capitan

ログインしたいPCが増えた時

1. 以下URLに入る

https://【AWS-account-ID-or-alias】.signin.aws.amazon.com/console

特に【AWS-account-ID-or-alias】の部分は、IAMユーザのIDに入れ替えてください。
*間違えてAWSのアカウントログインから入っても絶対に入れないので注意

docs.aws.amazon.com

2. 登録済2段階認証用のデバイスから以下のアプリを起動

 おそらくiPhoneの場合、こちらのアプリで登録してるはず。かつその時に使ったバーコードが残っているはず。残っていなかったら、2段階認証が外れていますので、再度AWSのコンソールから2段階認証登録をしましょう。

Google Authenticator

Google Authenticator

  • Google, Inc.
  • ユーティリティ
  • 無料

3. 先ほどのURLでID/Passwordを入れログイン

 ここで先ほど開いたアプリの認証システムから提示された6桁の番号を入力・送信します。時間制限がありますが、次の番号に切り替わったらその番号を入力すればいいだけですね。

f:id:sinsinchang:20160726010205p:plain

4. AWSのアカウントコンソールへログイン

 成功すればOKです。失敗した場合は2段階認証用のデバイスの登録が失敗しているか、あるいは別のデバイスなのかもしれません。

どうしてもわからないとき

 以下のContact usからMy device appears to be working, but I am unable to sign in or re-sync itなどを選んで送信しましょう。時間帯によりますが、深夜ですと数分でかかってきます。英語なのでそこは頑張りましょう。

aws.amazon.com

最後に

 セキュリティを高め認証しづらくすればその分自分たちの認証作業も増えますので、そのあたりをうまくルール付けし慌てないようにしたいですね。とはいえ、2段階認証するということは、使ってほしい人を制限するという意味ですので公開範囲が難しいところですね。