VPC(Virtual Private Cloud) †
- VPC EC2起動中でもSecurity Groupを変更可能。EC2 Classicでは出来ない
- EC2選択 > Actions > Networking > Change Security Group
apne1-az3の廃止 †
- apne1-az3は売り切れて使えなくなったAZ。古いAWSアカウントでのみ見えていた。
- 2025年2月28日に廃止
記事:
Share VPC: subnet単位で他AWSアカウントと共有 †
記事:
使用IPアドレス数等の監視 †
- CloudWatchでNetworkAddressUsageを見るためには、VPCで明示的に有効にする必要がある
記事:
VPC Reachability Analyzer: 接続性テスト †
記事:
プレフィックスリスト: CIDRブロックを定義して、キュリティグループルール等から参照 †
Managed prefix lists: 複数CIDRの管理 †
VPC Ingress Routing †
VPC Peering: VPC同士の接続 †
VPC Endpoint †
- AWSのサービスには、VPC内/外の区別がある。
- 1 service, 1 VPC毎に一つVPC endpointがあれば良い。
- VPC RDSにアクセスするには、VPC対応したサービスが必要。例:VPC Lambda
- VPC LambdaはPrivate Subnetに配置し、デフォルトではインターネットにアクセスできない。
- VPC Lambdaがインターネットへアクセスするには、NAT Gateway(有料、高額になりやすい)をPublic Subnetに追加する。
- 今まで DynamoDB はVPC非対応だったため、NAT Gateway経由が必要だった。VPC EndpointがDynamoDBへ対応したため、NAT Gatewayは不用になった。
- VPC Endpointに付けるセキュリティグループは、専用のセキュリティグループを作った方が良い。VPC Endpointへの接続を許可するリソースをingressで指定する。
- VPC Endpointには、インタフェース型、ゲートウェイ型(S3, DynamoDBのみ)がある
Transit Gateway: VPC およびアカウント接続を簡単にスケール †
設計 †
- 設計時の注意
- 後からCIDRを変更はできないので十分に考えた方が良い。rfc1918準拠等
- 他のVPCと接続したい場合(VPC peering)、CIDRが重複していると接続できない。その場合は重複を避ける。また、route tableが重複しても通信が出来ない。
- 広すぎるCIDRはVPCやサブネット数が足りなくなるので避ける。デフォルトVPCの「/16」は大きすぎる気がする。
- 小さすぎてもオートスケールするリソース(ELB, Lambda, EC2 AutoScale, etc)があるので困る。
- ブロードキャスト、マルチキャストは非対応
- apne1-az3 は避ける。売り切れているのでec2等が作れない。
- 例:
- VPC CIDR: 10.10.0.0/21
- IP range: 10.10.0.0 - 10.10.7.255
- IP数: 2048
- 最大Subnet数(1 VPC): 8
- SubnetはPublic, Privateでそれぞれ最低 3 つあれば良い。(EKS Architecture)
- 最大Public Subnet数: 4
- 最大Private Subnet数: 4
- 最大NAT gateway: 4 (Private Subnetの数だけ) コスト($45/month程)がかかるので注意。2つに減らしても良い。0だとprivate subnetからinternetへトラフィックが流れない。
- Region辺りのAZは、最大4つ程。
- AZ毎にPublic/Private Subnetを作る。AZは売り切れる事があるので、冗長性を確保したい場合 最低 3 AZは欲しい。
Private Subnet †
デフォルトではインターネットと通信ができない。
DBやCache等の外部と通信させたくないリソースを置く。
- VPC とサブネットのサイズ設定
VPC を作成する場合は、 RFC 1918 に指定されているように、プライベート IPv4 アドレス範囲から CIDR ブロック (/16 以下) を指定することをお勧めします。
10.0.0.0 - 10.255.255.255 (10/8 プレフィックス)
172.16.0.0 - 172.31.255.255 (172.16/12 プレフィックス)
192.168.0.0 - 192.168.255.255 (192.168/16 プレフィックス)
VPC NAT Gateway †
- 料金は結構高いので注意
- VPC Subnet毎に設置する事で、Outgoingトラフィックのための固定IPを持てるため、アクセス制限が厳しい環境で使える。
- VPC Lambdaの場合、internetへ通信したい場合、NAT gatewayを通すように設定する。
NAT Gatewayのコスト削減/分析 †
記事:
ClassicからVPCへの移行 †
High Availability for Amazon VPC NAT Instances †