#第8回 プライベートサブネットの構築
今回はインターネットとは直接的に接続しない、プライベートサブネットの構築を行います。
以下の順番にて進めていきますので、よろしくお願いします!
プライベートサブネットの構築
パブリックサブネットと同じアベイラビリティゾーンに、プライベートサブネットを構築します。
異なるリージョンに配置した場合、課金されてしまうとのことです。
(料金についても勉強しないと・・ソリューションアーキテクト資格の勉強で出てきますかね?)
アベイラビリティゾーンの確認
「VPCマネジメントコンソール」から、「サブネット」を選択し、パブリックサブネットのゾーンを確認します。
アベイラビリティゾーンは「ap-northeast-1d(apne1-az2)」でした。
プライベートサブネットの作成
上記で確認したアベイラビリティゾーンと同じ場所に、プライベートサブネットを構築していきます。
できました!
ルートテーブルの確認
サブネットを作成した直後には、VPCに対して設定されている「メインルートテーブル」が適用されています。
出典:Amazon Web Services 基礎からのネットワーク&サーバー構築
とのことですので、メインルートテーブルを見て、必要に応じて設定を変更します。
いくつかあるルートテーブルの中で、どれがメインなのかは以下の2項目を確認することで判定可能です。
-
「VPC ID」列を確認
- 「vpc-xxxxx | VPC_AREA」のように、"|"(パイプ区切り)で「VPC名」が表示されているものを選別する。VPC名が表示されていないルートはデフォルトルート
-
「メイン」列が「はい」
メインのルートテーブルを確認した結果、下表のようになっていました。
(これが作成したプライベートサブネットに割り当てられたルートテーブル)
送信先 | ターゲット |
---|---|
10.0.0.0/16 | local |
このルートテーブルは、プライベートサブネットに必要な以下の条件を満たすため、特に設定をいじることはしません。
-
インターネットには繋がない
- インターネットゲートウェイがルートテーブルの宛先に入っていないこと。
-
内部通信だけできれば良い
- パブリックサブネット(10.0.1.0/24)とプライベートサブネット(10.0.2.0/24)間で通信できればOK。
ということで、確認だけして次に進みます。
補足
デフォルトルートとはなんぞやと調べたところ、とてもわかりやすい解説がありましたため、リンクを掲載させていただきます。 大変参考にさせていただきました。ありがとうございます。 [tkj06さんの記事](https://qiita.com/tkj06/items/3ee317b548fad49c6e6d)インスタンスの作成
作成したプライベートサブネット内にインスタンスを作成します。
基本は前回作成したインスタンスと同様に進めていきますので、差異がある点のみ記載します。
インスタンスの設定
「インスタンスタイプの選択」までは前回同様です。
- サブネット
- 先ほど作成した「Private_Subnet」を選択
- 自動割り当てパブリックIP
- 「サブネット設定を使用(無効)」を選択(「無効」でも良い)
- プライマリIP
- 「10.0.2.10」を入力
ストレージの設定をおえたら(デフォルトですが)、インスタンスの名前を設定します。
- キー
- 「Name」を入力(固定)
- 値
- 「DBserver」を入力(任意)
セキュリティグループの作成
今後、プライベートサブネットにはDBを配置するので事前準備をしておきます。
具体的には、DBサーバが使用するポート3306番を、セキュリティグループに許可設定します。
セキュリティグループを新しく作成したら、3306番の許可設定をします。(図中③)
- タイプ
- 「MySQL/Aurora」を選択
- プロトコル
- 「TCP」を選択(固定)
- ポート範囲
- 「3306」(固定)
- ソース
-- 「任意の場所」
ソースとして選択した「任意の場所」ですが、設定を行うと以下の2つが許可されます。
- 「0.0.0.0/0」・・IPv4の許可
- 「::/0」・・IPv6の許可
画面に従いインスタンスの作成を終えます。
キーファイル紛失注意です!!
動作確認
プライベートサブネット内にインスタンスの作成を行なったので、pingによる応答確認を実施していきたいと思います。
なお、今回確認するルートは下表となります。
送信元 | 送信先 |
---|---|
パブリックサブネット内のインスタンス(10.0.1.10) | プライベートサブネット内のインスタンス(10.0.2.10) |
内部通信として「10.0.0.0/16」の通信を「local」へ通信させるルートは存在しているため、セキュリティグループの設定だけでOKです!!
ルートテーブルの確認
セキュリティグループの設定変更
セキュリティグループでは、デフォルトではping通信が許可されてません。
そのため、ping通信(ICMP)を許可設定してあげます。
具体的には下図の設定を加えます。
pingによる疎通確認
パブリックサブネット内のインスタンス(10.0.1.10)にSSHで接続し、
プライベートサブネット内のインスタンス(10.0.2.10)へpingによる疎通確認を行います。
画面はmacなのですが、TeraTerm等のターミナルで接続しても同じです。
設定変更手順はこちら->TeraTermでインスタンスへログイン
無事に疎通が取れることが確認できました。
今回は以上となります、長々とお付き合いいただきありがとうございました。