4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

実際に構築してみる(Internet gateway と NAT gateway)

Posted at

実際にVPCを構築してみる(VPCとサブネット)でやった続きです。
※完成してません、試行錯誤中です。

勉強前イメージ

インターネットゲートウェイとNATゲートウェイについてはこれでなんとなくやったけど、
実際の構築イメージはわかない....

Internet gateway と NAT gateway

AWSのVPCのよく使われるコンポーネントについて で書いたイメージから、
前回 からの修正を行ったイメージ図が以下です。
今回、このようなイメージで設定していきたいと思います。
※修正を行ったのが赤文字の箇所です。

NATとかUntitled Diagram.drawio - diagrams.net - Google Ch.png

設定を行う

VPCとサブネットの設定は 前回 を見てください。

EC2インスタンスを作成する

完成後イメージはこんな感じ

EC2Untitled Diagram.drawio - diagrams.net - Google Ch.png

3つも書くのめんどくさいので、1インスタンスだけ書きます。

  • インスタンスを起動

インスタンスの起動インスタンス _ EC2 Management Console - Google Chrome 20.png

  • AMIイメージを選択

centosインスタンスウィザードを起動 _ EC2 Management Console - Google C.png

  • インスタンスタイプを選択

インスタンスタイプインスタンスウィザードを起動 _ EC2 Management Console - Google C.png

  • インスタンスの詳細の設定を行う

10.0.1系を2つ作成
10.0.2系を1つ作成

VPC選択無題 - ペイント 2020-11-20 19.32.38.png

  • ストレージを設定

インスタンス削除時に一緒にストレージも消えるように「終了時に削除」にチェックを入れる

ストレージ無題 - ペイント 2020-11-20 19.35.47.png

  • タグの追加

今回はしません。

タグなしインスタンスウィザードを起動 _ EC2 Management Console - Google C.png

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

一旦デフォルトの設定

セキュリティグループ無題 - ペイント 2020-11-20 19.37.09.png

  • 最終確認

起動インスタンスウィザードを起動 _ EC2 Management Console - Google C.png

  • キーペアの作成

キーペアインスタンスウィザードを起動 _ EC2 Management Console - Google C.png

これを3つ作ります。

  • 3つ作りました

インスタンス無題 - ペイント 2020-11-20 19.53.34.png

  • 実際構築図

ローカルIP勝手に割り振られたので、青文字のIPアドレスになりました。

実際Untitled Diagram.drawio - diagrams.net - Google Ch.png

NATGateway を作成

EC2を作ったので、NATGateway と InternetGateway を作成する

NATgatewayを作るUntitled Diagram.drawio - diagrams.net - Google Ch.png

  • NATGatewayを作成します

NATゲートウェイを作成NAT ゲートウェイ _ VPC Management Console - Google Chrom.png

  • NATゲートウェイを作成します

名前はわかりやすいように。
サブネット は10.0.2系のサブネットを指定。
ElastixIP は、「Elastic IP の割り当て」をクリックするとIDが割り当てられます。
ここにはないのですが、タグは何も記載していません。
こちらせ作成を行います。

無題 - ペイント 2020-11-20 20.53.01.png

  • できました

NATゲートウェイできました。無題 - ペイント 2020-11-20 20.56.14.png

Internet Gateway を作成

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

インターネットゲートウェイを作成無題 - ペイント 2020-11-20 20.59.49.png

  • インターネットゲートウェイの設定

名前はわかりやすいようにつけました。
タグは自動で入りました。

インターネットゲートウェイの作成 _ VPC Management Console - Google.png

  • できました。

インターネットゲートウェイができました。

インターネットゲートウェイできました。無題 - ペイント 2020-11-20 21.02.51.png

  • インターネットゲートウェイをVPCにアタッチしないといけない ※1

注意書きがされているのは、次に進んだらわかりますが
アタッチしてないことによって戸惑ったので....

VPCにインターネットゲートウェイをアタッチします。
そうだよね。。。作るだけじゃどこに置いたらいいかわからんもんね....

VPCにアタッチ無題 - ペイント 2020-11-20 23.52.39.png

  • アタッチを行う

作ったVPCを選択してアタッチします。

