目次
- 用語
- 注意点
- 作業内容
用語
- NATゲートウェイ プライベートサブネットからインターネットに通信を返すことが可能になる
- IWゲートウェイ インターネットへの通信が可能になる
- ルートテーブル サブネットにゲートウェイへの設定を追加することで、サブネットからゲートウェイへの通信が可能になる
- セキュリティグループ インスタンスへのトラフィックのアクセス可否を設定する。インスタンス単位で適用し、特定のVPCに紐づいて作成される。許可のみ指定可能で、インバウンドのみ設定すればアウトバウンドも許可される。
- ネットワークACL VPCとサブネットへのトラフィックのアクセス可否を設定する。VPC/サブネット単位で適用する。許可と拒否を指定し、インバウンド設定のみではアウトバウンドは許可されない。
注意点
- NATゲートウェイのElastic IPアドレスは、使用されていないと課金されてしまうため、使わない場合は削除する。NATゲートウェイを削除後、Elastic IPアドレスのアドレスの解放をクリック。
- NACLを利用してサブネット内のリソースと通信をする際は、エフェメラルポートの設定をして、一時的にクライアントに利用可能なポートを指定する必要がある。
- Transit Gatewayは有料のため、使用したら削除する。
- ロールを作成する際、信頼ポリシーと許可ポリシーの2つを設定する必要がある。
作業内容
VPC作成
- マネジメントコンソールのVPCウィザードを起動をクリック。
- 任意の名前を入力、IPv4 CIDRブロック
10.0.0.0/16
、AZを1つ、パブリックサブネットを1つ、プライベートサブネットを1つにする。 - パブリックサブネットのCIDRブロックを
10.0.0.0/24
、プライベートサブネットのCIDRブロックを10.0.1.0/24
を入力する。 - DNSオプションで、
DNSホスト名を有効化
とDNS解決を有効化
にチェックを入れる。 - VPCを作成をクリック。
パブリックサブネットの作成
- サブネットをクリック
- VPC IDは先程作成したVPCを選択、サブネット名は任意、アベイラビリティーゾーンを東京/ap-northeast-1c、IPv4 CIDRブロック
10.0.2.0/24
を入力。 - サブネットを作成をクリック。
- 対象のサブネットをチェックする。
- ルートテーブルタブのルートテーブル名をクリックし、ルートテーブルにチェックを入れる。
- ルートタブのルートの編集をクリック。
- ルートの追加をクリック。
- 送信先
0.0.0.0/0
、ターゲットをインターネットゲートウェイ
にして、ルートの保存をクリック。
プライベートサブネットの作成
- サブネットをクリック
- VPC IDは先程作成したVPCを選択、サブネット名は任意、アベイラビリティーゾーンを東京/ap-northeast-1c、IPv4 CIDRブロック
10.0.3.0/24
を入力。 - サブネットを作成をクリック。
- NATゲートウェイをクリック。
- NATゲートウェイを作成をクリック。
- 任意の名前を入力、サブネットは
パブリックサブネット
を選択、接続タイプはパブリック
、Elastic IPを割り当て
をクリック - NATゲートウェイを作成をクリック。
- サブネットをクリックし、先程作成したプライベートサブネットを選択。
- ルートテーブルタブのルートテーブルをクリック。
- アクション→ルートの編集をクリック。
- ルートの追加をクリック。
- 送信先
0.0.0.0/0
、ターゲットをNATゲートウェイ
にして、ルートの保存をクリック。
ネットワークACLの作成
- ネットワークACL→ネットワークACLを作成をクリック。
- 任意の名前を入力、VPCを先程作成したものを選択し、ネットワークACLを作成をクリック。
- ※デフォルトでは、インバウンドルールとアウトバウンドルールは全て拒否されているため、編集を行う。インバウンドルール→インバウンドルールを編集
- 新しいルールを追加→ルール番号、タイプ(SSHなど)、送信元IP、許可/拒否を選択
- 変更を保存
- アウトバウンドも同様に編集する
- サブネットの関連付け→サブネットの関連付けを編集
- 先程作成したサブネットを選択し、変更を保存をクリック
- ※クライアントPCに返信を返すためには、動的に割り当てるポート番号を設定する必要がある。アウトバウンドルールを編集→新しいルールを追加→ルール番号、タイプ(カスタムTCP)、ポート範囲(1024-65535)、送信先IP(0.0.0.0/0)、許可を選択
- 変更を保存をクリック
NATゲートウェイを作成
- NATゲートウェイ→NATゲートウェイを作成
- 任意の名前を入力、サブネットはパブリックサブネットを選択、接続タイプはパブリック、Elastic IPの割り当てをクリック
- NATゲートウェイを作成をクリック
- サブネット→プライベートサブネットを選択→ルートテーブルをクリック
- ルート→ルートの編集をクリック
- ルートの追加→ターゲット(NATゲートウェイ)、送信先(0.0.0.0/0)、ルートの保存をクリック
プライベートサブネットからS3へアクセスを試みた際、NATゲートウェイを削除していると、インターネットを通してリソースにアクセスしているため、S3にアクセスできなくなる。
そこで、VPCエンドポイントを使用することで、インターネットを介さずに、S3にアクセスできるようになる。
VPVエンドポイントを作成
- エンドポイント→エンドポイントを作成をクリック
- 任意の名前を入力、サービスでS3を選択(タイプはGateway)、VPCは作成したものを選択、ルートテーブルはプライベートサブネットを選択、ポリシーはフルアクセス、エンドポイントを作成をクリック
- teratermで、プライベートサブネットから
aws s3 ls --region ap-northeast-1
を実行することで、S3にアクセスできた
ピアリング接続を作成
- ピアリング接続→ピアリング接続を作成をクリック
- 任意の名前を入力、VPCは作成したものを選択、アカウントは自分のアカウント、リージョンはこのリージョン、VPC IDはデフォルトを選択、ピアリング接続を作成をクリック
- 作成したピアリング接続を選択、アクション→リクエストを承諾をクリック
Transit Gatewayを作成
- Transit Gateway→Transit Gatewayを作成をクリック
- 任意の名前を入力、Transit Gatewayを設定はデフォルト、Transit Gatewayを作成をクリック
- Transit Gateway接続→Transit Gatewayアタッチメント作成をクリック ###Transit GatewayアタッチメントはVPC毎に作成する必要がある
- 任意の名前を入力、Transit Gateway IDを先程作成したTransit Gatewayを選択、アタッチメントタイプをVPC、VPCアタッチメントはデフォルト、VPC IDはデフォルト、サブネットは全て選択、Transit Gatewayアタッチメント作成をクリック
- 2つ目のTransit Gatewayアタッチメントの作成で、上記のVPC IDを作成したVPCに変えて同様に作成