もう今さら感満載ですが自分のメモ代わりに記事にしておこうと思います。
- AWSにEC2インスタンスを立ち上げる
- EC2インスタンスに固定IP(Elastic IP)を割り当てる
- Nginxをインストール
- 表示確認
ではさっそく始めたいと思います。
EC2インスタンスを立ち上げる
AWSマネジメントコンソールにログイン
AWSマネジメントコンソールにログインしEC2サービス画面を開く
左メニューから「インスタンス」をクリックし「インスタンスの作成」
AMI(Amazon マシンイメージ)の選択
ここでどのAMI(Amazon マシンイメージ)を選択するか決めます。
AMIとはOSみたいなモノになります。
今回はアマゾンがEC2用に最適化して用意してくれている「Amazon Linux AMI」を選択します。
インスタンスタイプの選択
インスタンスタイプとはサーバのスペックみたいなモノになり、今回はテスト用に立てるだけなので最低スペックの「t2.nano」にします。
またAWSには無料利用枠がありますので、なるべく750時間をフルに使ってテストや慣れる事をオススメします。
マイクロインスタンスは AWS 無料利用枠の対象です。AWS のサインアップ日から最初の 12 か月間は、毎月最大 750 時間のマイクロインスタンスを利用できます。無料使用の有効期限が切れた場合、または使用料が無料使用制限を超えた場合は、従量課金制の通常料金をお支払いください。
因みに少しずる賢いやり方になりますが、AWSアカウントはメールアドレスさえ違っていればいくらでも作成できるので、無料利用枠の期間や時間を使い切ってしまった場合、本利用アカウントと別でAWSアカウントを作成すればほぼ永久に無料利用枠を使えます。
インスタンスの詳細の設定
ここからは詳細設定になるのですが、サーバ運用に慣れてる方以外はほぼデフォルトのままでいいと思います。
ただ何点か気をつけるポイントだけご紹介します。
ネットワーク
以前まではVPCの設定がなくてもEC2を立ち上げれてたのですが、何年か前からネットワークセキュリティー的に必須になってますので、EC2立ち上げの前にVPCの設定が必要になります。
Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。 VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されており、AWS のリソース (例えば Amazon EC2 インスタンス) を VPC 内に起動できます。
シャットダウン動作
これはEC2の運用時に起動、再起動、停止などがあるのですが、シャットダウン(停止)をなくし、起動、再起動、終了(EC2の削除)にするかどうかの設定になりますので、デフォルトのまま停止にします。
削除保護の有効化
こちらは本番運用時などに誤ってEC2インスタンスを削除してしまわないようにする為の設定です。
今回はテストなのでチェックしませんが、慣れない場合や本番運用時はチェックすることをおすすめします。
モニタリング
これはAmazon CloudWatchというEC2インスタンス稼働率などをモニタリングできるサービスを設定する項目になります。
こちらも今回はテストなのでチェックしません。
ストレージの追加
ここはデフォルト設定のまま進みますが、もっと容量が必要などの場合はサイズなどを増やすといいと思います。
タグの追加
タグの設定はEC2インスタンスにタグ付けできるのですが、余程の台数EC2インスタンスを運用していない限りあまり必要ないかと思います。
セキュリティグループの設定
セキュリティーグループはここで立ち上げるEC2インスタンスのセキュリティ設定を行う項目になります。
今回はNginxをインストールして表示させる所までが目的なので、SSHログイン用に22番、Web確認用に80番ポートを開放します。
インスタンス作成の確認
これでEC2インスタンスの設定は完了になりますので、設定内容の確認を行ったら起動できます。
ただしAWSのEC2インスタンスの管理画面には、さくらクラウドや他サービスのようなコンソール機能がありません。
その為SSH接続できなくなると削除する以外どうしようもなくなりますので、起動後にSSH接続するためのキー設定(鍵認証)が必要になります。
私の場合は既に鍵を用意し登録済になりますのでそれを利用しますが、初めての方はここから新規で鍵の作成が行えますのでそれを利用してください。
インスタンスの確認
これでEC2インスタンスが立ち上がりましたね。
インスタンス一覧で先程のインスタンスがrunningになったら完了です。
EC2インスタンスに固定IP(Elastic IP)を割り当てる
では先程起動したインスタンスに固定IPを割り当てましょう。
固定IPを割り当てなくても自動でIPアドレスが振られているのですが、このままだとインスタンスの再起動で毎回IPアドレスが振り直され色々不便なため固定IPを割り当てる事をオススメします。
新しいアドレスの割り当て
左メニューからElastic IPを選択し「新しいアドレスの割り当て」をクリックしたください。
使用範囲を選択
使用範囲にVPCとClassicとありますが、ClassicはVPC設定が必須になる前から利用してるインスタンスの範囲になりますので、今回はVPCを選択で構いません。
固定IP(Elastic IP)作成完了
固定IPのの関連付け
先程作成したIPは左メニューのElastic IPから一覧で確認できます。
関連付けしたIPを選択し、アクションから「アドレスの関連付け」を選択してください。
するとアドレスの関連付け画面になると思うので、関連付けしたいインスタンス(先程起動したEC2インスタンス)を選択して「関連付け」を行ってください。
インスタンスの項目をクリックすると起動中のEC2インスタンス名が出ると思いますので選択してください。
インスタンスじゃなくプライベートIP項目からでも設定できますが結果は同じになります。
これでEC2インスタンスへの固定IP関連付けも完了になります。
Nginxをインストール
それではEC2にNginxをインストールしていきたいと思います。
まずはSSHログイン
私の環境はMacになりますのでターミナル(iTerm2)を起動しsshコマンドにてログインします。
EC2のデフォルトログインユーザはec2-userになります。
ssh -i ~/.ssh/tsukarooohi.pem ec2-user@13.113.245.166 The authenticity of host '13.113.245.166 (13.113.245.166)' can't be established. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '13.113.245.166' (ECDSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/ 1 package(s) needed for security, out of 1 available Run "sudo yum update" to apply all updates.
AAでEC2と表示されかっこいいですね。
rootにパスワード設定
EC2立ち上げ時(初回のみ)にはrootユーザのパスワードが設定されていません。
なのでec2-userでログイン後にrootに切り替わってパスワードを設定します。
# rootに切り替え [ec2-user@ip-172-30-0-154 ~]# sudo su - # パスワード設定 [root@ip-172-30-0-154 ~]# passwd Changing password for user root. New password:パスワード入力 Retype new password:パスワード入力 passwd: all authentication tokens updated successfully.
yumにてNginxインストール
今回はテスト用なのでNginxのバージョンやモジュールも気にする必要がないのでyumでインストールします。
もしバージョンやモジュールなど指定してインストールしたい方は下記の記事を参考にして頂ければと思います。
# yum更新(今回は更新がなかったですが一応) yum update # nginxインストール yum install nginx # nginxの確認 [root@ip-172-30-0-154 ~]# nginx -v nginx version: nginx/1.10.3 # nginx自動起動on chkconfig nginx on # nginx起動 [root@ip-172-30-0-154 ~]# service nginx start Starting nginx: [ OK ]
私が以前にyumでインストールしたバージョンよりは新しくなってました。
表示確認
これで作業は完了になります。
最後に設定した固定IPをブラウザに入力してNginxのデフォルト画面が表示されれば完了です。