- 追加された行はこの色です。
- 削除された行はこの色です。
#contents
*EC2 概要 [#qd362611]
サーバーインスタンスだが、他のサービスもEC2ベースとしており、AWSの基本中の基本サービス。
**EC2 ライフサイクル [#j3d29ec5]
起動、停止、terminateは削除なので間違わないように
*EBS [#ye41fadf]
Elastic Block Storeの略。スナップショット機能など多彩な機能がある。通常インスタンスストレージは停止したら消えるのであまり使わずEBSがEC2のメインストレージとなるだろう。EBSは同一AZでのインスタンスにしかアタッチできない。スナップショットから別AZへコピーできる
**EBSの種類 [#q5651211]
GP2は容量を増やすとパフォーマンスが伸びる。Provisioned IOPSは自分でパフォーマンスを指定できるが、増やしすぎると値段が上がるので注意。
*AMI [#e386e448]
マシンのOSイメージのこと。マイクロインスタンスであれば、RHELもWindowsも無料の枠内に収まるとのこと。「free tier eligible」とあればマイクロインスタンスとの組み合わせで無料。自分でAMIを作ることが可能で、実用上は公式提供のAMIをカスタマイズして自分のシステムのベースを作る。仮想マシンの方式がhvmとparavirtualがあるが、今後の主流はhvmであるのでhvmベースで作成すべし!
*EC2初期設定 [#r784a890]
**Cloudinit [#w44c5a7f]
起動時に設定などを実施できるcloud-init(yml)かシェルスクリプトを設定できる。APIからも設定可能。
*EC2インスタンスの作成からログインまで [#c821f1f7]
無料枠を超えないようにインスタンスはT2.micro、その他はデフォルトで進める。秘密鍵のペアはpemファイルとなるが、puttygenでインポートしてからputty形式のファイルにして、ec2-userでログイン成功
**インスタンスの作成手順詳細 [#nb48d03b]
+AMIを選ぶ
+6. Configure Security GroupでSGを指定する
**インスタンスタイプ [#h1acbc5e]
|名称|備考|
|t1,t2|CPUがバースト可能。しかし低コストなので常時CPUが必要ならC1,C2を|
|c1,c2|CPUに重点を置いたタイプ。|
|r3|データベース向け|
**Elastic IP [#j220cd0e]
静的なIPでインスタンスにひもづけることができる。起動していないインスタンスにEIPを確保しておくと課金対象。ここを見るとPrivate IPとの紐づけも見られる。
一応使わないでも再起動しなければ起動時に動的に割り当てられたpublic IPでアクセスできる。PublicIPの自動割り当て機能は起動時のみ利用出来る為、起動後に付与したくなった場合にはEIPを利用する必要がある。
*ELB [#s3dd8aa7]
Elastic Load Balancing。インスタンスを複数ぶら下げて振り分ける。異常からの復帰時はデフォルトだと最低300秒かかるので気長にまつか、設定を変更する。それぞれのAZで等しい台数とスペックをぶら下げるのが基本。
**Internal ELB [#y2f14c2c]
名前解決はpublicなDNSで行うため、利用側にインターネット接続必要。またスケールアップ時にIPが変わるため、直接IPでアクセスしてはいけない。
**ELB負荷対策 [#vc930c5a]
ELBのスケールアップ・スケールアウトはAWS側で勝手にやってくれる。配下でインスタンスが全滅していると勝手に一個になる。復帰すると2個になる。apache benchをやり続けるとそのIPだけタイムアウトになってしまう!なにか見ているのかも?
こちらで負荷監視する項目はCloudWatchから取得できる処理数や処理待ちなどのデータ。
**スティッキーセッション [#p4395bda]
クラウド時代にはあまり好ましくはないが、特定のサーバーに振り分けるスティッキーセッションの設定もできる。ELBの説明欄から維持設定をクリック
**元アクセスのリクエストヘッダ [#e02f337f]
-以下のヘッダーについてくるのでアクセスログのフォーマットを変更する。
HTTP_X_FORWARDED_FOR
HTTP_X_FORWARDED_PORT
HTTP_X_FORWARDED_PROTO
**ELBのサブネット [#g1d8a78c]
所属するサブネットに最低8IPの空きが必要。
*EC2 オートスケール [#j212581c]
負荷状況に合わせて増やしたり、一定数以上の稼働を保証させることができる仕組み。もととなるAMIを使って起動するので、そのAMIを作成しておく。起動設定でアプリのデプロイをしてELBに関連づけ(AutoScaleの設定画面から既存ELBを選択)しておくとよい。
*Security Group [#o2df0a78]
**HTTPの外回りと内回り [#g33f7ada]
同じインスタンスにアクセスする場合PrivateIP指定の場合は内回りとなり、SGのアクセス元としてSGを持っていることが指定できる。Global IPを指定した場合は外回りのアクセスとなり、一般的なIP制限と同じようにIP指定で許可しないとつながらない。
*EC2複製 [#uccfb57c]
**AMIを作成して複製 [#wbef98cb]
固定PrivateIPだと既存EC2消さないとダメ
**EBSボリューム複製して既存インスタンスにアタッチ [#e7ab05dd]
これは複製ではなく障害復旧だな。
**EBSボリュームを複製して手動マウント [#m2a6c4f3]
上記2パターンがうまくいかないときの最終手段。