Amazon VPC - kin-kin/memo GitHub Wiki
AWS
Amazon VPC
- VPC
- リージョン単位で作成
- マルチVPCパターン(1アカウントに複数のVPC)とマルチアカウントパターン(複数アカウントに1つずつのVPC)では後者を推奨
- 用途(開発/テスト/本番)、部門、システム・サブシステム、等で分ける
- パブリックサブネット
- アタッチされたルートテーブルにインターネットゲートウェイへのルーティングが含まれるサブネット
- サブネットはアベイラビリティーゾーン単位で作成
- サブネットマスクは±1でIPアドレス数が2倍・1/2になる
- いくつかのIPアドレスは利用できない
- .0:ネットワークアドレス
- .1:VPCの仮想ルーター
- .2:VPC上のDNSサービス
- .3:予約
- .255:ブロードキャストアドレス
- IPアドレス範囲は後から変更できないため、大きいものを使う(/24以上)
- プライベートサブネット
- アタッチされたルートテーブルにインターネットゲートウェイへのルーティングが含まれないサブネット
- インターネットゲートウェイ
- ルートテーブル
- VPC内の通信を可能にするターゲットlocalのルートは削除できない
- インターネットゲートウェイへのルーティングは送信先を0.0.0.0/0、ターゲットをインターネットゲートウェイIDに設定する
- NATゲートウェイへのルーティングは送信先を0.0.0.0/0、ターゲットをNATゲートウェイIDに設定する
- サブネットにはカスタムルートテーブルを使用することがベストプラクティス
- NACL
- デフォルトではインバウンド・アウトバウンドをすべて許可
- 許可・拒否を設定
- 通信をステートレスに処理する
- DoS遮断等の用途で使用
- NATゲートウェイ
- プライベートサブネットからインターネットにアクセスするために使用する
- パブリックサブネットに作成し、Elastic IPを割り当てる
- NATインスタンス
- NATゲートウェイよりも安く、使わないときは停止できるが、可用性は自身で担保する
- VPCエンドポイント
- インターネットを介さずにVPC内とAWSサービスを接続する
- サポートされていないサービスはインターネット経由でのみ接続
- インターフェースエンドポイント
- サブネット内に配置し、セキュリティグループを関連付ける
- ゲートウェイエンドポイント
- Amazon S3とDynamoDBのみサポート
- VPCのエッジに配置し、ルートテーブルやIAMで制御する
- VPCピアリング接続
- VPCを1対1で接続する
- 複数VPCを接続する場合はAWS Transit Gatewayの利用を推奨
- 異なるAWSアカウント間のVPC、異なるリージョン間のVPCでも接続可能
- 接続するVPCは異なるIP空間とする
- VPN接続
- VGW
- AWS側のエンドポイントは物理的に二重化されている
References