AWS nginx デフォルトページ出すまで

# AWS nginx のデフォページ表示

## overview

AWS EC2にnginxをインストールしてページ表示までクッソ詰まったので、AWSの勉強として、色々調べてみました。

 ![Ec2.png](https://qiita-image-store.s3.amazonaws.com/0/31394/c762c9fb-3661-9c43-cd29-3c2ea5e92236.png)

### VPC を作成

AWS のリージョン設定を日本に設定します。

<img width="1249" alt="スクリーンショット 2018-04-30 21.29.13.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/85965161-6399-94bd-9cbb-1e5dcf62ba0b.png">

検索ワードからVPCを検索します。

[VPC Amazon](https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Introduction.html)

詳細は上記をみてください。

VPCを選択し、「VPC ウィザードの開始」を選択します。

選択すると、VPCの設定を行います。

<img width="1260" alt="スクリーンショット 2018-04-30 21.38.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/3c1e004d-f54c-dd22-1c2c-73d52909d952.png">

IPv4 CIDR に10.0.0.0/16　が設定されており、パブリックサブネットには10.0.0.0/24が設定されております。

特に何も意識しないのであればこのままで繋がります。

なのでこのまま、「VPCの作成」を押下します。

これでVPCの作成は完了です。

[VPC概要](https://docs.aws.amazon.com/ja_jp/AmazonVPC/latest/UserGuide/VPC_Subnets.html)

![VPC.png](https://qiita-image-store.s3.amazonaws.com/0/31394/03335d6f-728d-bc31-788e-0f2f200b675b.png)

## EC2インスタンスの作成

### Overview 

Amazon EC2 では、異なるユースケースに合わせて最適化されたさまざまなインスタンスタイプが用意されています。インスタンスタイプはさまざまな CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせによって構成されているため、アプリケーションのリソースとして適切な組み合わせを柔軟に選択できます。それぞれのインスタンスタイプには 1 つ以上のインスタンスサイズが含まれているため、対象となるワークロードの要件に応じてリソースをスケールできます。

[AWS EC2 引用](https://aws.amazon.com/jp/ec2/instance-types/)

<img width="1274" alt="スクリーンショット 2018-04-30 22.31.22.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/dcd10529-a3f5-ed4e-97d1-ec34b38378c4.png">

いろんなスペックのサーバーを選択できるというわけです。

今回は下記を選択しました。

「Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-28ddc154」

その後インスタンスのタイプを選択できるようになります。

初期設定で 「次の手順：　インスタンスの詳細の設定」を押下します。

こちらを選択することにより、ネットワークの設定やその他の設定がこのレイヤーでできるので、楽です。


<img width="1268" alt="スクリーンショット 2018-04-30 22.45.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/ba17611f-3043-57f4-3628-bd1f9f17fb8f.png">

上から順に

先ほど作成した VPCを選択します。

パブリックサブネットを選択します。

「有効化」を選択します。

<img width="1254" alt="スクリーンショット 2018-04-30 22.51.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/175a403f-a594-6745-6fb2-7a660a8689e1.png">

プライマリIPに[10.0.0.10]と記述し、「次の手順: ストレージの追加」を押下します。

別途ストレージを追加したい場合は追加します。

私の場合は追加することを念頭に置いてないので、

追加しません。


<img width="1272" alt="スクリーンショット 2018-04-30 22.54.51.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/f8988ea8-7925-4107-a891-ca42b5605f2b.png">

赤枠を押下します。

タグはわかりやすいように名前をつけるだけですので、

キー　-> Web　

値 -> WebServer

とかにしておきました。

「次の手順: セキュリティーグループの設定」を押下します。

セキュリティーグループではHTTP 80番と,SSHの22番を開けておきます。

<img width="1260" alt="スクリーンショット 2018-04-30 23.13.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/114d977d-0c1b-e267-cfb6-6267dbb78b23.png">


SSH　が TCP 22 マイ IP
HTTP が　TCP 80 任意の場所

で作成します。

# Elastic IP

Elastic IPを割り当てます。

<img width="821" alt="スクリーンショット 2018-04-30 23.14.55.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/28efe68c-1745-d05a-b98d-ccd099bd617d.png">

上記赤枠を押下します。


<img width="1264" alt="スクリーンショット 2018-04-30 23.18.00.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/b1bf963c-933c-c87b-3fc1-ac32e384fc95.png">

「新しいアドレスの割り当て」を押下します。

割り当てが成功すると下記画面に切り替わります。

<img width="1113" alt="スクリーンショット 2018-04-30 23.18.41.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/290b876c-717c-e053-04ad-39815d3575ea.png">


割り当てられたIPアドレスの一覧ページで、

<img width="1261" alt="スクリーンショット 2018-04-30 23.19.40.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/3254f11f-4361-868d-bfd4-60208d7460c9.png">

赤枠内の割り当てられた、IPアドレスを右クリックします。

「アドレスの関連付け」を選択し、アドレスを関連付けます。

<img width="1257" alt="スクリーンショット 2018-04-30 23.21.47.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/2f3488ba-1a7c-0df6-a463-8573b0e04880.png">

インスタンス項目で先ほど作成したインスタンスを選択します。
その後プライベートIPを10.0.0.10で設定します。

これで関連付けができます。



<img width="1255" alt="スクリーンショット 2018-04-30 23.22.16.png" src="https://qiita-image-store.s3.amazonaws.com/0/31394/3709b1d0-661c-6a30-319a-19427baa195f.png">


関連付けが成功すると、上記画像のインスタンス項目に関連付けたインスタンスが表示されてます。

## SSH　で接続

```bash
chmod 0400 test.pem
ssh -i ./test.pem ec2-user@13.230.146.205
```

インスタンス作成時に作成した証明書の権限を400にし、
ssh で接続します。

```bash

The authenticity of host '13.230.146.205 (13.230.146.205)' can't be established.
ECDSA key fingerprint is SHA256:VPQU3KQHRcU2aWl1UyFt7cFSuvU1UZZfaeFRKcZw9WU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '13.230.146.205' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|
```
接続するとこんな感じです。

```bash
[ec2-user@ip-10-0-0-10 ~]$ sudo yum update -y
[ec2-user@ip-172-29-0-10 ~]$ sudo -s
[root@ip-172-29-0-10 ec2-user]# yum -y install nginx
[root@ip-172-29-0-10 ec2-user]# sudo service nginx status
nginx is stopped
[root@ip-172-29-0-10 ec2-user]# service nginx start
Starting nginx:                                            [  OK  ]
[root@ip-172-29-0-10 ec2-user]# chkconfig nginx on

```

これでnginx をインストし、デフォページが表示されます。