AWS nginx のデフォページ表示
overview
AWS EC2にnginxをインストールしてページ表示までクッソ詰まったので、AWSの勉強として、色々調べてみました。
VPC を作成
AWS のリージョン設定を日本に設定します。
検索ワードからVPCを検索します。
詳細は上記をみてください。
VPCを選択し、「VPC ウィザードの開始」を選択します。
選択すると、VPCの設定を行います。
IPv4 CIDR に10.0.0.0/16 が設定されており、パブリックサブネットには10.0.0.0/24が設定されております。
特に何も意識しないのであればこのままで繋がります。
なのでこのまま、「VPCの作成」を押下します。
これでVPCの作成は完了です。
EC2インスタンスの作成
Overview
Amazon EC2 では、異なるユースケースに合わせて最適化されたさまざまなインスタンスタイプが用意されています。インスタンスタイプはさまざまな CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせによって構成されているため、アプリケーションのリソースとして適切な組み合わせを柔軟に選択できます。それぞれのインスタンスタイプには 1 つ以上のインスタンスサイズが含まれているため、対象となるワークロードの要件に応じてリソースをスケールできます。
いろんなスペックのサーバーを選択できるというわけです。
今回は下記を選択しました。
「Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-28ddc154」
その後インスタンスのタイプを選択できるようになります。
初期設定で 「次の手順: インスタンスの詳細の設定」を押下します。
こちらを選択することにより、ネットワークの設定やその他の設定がこのレイヤーでできるので、楽です。
上から順に
先ほど作成した VPCを選択します。
パブリックサブネットを選択します。
「有効化」を選択します。
プライマリIPに[10.0.0.10]と記述し、「次の手順: ストレージの追加」を押下します。
別途ストレージを追加したい場合は追加します。
私の場合は追加することを念頭に置いてないので、
追加しません。
赤枠を押下します。
タグはわかりやすいように名前をつけるだけですので、
キー -> Web
値 -> WebServer
とかにしておきました。
「次の手順: セキュリティーグループの設定」を押下します。
セキュリティーグループではHTTP 80番と,SSHの22番を開けておきます。
SSH が TCP 22 マイ IP
HTTP が TCP 80 任意の場所
で作成します。
Elastic IP
Elastic IPを割り当てます。
上記赤枠を押下します。
「新しいアドレスの割り当て」を押下します。
割り当てが成功すると下記画面に切り替わります。
割り当てられたIPアドレスの一覧ページで、
赤枠内の割り当てられた、IPアドレスを右クリックします。
「アドレスの関連付け」を選択し、アドレスを関連付けます。
インスタンス項目で先ほど作成したインスタンスを選択します。
その後プライベートIPを10.0.0.10で設定します。
これで関連付けができます。
関連付けが成功すると、上記画像のインスタンス項目に関連付けたインスタンスが表示されてます。
SSH で接続
chmod 0400 test.pem
ssh -i ./test.pem ec2-user@13.230.146.205
インスタンス作成時に作成した証明書の権限を400にし、
ssh で接続します。
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
___|\___|___|
接続するとこんな感じです。
[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 をインストし、デフォページが表示されます。