EC2を使ってnginxを起動するまでのメモです。
今回設定するトポロジー
VPC作成
- AWSのマネジメントコンソールにログインします。
- 右上のリージョン設定を「バージニア北部」から「アジアパシフィック(東京)」を選択します。その後、「VPC」を選択します。
- 「VPCのウィザートの開始」を選択します。
- 左側が「1個のパブリックサブネットを持つVPC」が選択されていることを確認して「選択」を選択します。
- IPv4 CIDRブロック:「172.29.0.0/16」を入力、 パブリックサブネットのIPv4 CIDR「172.29.0.0/24」を入力、「VPCの作成」を選択します。
- VPCが正常に作成されました が表示されているいことを確認して「OK」を選択します。
EC2の作成
- AWSマネジメントコンソールのホームに戻り「EC2」を選択します。
- 「インスタンスの作成」を選択します。
- Amazon Linux AMI の「選択」を選択します。
- t2.micro にチェックが入っているのを確認して「次の手順:インスタンスの詳細の設定」を選択します。
- ネットワークを「先ほど作成したVPC」を選択、サブネットを「パブリックサブネット」を選択、自動割り当てパブリックIPを「有効化」を選択、プライマリIPを「172.29.0.10」を入力して「次の手順:ストレージの追加」を選択します。
- 「次の手順:タグの追加」を選択します。
- 「別のタグを追加」を選択、キーに「Name」を入力、値に「WebServer」を入力、「次の手順:セキュリティグループの設定」を選択します。
- 「新しいセキュリティグループを作成する」を選択、セキュリティグループ名に「Web-Secyrity-Group」と入力、SSHのソースを「マイIP」を選択、「ルールの追加」を選択、新しく出来た行のタイプを「HTTP」を選択、ソースを「任意の場所」を選択、「確認と作成」を選択します。
- 作成されるインスタンスを確認して「作成」を選択します。
- 「新しいキーペアの作成」を選択、キーペア名「my-key」を入力、キーペアのダウンロードをクリックしてファイルをダウンロード、「インスタンスの作成」を選択します。
- 作成ステータスが表示される。「インスタンスの表示」を選択します。
ElasticIPの設定(パブリックIPアドレス固定化)
AWSのEC2にはパブリックIP(AWS外部から接続用のIP)とプライベートIP(AWS内部用のIP)が割り当てられますが、初期設定の状態ではパブリックIPは、インスタンスを停止した時点でアドレスがリリースされ、起動する度に異なるアドレスが割り当てられます。パブリックIPを固定化するのに利用するのが、ElasticIPになります。下記がElasticIPの設定になります。
ElasticIPの費用ですが、割り当てられたEC2が起動している状態であれば無料です。ただし、EC2を停止するとElasticIPに費用($0.005/時)が発生しますので注意して下さい。
- 「Elastic IP」を選択します。
- 「新しいアドレスの割り当て」を選択します。
- 「割り当て」を選択します。
- 固定のパブリックIPアドレスが割り当てられます。「閉じる」を選択します。
- 先ほど割り当てられたIPアドレスを右クリックして「アドレスの関連付け」を選択します。
- インスタンスを「先ほど作成したEC2」を選択、プライベートIPを「172.29.0.10」を選択し、「関連付け」を選択します。
- 「閉じる」を選択して、パブリックIPアドレスの固定が出来ました。
nginx インストール
- 今回はローカルのLinuxマシンからSSHします。EC2作成時にダウンロードしたファイルを下記に格納し、パーミッションを変更します。
12~/.ssh/id_rsa-awschmod 600 ~/.ssh/id_rsa-aws - ~/.ssh/config に下記を追記します。 x.x.x.x は先ほど割り当てられたパブリックIPアドレスを入力します。
1234Host x.x.x.xHostName x.x.x.xIdentityFile ~/.ssh/id_rsa-awsUser ec2-user - 次のコマンドで作成したec2に接続します。
1ssh X.X.X.X - nginx をインストールします。
12[ec2-user@ip-172-29-0-10 ~]$ sudo -s[root@ip-172-29-0-10 ec2-user]# yum -y install nginx - nginxを起動および自動起動設定をします。
12345[root@ip-172-29-0-10 init.d]# service nginx statusnginx is stopped[root@ip-172-29-0-10 init.d]# service nginx startStarting nginx: [ OK ][root@ip-172-29-0-10 init.d]# chkconfig nginx on - ブラウザから http://x.x.x.x/ を開いて下記が表示されていたら成功です。
以上です。AWS EC2を使ってnginx を起動までのメモでした。