AWSをいじり倒す(2.EC2)
引き続きこれを参考にしながら作っていく
早速インスタンスの作成
1行目のとの違いはサポートの有無?いらんがな。
今回マシンスペックはどうでもいいのでt2.microをば。
ざっくり、マシンスペックが欲しければコンピューティングの最適化、
解析とか並列処理が必要ならGPUインスタンスを選べば良いみたい。
名前のポリシーはこんな感じ(black beltより)
「EBS最適化利用」は対策本でキーワードとしてよく聞くけど、どうやらそこそこスペック以上のマシンには全部有効になってるので実運用上はさして気にしなくてもよさげ
詳細設定をしていく。
よくばって3個つくったれ!と思ったらAutoScailingしろよって言われた。
これやりだしたら何だか設定が大変そうだったのでいったんスルーして1台構成に
(AutoScalingは後でやる)
スポットインスタンスも、無料枠使うので今回はいらないのだが、チェック入れたら色々出てきたのでみてみる
最高価格=俺が払うぜって値段を入れるところ
永続的リクエスト=期限切れたら通知が来る
作成グループと有効期限開始は2020/3末にここから設定できなくしますだと(もう4月だけど)
ネットワーク設定。VPC(test)でサブネット(test-A)を指定。
パブリックIPを有効に。これで前回のIGW経由で通信できるのね。
プレイスメントグループなるものの設定。これは対策本にはなかった気がする
プレイスメントグループ - Amazon Elastic Compute Cloud
これによると、物理的な場所を指定することで
インスタンス間の通信効率をアップさせたり
逆にあえて厳密に分散させることができるらしい
今回インスタンス1個なので意味はないけどとりあえず分散にしておく。
キャパシティーの予約
EC2 Capacity Reservation 「Open」と「None」の違い - Qiita
実際にEC2自体は各AZ毎に在庫を持っていますが、東京リージョンでは結構在庫切れに遭遇する事がありました。
特にM4→M5過渡期とか、ap-northeast-1d追加時の別AZとかで顕著だった記憶があります。
だと。へぇ〜・・・要らんな。
IAMロールはまだ何もつくってないのでなし。必要になったら付与する
次、シャットダウン動作とか細かそうなところ
CloudWatchってここで有効化できるのか。
後々やろうと思ってはいるけど、取り掛かるのはまだ先なのでいったんなし
テナンシーで共有ハードか専用ハードか選べる。
共有選んだとして、他人の使い方で自分が被害被ることなんてあるのかな。
Elastic Interface アクセラレータは、お安くハード処理を増強してくれるようだ。
よくある質問 - Amazon Elastic Inference | AWS
Amazon Elastic Inference で有効になっている TensorFlow Serving や Apache MXNet、PyTorch のようなディープラーニングツールやフレームワークでは、モデル計算を自動的に検出し、アタッチされたアクセラレーターにオフロードできます。
これは地味に優秀な気が。対応してたらGPUインスタンスは選ばなくてもいいのかも
T2/T3無制限はCPUのバースト回数を無制限にできる項目
[新機能] Amazon EC2の「T2」ファミリーでT2 無制限(Unlimited)がリリースされました #reinvent | Developers.IO
大変な処理にそもそもt2使うなよって感じだが、一時的だけどその一時が長いみたいな特殊な状況だと安くなることもあるということなんだろう
EFSここで設定するのか!!
しかしセキュリティグループもいじらなきゃならず大変そうなのでこれも後でやる
ネットワークインターフェイス
2個目を軽い気持ちで作ろうとするとめっちゃ怒られる。
パブリックIPはNICが1つじゃないとダメらしい・・・。貴重なパブリックIPを2個も3個も無料で使うんじゃないという意味か?
ElasticIPを使えばNIC2枚でもいけたはず。
高度な設定
まだ私が低度なのでここはスルー
ストレージの追加へ
基本いじるところはない、が
これは本に書いてあった。読み書きが激しい時はio1を選べと。
2台目からはHDDも選択肢に出てきた。
st1は大容量のデータを読み書きしたいとき。sc1は安い。
マグネティックは誰も使うことを推奨していない(メニューから消していいのでは)
というわけで無駄に2台目を増やした。無駄なので終了時に削除にチェックもいれた。
タグの追加
わかりやすくするためだけの印。
キーと値の違いがわからんので適当につけた(後でわかる)
セキュリティグループ
インバウンド方向の設定のようだ
自宅のIP調べるのめんどいなぁと思ったら、マイIPにすると自動で調べてくれた。便利!
参考にしているサイトでは、後々の構成でELB経由でアクセスすることになるらしいので、HTTP/HTTPSはVPCでつくったローカルネットワークも指定(4行目、5行目)
最後の確認
無料ちゃうぞ、とかIPおっぴろげすぎやろ、とか怒られている
うるせー起動じゃ起動!
キーペアを指定しろ、とポップアップが出てくる。
インスタンスへはこのキーペアを使って認証し、アクセスすることになる。
testでつくってダウンロードしておく。
できた。
個人的に、Nameには速攻で何か入れといた方がいいと思う
って、いれたらタグのところがこうなった。あー!キーとはそういうことか。
次回からはちゃんとキーにNameを指定しよう。
接続確認
今回割り当てられた パブリックIPはこれ。
さっそく手元のPCからpingをうってみる
届かない・・・。
たぶんセキュリティグループの追加設定が必要。
セキュリティグループの管理から
カスタムICMP-IPv4のエコー要求を、マイIPで許可
通った。
しかし、リージョンをオハイオでテストしてるせいか、めちゃくちゃRTTに時間かかるなぁ
次はSSHで接続。
ssh ec2-user@{確認したPublic IP} -i {秘密鍵保存ディレクトリ}/test.pem
どちゃくそ怒られた。
お前の鍵openすぎるだろ、と。
前繋いだ時はこんなの言われなかった気がするんだけどなぁ
インスタンスへの接続に関するトラブルシューティング - Amazon Elastic Compute Cloud
のUnprotected Private Key Fileの項目が該当だろう。
chmodで権限を変更してリトライ。
うまくいった。
ELBを使うときにHTTPがいるらしいので、nginxをインストール
sudo yum install -y nginx
sudo /etc/init.d/nginx start
sudo chkconfig nginx on
ブラウザにさっきのパブリックIPをいれてみると・・・
うまく動いている。よしよし
進捗