1VPC無題 - ペイント 2020-11-20 23.53.27.png - ペイント 2020-1.png

  • アタッチされました

アタッチできました。

アタッチされました。無題 - ペイント 2020-11-20 23.54.54.png

Route tableの設定

前回 では書けていなかったのですが、
調査しているうちにNAT Gateway と Internet Gateway を使うには subnet の Route table を変更しないといけないようです。
イメージ図としては以下です。

routetableUntitled Diagram.drawio - diagrams.net - Google Ch.png

  • subnet 10.0.1.0/24 のRoute table

10.0.1.1 - 10.0.1.254 までは先がlocalにあります。
それ以外(0.0.0.0/0) は NAT Gateway に聞きに行きましょう

送信先 ターゲット
10.0.1.0/24 local
0.0.0.0/0 NAT Gateway
  • subnet 10.0.2.0/24 のRoute table

10.0.2.1 - 10.0.2.254 までは先がlocalにあります。
それ以外(0.0.0.0/0) は Internet Gateway に聞きに行きましょう

送信先 ターゲット
10.0.2.0/24 local
0.0.0.0/0 Internet Gateway

まず....

10.0.1系(qiita-test-1) , 10.0.2系(qiita-test-2) のルートテーブルが一緒でした...
ですので、どちらか(今回は10.0.1系のqiita-test-1)のルートテーブルを別途作成します。

routetable無題 - ペイント 2020-11-20 23.13.25.png

  • ルートテーブルの作成

ルートテーブルからルートテーブルの作成を行います

ルートテーブルの作成ルートテーブル _ VPC Management Console - Google Chrome 2.png

  • ルートテーブルの設定

名前タグはわかりやすいように。
VPCは作成したVPCを指定します。

ルートテーブルの作成無題 - ペイント 2020-11-20 23.17.03.png

  • できました

ルートテーブルできました。
ついでにわかりやすいように 10.0.2系(qiita-test-2)のルートテーブルの名前も変えておきました。

routetableできました。無題 - ペイント 2020-11-20 23.18.42.png

  • 10.0.1系のサブネットにアタッチするためにルートテーブルの関連付けを編集

作るだけじゃだめで、サブネットに作ったルートテーブルを関連付けしないといけないので、
「ルートテーブルの関連付けを編集」します

ルートテーブルの編集無題 - ペイント 2020-11-20 23.21.58.png

  • ルートテーブルの編集

ルートテーブルIDに先程作成した qiita-test-1-routetable を指定します。

ルートテーブルの編集無題 - ペイント 2020-11-20 23.23.38.png

  • ルートテーブル変えれました

そしたら、10.0.1系も10.0.2系もルートテーブルが別々になりました!

ルートテーブル無題 - ペイント 2020-11-20 23.25.51.png

10.0.1系のRoute tableの変更

  • ルートの編集

ルートの編集10.0.1系無題 - ペイント 2020-11-20 23.31.20.png

  • ルートの変更

以下のように設定したいと思います。

送信先 ターゲット
10.0.1.0/24 local
0.0.0.0/0 NAT Gateway

あれ....送信先....10.0.1.0じゃなくて....10.0.0.0 では・・・?
localってsubnet内じゃなくてVPC内ってこと?

しかもNAT Gateway なくなってる...消えてる....deleteになってる・・・なぜーーー
もう1回作り直しました。

natgatewayの追加無題 - ペイント 2020-11-20 23.39.29.png

10.0.2系のRoute tableの変更

  • ルートの編集

2ルートテーブル _ VPC Management Console - Google Chrome 2.png

  • ルートの変更

10.0.1系のRoute table変更する際にlocalの送信先は10.0.0.0/16と分かったので↓は変更します。

送信先 ターゲット
10.0.0.0/16 local
0.0.0.0/0 Internet Gateway

