LoginSignup
21
19

More than 5 years have passed since last update.

【AWS VPC入門】2.EC2/Internet Gateway/Route Table

Last updated at Posted at 2018-12-24

前回までの記事

【AWS VPC入門】0.概要
【AWS VPC入門】1.VPC/Subnet

今回のゴール

  • 前回作成したPrivate Subnet(10.0.193.0/26)EC2インスタンス(Web)を配置する。
  • インターネットとの通信を可能するためインターネットゲートウェイルートテーブルの設定を行う。
  • EC2インスタンス(Web)にSSH接続しNginxをインストールする。

Internet Gateway

VPC内部とインターネットとの間の通信を可能にするためのものです。
インターネットゲートウェイ経由することでサブネットに配置されたEC2インスタンスとインターネット間の接続を可能にします。
サブネットに対してではなくVPCに対して設置します。

Route Table

VPCにはサブネット単位で仮想のルーターが存在します。(暗示的なルーター)
ルートテーブルは上記のルーターに対して「Destination(送信先)」と「Target(宛先)」を定義したテーブルです。

EC2をPrivateサブネットに作成

実際にAWS上で作成していきます。
EC2のダッシュボードから「インスタンスの作成」を選択します。
スクリーンショット 2018-12-08 19.46.50.png

AMI、インスタンスタイプ、ストレージ等はNginxが動作する環境であればどれでも良いです。
ここでは以下を選択しました。

AMI インスタンスタイプ ストレージ
Amazon Linux 2 t2.micro 20G

インスタンスの詳細の設定では以下の設定を追加します。

スクリーンショット 2018-12-08 19.55.15.png

ネットワーク サブネット 自動割り当てパブリック IP
Sample VPC SamplePrivateSubnet 有効化

タグに以下を設定

キー
Name SampleWeb

セキュリティグループを以下の内容で設定します。

スクリーンショット 2018-12-08 20.05.17.png

後ほどSSH接続を行うためpemファイルのDLが必要です。(SampleVPCWeb.pem)

この状態ではEC2インスタンスはインターネットに接続できないため、インターネットゲートウェイの配置とルートテーブルに設定を行います。

インターネットゲートウェイの作成

VPCにインターネットゲートウェイを配置します。

VPCのダッシュボードから 「インターネットゲートウェイ」 -> 「インターネットゲートウェイの作成」を選択します。

一度も作成したことないがない場合でも、デフォルトのVPCに適用されているインターネットゲートウェイが既に存在しています。

スクリーンショット 2018-12-09 18.49.37.png

名前は「SampleIG」にします。

スクリーンショット 2018-12-09 18.50.20.png

作成した「インターネットゲートウェイ」をVPCにアタッチします。

スクリーンショット 2018-12-09 18.50.31.png

ルートテーブルを作成

続いてサブネットに対してルートテーブルの作成と変更を行います。

VPCのダッシュボードから 「ルートテーブル」を選択します。
既にSampleVPCのデフォルトルートテーブルが以下の内容で設定されているため、
VPC内を宛先とした通信以外は破棄される設定になっています。

Destination Target
10.0.0.0/16 local

「Create route table」 からルートテーブルを作成します。
スクリーンショット 2018-12-09 19.00.23.png

以下の内容を設定します。

Name tag VPC
SamplePrivateRouteTable SampleVPCのID

スクリーンショット 2018-12-09 19.19.30.png

上記で作成したルートテーブルの設定を変更します。
「Routes」のタブから「Edit」を選択します。
スクリーンショット 2018-12-09 19.20.24.png

デフォルトゲートウェイをインターネットゲートウェイにするため以下の内容を追加します。

Destination VPC
0.0.0.0/0 SampleIGのID

スクリーンショット 2018-12-09 19.21.24.png
作成したルートテーブルを「SamplePrivateSubnet」に割り当てます。

VPCのダッシュボードから 「サブネット」 -> 「SamplePrivateSubnet」 -> 「ルートテーブルの変更」を選択します。
スクリーンショット 2018-12-09 19.22.36.png

ルートテーブルIDに「SamplePrivateRouteTable」を選択します。
スクリーンショット 2018-12-09 19.23.00.png

以上でインターネットへの接続準備が完了しました。

EC2にSSH接続

実際にEC2インスタンスがインターネットと繋がったことを確認するため、pemファイルを利用して実際にSSHによる接続ができることを確認します。

$ ssh -i "SampleVPCWeb.pem" ec2-user@SampleWebのIPアドレス

HTTPによるアクセスを行うために、Nginxのインストールと起動を行います。

$ amazon-linux-extras install nginx1.12 -y
$ sudo systemctl start nginx
$ sudo systemctl enable nginx

http://SampleWebのグローバルIPアドレスにアクセスし、
Welcome to nginx on Amazon Linux!というNginxの画面が表示されていれば動作確認完了です。

次章

【AWS VPC入門】3.ELB

21
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
19