AWS、Azure、またはGCP向けのクラウドネットワーク構成を計画しましょう。サブネットを定義し、プロバイダーに応じた利用可能なホスト数を把握し、すぐに実行可能なCLIコマンドやTerraform HCLを生成できます。
| Name | Prefix | AZ | Type | IPv4 CIDR | Total IPs | AWS Usable | Range | |
|---|---|---|---|---|---|---|---|---|
| 10.0.0.0/24 | 256 | 251 | 10.0.0.4 - 10.0.0.254 | |||||
| 10.0.1.0/24 | 256 | 251 | 10.0.1.4 - 10.0.1.254 | |||||
| 10.0.4.0/22 | 1,024 | 1,019 | 10.0.4.4 - 10.0.7.254 | |||||
| 10.0.8.0/22 | 1,024 | 1,019 | 10.0.8.4 - 10.0.11.254 | |||||
| 10.0.12.0/24 | 256 | 251 | 10.0.12.4 - 10.0.12.254 | |||||
| 10.0.13.0/24 | 256 | 251 | 10.0.13.4 - 10.0.13.254 |
AWS reserves 5 IPs per subnet (.0 network, .1 router, .2 DNS, .3 reserved, .255 broadcast)
Free range: 10.0.14.0 – 10.0.255.255
# AWS VPC & Subnet creation -eu-west-1
# Generated by VLANlab (vlanlab.com/cloud/vpc-planner)
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--region eu-west-1 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=main-vpc}]'
# Store the VPC ID
VPC_ID=$(aws ec2 describe-vpcs --filters Name=cidr,Values=10.0.0.0/16 --query 'Vpcs[0].VpcId' --output text)
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.0.0/24 \
--availability-zone eu-west-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-a}]'
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.1.0/24 \
--availability-zone eu-west-1b \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-b}]'
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.4.0/22 \
--availability-zone eu-west-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-a}]'
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.8.0/22 \
--availability-zone eu-west-1b \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-b}]'
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.12.0/24 \
--availability-zone eu-west-1a \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=db-a}]'
aws ec2 create-subnet \
--vpc-id $VPC_ID \
--cidr-block 10.0.13.0/24 \
--availability-zone eu-west-1b \
--tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=db-b}]'
# Internet Gateway (for public subnets)
# aws ec2 create-internet-gateway
# aws ec2 attach-internet-gateway --vpc-id $VPC_ID --internet-gateway-id $IGW_ID
# NAT Gateway (for private subnets outbound traffic)
# aws ec2 create-nat-gateway --subnet-id $PUBLIC_SUBNET_ID --allocation-id $EIP_ID「Cloud VPC Planner」は、ネットワークエンジニアがクラウドコンソールを操作する前に、AWS VPC、Azure Virtual Networks、およびGoogle Cloud VPCのサブネットレイアウトを設計するのに役立ちます。アドレス空間を入力し、アベイラビリティゾーンにまたがるサブネットを定義するだけで、すぐに実行可能なCLIコマンドやTerraform HCLを即座に取得できます。 各プロバイダーはサブネットごとに異なる数のIPアドレスを予約しています(AWSとAzureは5つ、GCPは4つを予約)。そのため、使用可能なホスト数はプロバイダーごとに自動的に計算されます。
一般的な本番環境アーキテクチャに合わせて、AWSおよびAzure向けに標準的な3層構成(2つのAZにまたがるパブリック、プライベート、データベースサブネット)が事前に設定されています。GCPの場合、サブネットはゾーン単位ではなくリージョン単位であるため、「AZ」列は省略されています。 出力形式には、AWS CLI、Azure CLI、Bicep、gcloud CLI、Terraform HCLが含まれており、チームがすでに使用しているIaCツールを自由に選択して利用できます。