AWSソリューションアーキテクトへの道　-AmazonEC2のポイントまとめ-

## AmazonEC2
AmazonEC2は仮想サーバー。EC2インスタンスと呼ぶ。


## Region
EC2インスタンスの配置場所でRegionというものがある。
・アメリカ東
・アメリカ西
・ヨーロッパ
・シンガポール
・サンパウロ
・シドニー
・東京
などなど


## AvailabilityZone（以下、AZ）
・Regionはそれぞれいくつかの場所にわかれている。
・AZはそれぞれ電力、ネットワーク設備などが分かれており、物理的にも距離が離れているので
　異なるAZを併用することで災害対策になる。


## Resionの選び方
ポイントは2つ
・AZによってネットワークのレイテンシー（遅延）が異なる
・AZによって価格が異なる
　　日本からアクセスするサーバーなら東京Regionが近く、レイテンシーが少ないが価格が高い。
　　レイテンシーと価格の兼ね合いで決める。


## AZの選び方
・1つしかEC2インスタンスをたてないならどこでも同じ。
・複数のEC2インスタンスをたてるなら異なるAZ間に配置するのが推奨。耐障害性が高められる。
　異なるAZ間は専用線で繋がってるのでNW速度はほとんど問題にならない。


## スペックの選択
・スペックは後から変更できるので、まずは最少スペックにしておき、後々必要になったらスケールアップさせていくのがベター
・スペックの変更にはEC2インスタンスを一時停止する必要あり。稼働中は変更不可。


## Elastic Block Store（以下、EBS）
・EC2インスタンスではEBS（Elastic Block Store）というディスクが使用される。
・EC2インスタンスを作成するときに1台目の起動ディスク（EBS）も作成する
・EBSはその瞬間のスナップショットを保存できる。バックアップ簡単。
・ディスク容量の変更可能。
・GB単位での従量課金。
・EC2インスタンスが起動していなくても、EBSを作成した時点で作成した容量に対して課金される。
　（実際に保存されているデータ量は関係ない）
　　⇒EC2インスタンス停止しておけばOKと思ってたらいつの間にか課金発生してた経験ありw。要注意。


## Amazon Machine Image(以下、AMI)
・EC2インスタンスを作成する際のイメージのことをAMI。
・色んなOSが選択できる。AmazonLinux、RedhatLinux、Ubuntu、Windows2008、2012、などなど。
・イメージを自分で作成可能。
・AMIを指定して起動したEC2インスタンスにはすでにOSインストール済み、ユーザーも作成済み、サービスも起動済み。手間いらず。
・AMIはISOイメージとは異なるもの。標準以外のOSを使いたい場合、サーバーを構築して必要な設定をいれたのちにEC2向けに
　ディスク全体のイメージを作成する必要がある。


## 割り当てられるIPアドレス
割り当てられるIPアドレスは2つ。
・Public DNS と Public IPs
　　インターネットから接続可能なIPアドレス。SSH接続してEC2インスタンス操作できる。
・Private DNS と Private IPs
　　同一Regionないでの通信に使うIPアドレス。プライベート。インターネットからの接続不可。異なるRegion間の通信も不可。


## EC2インスタンスの操作
・起動（start）
・停止（stop）
・再起動（reboot）
・終了（terminate）

Terminateを実行すると、EC2インスタンスは破棄されデータは失われます。要注意。
間違ってTerminateしない為の「Terminate Protection」という機能あり。これを有効にするとTerminateできない。


## AWSアカウントの作成
・クレジットカード必要。
・承認の電話かかってくる。


## EC2インスタンスの起動
・Amazon Management Consoleという管理画面から操作する。
・EC2インスタンス作成の際に決めること。
　　①Region
　　②インスタンスタイプ

インスタンスタイプは仮想サーバーのスペック。EC2 Compute Unit（以下、ECU）という独自指標で示される。
インスタンスタイプの種類は以下。

　・マイクロインスタンス
　　　最も小さなインスタンス。ローカルインスタンスストアを持たない。
　・スタンダードインスタンス
　　　CPUとメモリのバランスのとれた標準的なインスタンス。
　・ハイメモリインスタンス
　　　CPU性能よりもメモリ性能を重視したインスタンス。
　・ハイCPUインスタンス
　　　メモリ性能よりもCPU性能を重視したインスタンス。
　・クラスタコンピュートインスタンス
　　　クラスタ向けインスタンス。10Gビットイーサネット搭載。
　・クタスタGPUインスタンス
　　　GPU搭載インスタンス。グラフィック強化。
　・ハイI/Oインスタンス
　　　SSDベースのストレージで構成されたインスタンス。高速I/Oを実現。

・AWS新規利用者は1年間マイクロインスタンスを月/750時間無料で利用可能。
・マイクロインスタンスは他のインスタンスと違い。最大2ECUまでバーストする性質がある。これは普段はあまり利用していないけど
　定期的に負荷が上がる場面に適している。
・ローカルインスタンスストアはEC2インスタンス内部に設置された揮発性のストレージ。EBSより高速にアクセス可能。
　インスタンスを停止するとデータは失われる。アプリケーションでキャッシュとしての利用がベター。


## EC2インスタンス起動時のウィザード選択
・Classic Wizard
　　古いタイプのウィザード。Quick Launch Wizardより細かく設定できる。
・Quick Launch Wizard
　　推奨設定が適用され素早くインスタンス起動が可能。
・AWS MarketPlace
　　AWS MarketPlaceで購入したAMIで起動。


## 高度な設定
・Launch as an EBS-Optimized instanceオプション
　　EBSへのネットワークアクセス高速化。別途料金が発生。
・VPCとして起動
　　AmazonVPCとして起動可能。
・スポットインスタンスを要求
　　需要と供給に応じて変動するスポット価格でEC2インスタンスを運用。


## ストレージデバイス
・デフォルトではrootデバイスとして8GB割り当て。
・ストレージは追加可能。
・Provisioned IOPS ボリュームを設定可能。
　　Provisioned IOPS ボリュームは、1秒間のI/Oアクセス数を明示的に指定できる機能。1IOPS単位の従量課金制。
　　一般的な7200RPMだと、75～100程度。15000RPMだと、175～210程度。最大2000IOPSまで指定可能。
　　デフォルトは100IOPS程度のベストエフォート。負荷がかかると数百IOPSまで一時的にバースト。


## セキュリティグループ
　各インスタンスに設置されるインバウンドのファイアウォール。
　TCP/IPポート番号やIPアドレスに対してどの通信を許可するか設定可能。
　セキュリティグループで許可しないといかなる通信もEC2インスタンスには届かない。
　EC2インスタンスを起動してから後から異なるセキュリティグループに属させることはできない。
　但し、起動時に設定していたセキュリティグループの設定を変更することは可能。


## Elastic IP Address
・固定IPアドレスを割り当てれれる。デフォルト設定だと動的なIPアドレスが割り当てれれる。
・1つのEC2インスタンスに対して1つのElastic IPが無料で利用可能。但し、Elastic IPだけ取得してインスタンスに
　結びつけていない場合や、Elastic IPを割り当ててるインスタンスが停止している場合はElastic IP Addressに対して料金が発生する。
・固定IPは最大5個まで取得可能。別途申請することでそれ以上のIPが使用可能。
・Elastic IPを紐づけられるのは起動しているインスタンスのみ。


　　

★参考資料：「Amazon Web Services クラウドデザインパターン実装ガイド」