EC2に固定IPを割り当てNginxをインストール

※当ブログでは商品・サービスのリンク先にプロモーションを含みます。ご了承ください。

もう今さら感満載ですが自分のメモ代わりに記事にしておこうと思います。

今回やろうとしている事
  • AWSにEC2インスタンスを立ち上げる
  • EC2インスタンスに固定IP(Elastic IP)を割り当てる
  • Nginxをインストール
  • 表示確認

ではさっそく始めたいと思います。

EC2インスタンスを立ち上げる

AWSマネジメントコンソールにログイン

AWSマネジメントコンソールにログインしEC2サービス画面を開く

EC2トップ画面

左メニューから「インスタンス」をクリックし「インスタンスの作成」

EC2インスタンス立ち上げ1

AMI(Amazon マシンイメージ)の選択

ここでどのAMI(Amazon マシンイメージ)を選択するか決めます。

AMIとはOSみたいなモノになります。

今回はアマゾンがEC2用に最適化して用意してくれている「Amazon Linux AMI」を選択します。

EC2インスタンス立ち上げ2

インスタンスタイプの選択

インスタンスタイプとはサーバのスペックみたいなモノになり、今回はテスト用に立てるだけなので最低スペックの「t2.nano」にします。

またAWSには無料利用枠がありますので、なるべく750時間をフルに使ってテストや慣れる事をオススメします。

マイクロインスタンスは AWS 無料利用枠の対象です。AWS のサインアップ日から最初の 12 か月間は、毎月最大 750 時間のマイクロインスタンスを利用できます。無料使用の有効期限が切れた場合、または使用料が無料使用制限を超えた場合は、従量課金制の通常料金をお支払いください。

因みに少しずる賢いやり方になりますが、AWSアカウントはメールアドレスさえ違っていればいくらでも作成できるので、無料利用枠の期間や時間を使い切ってしまった場合、本利用アカウントと別でAWSアカウントを作成すればほぼ永久に無料利用枠を使えます。

EC2インスタンス立ち上げ3

インスタンスの詳細の設定

ここからは詳細設定になるのですが、サーバ運用に慣れてる方以外はほぼデフォルトのままでいいと思います。

ただ何点か気をつけるポイントだけご紹介します。

ネットワーク

以前まではVPCの設定がなくてもEC2を立ち上げれてたのですが、何年か前からネットワークセキュリティー的に必須になってますので、EC2立ち上げの前にVPCの設定が必要になります。

Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。 VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されており、AWS のリソース (例えば Amazon EC2 インスタンス) を VPC 内に起動できます。

引用:Amazon VPC とは? – Amazon Virtual Private Cloud

シャットダウン動作

これはEC2の運用時に起動、再起動、停止などがあるのですが、シャットダウン(停止)をなくし、起動、再起動、終了(EC2の削除)にするかどうかの設定になりますので、デフォルトのまま停止にします。

削除保護の有効化

こちらは本番運用時などに誤ってEC2インスタンスを削除してしまわないようにする為の設定です。

今回はテストなのでチェックしませんが、慣れない場合や本番運用時はチェックすることをおすすめします。

モニタリング

これはAmazon CloudWatchというEC2インスタンス稼働率などをモニタリングできるサービスを設定する項目になります。

こちらも今回はテストなのでチェックしません。

EC2インスタンス立ち上げ4

ストレージの追加

ここはデフォルト設定のまま進みますが、もっと容量が必要などの場合はサイズなどを増やすといいと思います。

EC2インスタンス立ち上げ5

タグの追加

タグの設定はEC2インスタンスにタグ付けできるのですが、余程の台数EC2インスタンスを運用していない限りあまり必要ないかと思います。

EC2インスタンス立ち上げ6

セキュリティグループの設定

セキュリティーグループはここで立ち上げるEC2インスタンスのセキュリティ設定を行う項目になります。

今回はNginxをインストールして表示させる所までが目的なので、SSHログイン用に22番、Web確認用に80番ポートを開放します。

EC2インスタンス立ち上げ7

インスタンス作成の確認

これでEC2インスタンスの設定は完了になりますので、設定内容の確認を行ったら起動できます。

ただしAWSのEC2インスタンスの管理画面には、さくらクラウドや他サービスのようなコンソール機能がありません。

その為SSH接続できなくなると削除する以外どうしようもなくなりますので、起動後にSSH接続するためのキー設定(鍵認証)が必要になります。

私の場合は既に鍵を用意し登録済になりますのでそれを利用しますが、初めての方はここから新規で鍵の作成が行えますのでそれを利用してください。

EC2インスタンス立ち上げ8

インスタンスの確認

これでEC2インスタンスが立ち上がりましたね。

インスタンス一覧で先程のインスタンスがrunningになったら完了です。

EC2インスタンス一覧画像

EC2インスタンスに固定IP(Elastic IP)を割り当てる

では先程起動したインスタンスに固定IPを割り当てましょう。

固定IPを割り当てなくても自動でIPアドレスが振られているのですが、このままだとインスタンスの再起動で毎回IPアドレスが振り直され色々不便なため固定IPを割り当てる事をオススメします。

新しいアドレスの割り当て

左メニューからElastic IPを選択し「新しいアドレスの割り当て」をクリックしたください。

使用範囲を選択

使用範囲にVPCとClassicとありますが、ClassicはVPC設定が必須になる前から利用してるインスタンスの範囲になりますので、今回はVPCを選択で構いません。

固定IP作成2

固定IP(Elastic IP)作成完了

固定IP作成完了画像

固定IPのの関連付け

先程作成したIPは左メニューのElastic IPから一覧で確認できます。

関連付けしたIPを選択し、アクションから「アドレスの関連付け」を選択してください。

するとアドレスの関連付け画面になると思うので、関連付けしたいインスタンス(先程起動したEC2インスタンス)を選択して「関連付け」を行ってください。

インスタンスの項目をクリックすると起動中のEC2インスタンス名が出ると思いますので選択してください。

インスタンスじゃなくプライベートIP項目からでも設定できますが結果は同じになります。

これでEC2インスタンスへの固定IP関連付けも完了になります。

固定IP関連付け1

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でインストールします。

もしバージョンやモジュールなど指定してインストールしたい方は下記の記事を参考にして頂ければと思います。

Nginxにngx_small_lightモジュールを入れて画像の自動リサイズ処理をする

2017年7月6日
# 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のデフォルト画面が表示されれば完了です。

ブラウザで表示確認画像