しかもこっちもInternet Gatewayがdeleteになってる・・・
これは作ったインターネットゲートウェイをVPCにアタッチするの忘れてました・・・
※1 の手順を抜かしてました(後から書いた

ルートの編集2無題 - ペイント 2020-11-20 23.59.12.png

  • できたんだけど・・・

Route table できたんだけど・・qiita-test-2-routetableの明示的に関連付けられたサブネットがない・・・
明示的にするべき?

sabunettoない無題 - ペイント 2020-11-21 00.03.07.png

  • 明示的にサブネットを関連付ける

サブネットの関連付け無題 - ペイント 2020-11-21 00.04.53.png

  • 関連付けを編集

関連付け編集無題 - ペイント 2020-11-21 00.06.04.png

  • 明示的に関連付けられました

関連付けられた無題 - ペイント 2020-11-21 00.07.22.png

結果

実際に構築してみて、青文字のところが変更点です。
全然想像どおりにはならない....

結果Untitled Diagram.drawio - diagrams.net - Google Ch.png

通信をしてみる

↑で作ったものがきちんと通信できるのか、
10.0.1.96 と 10.0.2.249 にログインしてみて確かめてみます。

ログインするには、以下が必要なので行っていきます。

  • 10.0.2.249のサーバにelasticIPを振る
  • ↑に関連してセキュリティグループの変更が必要

10.0.2.249のサーバにelasticIPを振る

  • EC2に移動してElastic IPの割り当てを行います

elasticIP無題 - ペイント 2020-11-21 00.17.20.png

  • 割り当てをします

Amazon のIPv4 アドレスプールから割り当てを行います

2020-11-21Elastic IP アドレスの割り当て _ EC2 Management Console - Go.png

  • 割り当てられました

できました。

割り当てられました。無題 - ペイント 2020-11-21 00.19.08.png

  • 割り当てられたElastic IP を 10.0.2.249 に関連付けします

関連付け無題 - ペイント 2020-11-21 00.20.12.png

  • 関連付けします

リソースタイプはインスタンス。
インスタンスは10.0.2.249 のインスタンスに割り当てます。

2無題 - ペイント 2020-11-21 00.41.10.png

セキュリティグループを家から繋げられるように変更

  • 家から繋げられるセキュリティグループの作成

今はlocal(10.0.0.0/16)同士しか繋げられないから.....

セキュリティグループ無題 - ペイント 2020-11-21 00.24.24.png

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

適当にhomeというセキュリティグループを作りました。
許可はSSHのみ。

セキュリティグループの中身無題 - ペイント 2020-11-21 00.25.47.png

  • セキュリティグループができました

新しいセキュリティグループ無題 - ペイント 2020-11-21 00.27.59.png

  • 「home」セキュリティグループの割り当て

インスタンスから10.0.2.249 のインスタンスを選択
右クリックで セキュリティ > セキュリティグループの変更 で進みます。

セキュリティグループの変更無題 - ペイント 2020-11-21 00.34.20.png

  • セキュリティグループの追加

セキュリティグループ名を検索して、追加を行うと下に追加されるのでそれで保存

追加されます。無題 - ペイント 2020-11-21 00.35.35.png

接続確認

1 : 10.0.2.249 がElasticIPを通じてSSH接続出来るのか。
2 : 10.0.1.96 が 10.0.2.249 からSSH接続できて、ping 8.8.8.8 が出来るのか。

12Untitled Diagram.drawio - diagrams.net - Google Ch.png

1 : 10.0.2.249 がElasticIPを通じてSSH接続出来るのか。

  • 接続

きーあぺ無題 - ペイント 2020-11-21 00.46.56.png

  • 外部への接続は出来る

SSHできたし、外部への通信もできた

ssh52.193.254.177 - Poderosa 2020-11-21 00.48.27.png

  • 内部への接続もできる

10.0.1系へのpingも通った

naibu52.193.254.177 - Poderosa 2020-11-21 00.49.19.png

2 : 10.0.1.96 が 10.0.2.249 からSSH接続できて、ping 8.8.8.8 が出来るのか。

  • 10.0.2.249 → 10.0.1.96 にSSHが出来るか

入った!!!!

ssh52.193.254.177 - Poderosa 2020-11-21 00.52.16.png

  • 外部への接続が出来るか

pingはとおらんかったか....

ping52.193.254.177 - Poderosa 2020-11-21 00.53.25.png

勉強後イメージ

一応組んでみたもののpingは通らなかったです....
あとたぶんすっごい見ずらいし、完成してないしですいません。
最後までやるべきだろうけど体力不足..また今度リトライします。
結構難しかった

参考

4
2
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
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?