AWSの基本ネットワーク構成【ハンズオン版】

前回は基本的なネットワークで使用されるサービスの解説を行いました。
https://otomosa.com/aws/standard-network/(新しいタブで開く)
今回は下記構成図をハンズオンしていきたいと思います。
※NAT Gatewayは無料枠から外れます。

VPCの作成

1.AWSマネージメントコンソールからVPCを検索

2.VPCを選択

3.VPCを作成

4.VPCの設定
名前タグ:network-test-vpc
Ipv4-CIDRブロック:172.16.1.0/24
後の設定はデフォルト

5.VPCが作成

サブネットの作成(パブリック側)

1.サブネットを選択

2.サブネットを作成

3.サブネットの設定
VPC ID :先ほど作成したVPCを選択(network-test-vpc)
サブネット名:network-test-public
アベイラビリティゾーン:各自設定してください。
IPv4:172.16.1.0/25


4.サブネットの作成確認

サブネットの作成(プライベート側)

1.サブネットを選択

2.サブネットを作成

3.サブネットの設定
VPC ID :先ほど作成したVPCを選択(network-test-vpc)
サブネット名:network-test-private
アベイラビリティゾーン:各自設定してください。
IPv4:172.16.1.128/25


4.サブネットの作成確認

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

1.インターネットゲートウェイの選択


2.インターネットゲートウェイの設定
名前タグ:network-test-igw

3.インターネットゲートウェイの確認

インターネットゲートウェイをVPCにアタッチ
1.アクションからVPCにアタッチを選択

2.アタッチするVPCを選択

3.インターネットゲートウェイがVPCにアタッチされたか確認

パブリックサブネットのルートテーブルを作成

1.パブリックとして作成したサブネットを選択

2.ルートテーブルを選択

3.ルートテーブルのルートタブを選択する

4.ルートを編集を選択する

5.ルートを追加
送信先:0.0.0.0/0(デフォルトゲートウェイ)
ターゲット:igwを選択し、作成したインターネットゲートウェイを選択する

6.ルートテーブルが作成されたことを確認

EC2インスタンスの作成(パブリック側)

1.インスタンスを起動

2.マシンイメージを作成(無料枠)

3.インスタンスタイプの選択
無料利用枠を選択

4.インスタンスの設定
ネットワーク:作成したVPCを設定
サブネット:パブリック側のサブネットを作成
自動割り当てパブリックIP:有効
サブネットの作成

5.インスタンスの起動
“起動”を押下するとキーペアの選択する画面が出てくるので新しいキーペアを作成します。
※キーペアは忘れずにダウンロードしてください。
キーペア名:aws-network-test-key
キーペアをダウンロードした後、インスタンスの作成を押下

6.インバウンドルールの変更

7.インバウンドのルールを編集

8.タイプを変化する
タイプを”すべてのトラフィック”としておりますが本番環境では絶対にやらないでください。

9.確認

10.疎通確認

11.TeraTermを使用し入れることを確認
※事前にTeraTermのインストールを行ってください。
https://forest.watch.impress.co.jp/library/software/utf8teraterm/download_10868.html
TeraTermを開いてパブリック IPv4 アドレス(ここでは35.170.51.185)を入力してOKを押下してください。

画面が推移したら以下の項目を入力したらOKを押下し、接続できるか確認します。
ユーザー名:ec2-user
(デフォルトのユーザー名になります)
秘密鍵:先ほどダウンロードしたキーペアを使用します。
(ログインにはパスワードではなく秘密鍵を使用した鍵認証になります)

下のような画面が出ればログイン完了。

ログイン後に.ssh配下にキーペアを入れておきます。(プライベートサブネット側のEC2にsshに入るためです)
cd .ssh
TeraTermのウィンドにキーペアをドラッグアンドドロップします。

.ssh配下にキーペアを置けました。

EC2インスタンスの作成(プライベート側)

1.インスタンスを起動

2.マシンイメージを作成
無料利用枠を選択

3.インスタンスタイプの選択
無料利用枠を選択

4.インスタンスの設定
ネットワーク:作成したVPCを選択(ここではnetwork-test-vpc)
サブネット:作成したプライベートサブネットを選択(network-test-private)
自動割り当てパブリック:無効化(プライベートサブネットに置くのでインターネット越しの通信が発生しないため)

5.セキュリティグループの編集

6.インバウンドルールの変更
タイプを”すべてのトラフィック”としておりますが本番環境では絶対にやらないでください。

7.キーペアの作成
既存のキーペアの選択

8.確認
プライベートサブネット内にあるEC2から外のサイト(googleなど)にアクセスできないことを確認します。そのためパブリックのEC2からはプライベートipv4アドレスでアクセスでき、sshでログインします。(プライベートサブネット内のEC2にはパブリックipv4アドレスが割り当てられないため)
パブリックサブネット内のEC2にTeraTermでログインします。手順はと同じ
ログイン後、.sshに移動し以下のコマンドを実行します。(172.16.1.205はプライベートサブネットのEC2のプライベートipv4アドレスを使用します)
ssh -i aws-network-test-key.pem ec2-user@172.16.1.205
以下パブリックサブネット内のEC2からプライベートサブネットのEC2へsshで入ることができました。
ここでgoogleにpingを打ってみてもpingが返ってきません。

NAT Gatewayの作成

1.NAT ゲートウェイを作成

2.NAT ゲートウェイを作成
名前:network-test-ngw
サブネット:network-test-public
接続タイプ:パブリック
Elastic IP :自動割り当て

ルートテーブルの編集

1.ルートテーブルの作成

2.ルートテーブルを作成
名前:aws-network-test-private
VPC:network-test-vpc

3.ルートを編集
送信先:0.0.0.0/0
ターゲット:作成したNATゲートウェイ

4.サブネットの関連付けを編集

5.確認作業
プライベートサブネット内のEC2からNATゲートウェイを通ってgoogleにアクセスできるか確認します。

-
前の記事
AWSの基本ネットワーク構成【単語解説版】 2022.02.25
-
次の記事
【Terraform_v1.1.8】Windows11にインストールし、AWSにEC2をデプロイしてみる 2022.04.11