AWS EC2インスタンス作成手順(CentOS 6)

■はじめに
===

AWS EC2インスタンスで、CentOS 6.5(x86_64)のEC2インスタンスを作成する手順になります。

■EC2インスタンス作成時に使用したAMI
===

2015年1月18日時点では、以下のAMIを指定してEC2インスタンスを作成すると、CentOS 6.5がインストールされます。

・CentOS 6 (x86_64) - with Updates

EC2インスタンス作成後にrootユーザでログインして、yum updateを実行すると、CentOS 6.6へ更新可能です。

■参考サイト
===

以下のサイトを参考にさせて頂きました。

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/launching-instance.html
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-launch-instance_linux.html

■EC2インスタンス作成手順
===

・AWS Management Consoleにログインします。

EC2インスタンスを作成したいAWSアカウントに対して、EC2インスタンス作成権限を持ったユーザでログインします。

https://********.signin.aws.amazon.com/console

・「EC2」をクリックします。

![WS000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/4603dba7-22d6-227c-d010-662191b2bcb9.jpeg)

・「Instances」->「Launch Instance」をクリックします。

![WS000001.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/4cd7a03a-312d-c5ff-f2c5-a8f3cd8ec155.jpeg)

・「Step 1: Choose an Amazon Machine Image (AMI)」で「AWS Marketplace」をクリックします。

キーワードに「CentOS」と入力してEnterキーを押下します。

以下のようにCentOS系のAMIが表示されますので、「CentOS 6 (x86_64) - with Updates」を選択して「Select」をクリックします。

![WS000002.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/edc6dc1b-06ce-b582-90ce-f55e970a2b37.jpeg)

以下のように選択したAMIの利用費用等が表示されますので「Continue」をクリックします。

![WS000003.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/bc7ca060-92b1-e92e-fe40-11101df8c4fa.jpeg)

・「Step 2: Choose an Instance Type」でEC2インスタンスタイプを選択します。

今回の例では「t1.micro」を選択して「Next: Configure Instance Details」をクリックします。

![WS000004.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/c68445e3-9a61-ff0f-3924-434dce9cc7dc.jpeg)

・「Step 3: Configure Instance Details」でEC2インスタンスをどのVPCやサブネットに作成するか等の設定を指定します。

今回の例では以下のように指定します。

![WS000005.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/505e7de1-2e74-363f-cdcb-002fd5088254.jpeg)

![WS000006_02.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/87deb46e-0cc1-079c-9282-c6d34f2e4aab.jpeg)

「Next: Add Storage」をクリックします。

「Step 3: Configure Instance Details」の各項目については以下をご参照下さい。

|No |項目名               |概要                                |
|:--|:-------------------|:-----------------------------------|
|1  |Number of instances |作成するEC2インスタンス数を指定します。|
|2  |Purchasing option   |スポットインスタンスを利用するか指定します。|
|3  |Network             |EC2インスタンスを作成するVPCを指定します。|
|4  |Subnet              |VPC内のどのサブネットにEC2インスタンスを作成するか指定します。|
|5  |Auto-assign Public IP|EC2インスタンスがPublic IPアドレスを受け付けるかどうかを指定します。EC2インスタンス作成時にPublic IPアドレスを付与するか指定します。|
|6  |IAM role|EC2インスタンスに紐付けるIAMロールを指定します。|
|7  |Shutdown behavior|EC2インスタンスのOSをシャットダウンをした時、EC2インスタンスをどうするかを指定します。「stop」を選択した場合はインスタンスを停止し、「terminate」を選択した場合はインスタンスを削除します。|
|8  |Enable termination protection|EC2インスタンスをターミネートする時にプロテクトをかけるか否かを指定します。本項目にチェックをつけると、EC2インスタンスをターミネートする操作を実行できないよう制限出来ます。なお、EC2インスタンス作成後にEC2インスタンスのターミネートを許可するよう変更する事は可能です。|
|9  |Monitoring|AWS CloudWatchによるEC2インスタンスの稼働状況等の詳細な監視を利用するか否かを指定出来るようです。本項目にチェックをつけると、詳細な監視を利用出来るようですが、追加費用が発生するようです。|
|10 |Tenancy|EC2インスタンスは仮想マシンとして仮想サーバ上で稼動しているようで、通常は仮想サーバ上に複数のEC2インスタンスが稼動しているようです。つまり複数のEC2インスタンスで仮想サーバのリソースを共有する形になります。本項目にチェックをつけると、専用サーバ上でEC2インスタンスを稼働させる事が出来る有料オプションのようです。|
|11 |Network interfaces |EC2インスタンスのネットワークインターフェースに設定するPrivate IPアドレスを指定します。デフォルトでは「Auto-assign」となっており、DHCPにより自動的に空きIPアドレスがEC2インスタンスに付与されます。|
|12 |Kernel ID (Advanced Details) |公式ドキュメントを見ると、(準仮想化(PV)AMI でのみ有効)特定のカーネルを使用する場合を除き、[Use default] を選択します。|
|13 |RAM disk ID (Advanced Details) |公式ドキュメントを見ると、準仮想化(PV)AMI でのみ有効)特定の RAM ディスクを使用する場合を除き、[Use default] を選択します。|
|14 |User data (Advanced Details) |EC2インスタンス起動時にユーザーデータ、またはスクリプトを実行させたい場合に指定します。|

