AWS AMI

最近、MAC用のSSHクライアントを探しています。
iTerm2でやっていますが、
WindowsSSHクライアントはログの設定保存でホスト名でログファイルを作成できますが、
iTerm2は元々SSHクライアントツールじゃないところもあり、
ログは都度Startさせなきゃ開始してくれないし、
ファイル名も都度指定しなきゃいけないし、で正直めんどい。

はい、本題です。
前回はRDSを使ってWeb-AP-DB構成を作りました。
本日はWebAPサーバ(EC2インスタンス)をAMIのImage化し、
異なるEC2インスタンスとして生成します。

EC2でWebAP構築
 ↓
RDSでWebAP-DB構築
 ↓

AMIでEC2のイメージ化、複製(今回はここ)

 ↓
ELBで冗長化
 ↓
ElastiCacheでセッション管理
 ↓
S3にアクセスログ保存
 ↓
(できれば)SQSでWebAP連携

AMI (Amazon Machine Image)

AMIはテンプレートです。
EBSディスクのコピーです。
AMIは単体では何もできず、
AMIからEC2インスタンスを作成して複製したり、
AMIを他リージョンにコピーしてDR構成を取ることが可能です。

AMIは不変なデータであるため、
バックアップとしても利用可能です。

それでは作成します。

  1. EC2画面へ遷移
    AWSのメニューからEC2を選択

  2. AMI作成
    対象となるEC2インスタンスを選択して、
    [Actions] -> [Image] -> [Create Image]を選択します。

  3. 設定値入力
    Image name -> イメージ名
    Image description -> 説明

    [Create Image]ボタンを押せば、作成が開始されます。

    AMI一覧ページを表示するとpenddingステータスのAMIを確認することができます。

次は作成したAMIからEC2インスタンスを作成します。

  1. AMI画面へ遷移
    AWSのメニューからEC2を選択
    左のメニューからAMIsを選択

  2. EC2インスタンス作成
    作成したAMIを選択して、
    [Actions] -> [Launch]を選択します。
    それ以降はEC2インスタンス作成と同じです。

    EC2インスタンス一覧を確認すると、
    作成したAMIのIDと同じAMI IDのEC2インスタンスが作成されていることを確認できます。

それでは確認です。

# curl http://<EC2 Instance Public DNS>/django/list/
Hello, fuji

アクセスできました。
今回はボリューム少な目でしたね。。

次回はELBを作成してアクセスが分散されることを確認します。