・「Step 4: Add Storage」でEC2インスタンスのディスクタイプを指定します。

今回の例ではデフォルトの設定、「Size」は「8GB」、「Volume Type」は「General Purpose(SSD)」を選択します。

「Next: Tag Instance」をクリックします。

![WS000007.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/0a773ec4-d400-9751-208c-6ede203d4d29.jpeg)

・「Step 5: Tag Instance」でEC2インスタンスに設定したいTagや値を指定します。

今回の例では「Name」タグに作成したいEC2インスタンスの名前を指定します。

「Next: Configure Security Group」をクリックします。

![WS000008.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/cbf2c568-627c-8d6a-a0bb-6381d0ee2fe7.jpeg)

・「Step 6: Configure Security Group」でEC2インスタンスに紐付けるセキュリティグループを指定します。

「Assign a security group」で「Select an existing security group」を選択した場合、作成済みの既存のセキュリティグループを選択出来ます。

「Create a new security group」を選択すると、セキュリティグループを作成してEC2インスタンスに紐付ける事が出来ます。

今回の例では以下のようにします。
自分のマシンからのsshとHTTPのみ接続を許可するセキュリティグループを作成し、EC2インスタンスに紐付けます。

![WS000009.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/9a346317-43b9-5e8e-700e-dade7b63e615.jpeg)

「Review and Launch」をクリックします。

・「Step 7: Review Instance Launch」で「Launch」をクリックして、EC2インスタンス作成を開始します。

![WS000010.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/f3918916-1cbe-3cff-cf0d-45d370bfd1a1.jpeg)

・EC2インスタンスへのsshログイン用のkey pairを指定します(既存のkey pairファイルを指定する場合)。

既存の作成済みのkey pairファイルを使用する場合は「Choose an existing key pair」を選択して、「Select a key pair」で使用するkey pairファイルを選択します。
「I acknowledge that I have access to the selected private key file (aokin-aws-keys.pem), and that without this file, I won't be able to log into my instance.」にチェックをつけて「Launch Instances」をクリックします。

![WS000011.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/b535e11f-de06-cf85-8d02-42ec82adf62f.jpeg)

・EC2インスタンスへのsshログイン用のkey pairを指定します(新規にkey pairファイルを作成する場合)。

新規にkey pairファイルを作成したい場合は「Create a new key pair」を選択して、「Key pair name」で作成するkey pairファイル名を指定します。
「Download key pair」をクリックして、作成したkey pairファイルをダウンロードします。「Launch Instances」をクリックします。

![WS000012.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/b30c1a8c-1acc-ed1d-854f-0fc0b6bd15ce.jpeg)

**(注)
key pairファイルを使用すると、そのEC2インスタンスにsshログインが可能となりますので、ダウンロードしたkey pairファイルは自分しかアクセスできない場所に厳重に保存するのが良いと思います。**

・EC2インスタンス作成が開始されるので、完了まで待ちます。

![WS000013.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/e152da01-dbbe-ceca-8b94-c0579130dd59.jpeg)

・EC2インスタンス作成が完了すると、以下のような画面が表示されます。赤字のインスタンスIDをクリックすると、作成したEC2インスタンスの詳細を確認出来ます。

![WS000014.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/0359dcc6-883c-d92e-fece-4be3cde49c21.jpeg)

・EC2インスタンスのIPアドレスを確認します。

![WS000014_02.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/ae544081-ed04-2f66-e067-b4453fe8e4dc.jpeg)

■作成したEC2インスタンスへのsshログイン
===

・作成したEC2インスタンスに対して、sshでログインします。以下はTera Termによるsshログイン例になります。

先ほど作成したEC2インスタンスのIPアドレスを指定して「OK」をクリックします。

![WS000015.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/8cf07cb9-3429-0c2c-5282-861cbe26c91a.jpeg)

初回ログイン時に以下が表示されるので、IPアドレスを確認の上で「続行」をクリックします。

![WS000017.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/13da0cc6-e984-99e0-85dc-75c0cb2c7f8d.jpeg)

・CentOSのAMIでEC2インスタンスを作成した場合、ユーザ名は「root」と入力します。

「RSA/DSA鍵を使う」->「秘密鍵」をクリックします。

![WS000018.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/b12c733e-2baa-e2b3-5583-d97ab18fc053.jpeg)

・今回の例ではEC2インスタンス作成時に「Create a new key pair」でダウンロードしたkey pairファイルを選択して「開く」をクリックします。

![WS000019.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/2dbb33ad-7575-c865-59e8-566f6ba5def5.jpeg)

・「秘密鍵」にkey pairファイルが選択されているのを確認して「OK」をクリックします。

![WS000020.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/a82c4979-86d7-a9e6-543a-a13ca28aaff6.jpeg)

・作成したEC2インスタンスにsshログイン出来る事を確認します。

![WS000021.JPG](https://qiita-image-store.s3.amazonaws.com/0/63647/34465c85-d554-6b15-749c-d2e026d4f34a.jpeg)

sshログインしたら、yum updateでカーネルやパッケージを更新しておくとセキュリティ的に良いかと思います。
yum updateを実行する場合、CentOS 6.5から6.6へ更新されます(2015年1月18日時点)。

```
# cat /etc/redhat-release
CentOS release 6.5 (Final)
# yum update
# reboot
```

```
# cat /etc/redhat-release
CentOS release 6.6 (Final)
#
```

長くなりましたが、以上になります。