AWS CLI(VPC)

VPCの作成
aws ec2 create-vpc \
--cidr-block 172.16.0.0/16 \
--instance-tenancy default


※同時に下記も作成される
ルートテーブル
DHCPオプションセット


VPCの一覧
aws ec2 describe-vpcs
aws ec2 describe-vpcs | jq -r '.Vpcs.VpcId'


VPCの削除
aws ec2 delete-vpc \
--vpc-id vpc-12345678901234567

※デフォルトVPCはコマンドでは削除できない


デフォルトVPCの作成
aws ec2 create-default-vpc

※同時に下記も作成される
各AZにデフォルトサブネット
ルートテーブル
インターネットゲートウェイ
DHCPオプションセット

 


タグの作成
aws ec2 create-tags \
--resources vpc-12345678901234567 \
--tags Key=Name,Value=MyVPC


タグの一覧

aws ec2 describe-tags
aws ec2 describe-tags | jq -r '.Tags | [.Key, .Value]'


タグの削除

aws ec2 delete-tags \
--resources vpc-12345678901234567 \
--tags Key=Name,Value=MyVPC

 

AZの一覧
aws ec2 describe-availability-zones
aws ec2 describe-availability-zones | jq -r '.AvailabilityZones.ZoneName'


リージョンの一覧
aws ec2 describe-regions
aws ec2 describe-regions | jq -r '.Regions.RegionName'

 


サブネットの作成
aws ec2 create-subnet \
--availability-zone ap-northeast-1a \
--cidr-block 172.16.1.0/24 \
--vpc-id vpc-12345678901234567

 

サブネットの一覧
aws ec2 describe-subnets
aws ec2 describe-subnets | jq -r '.Subnets.SubnetId'


サブネットの削除
aws ec2 delete-subnet \
--subnet-id subnet-12345678901234567

 


インターネットゲートウェイの作成
aws ec2 create-internet-gateway

 

インターネットゲートウェイの一覧
aws ec2 describe-internet-gateways
aws ec2 describe-internet-gateways | jq -r '.InternetGateways.InternetGatewayId'

 

インターネットゲートウェイの削除
aws ec2 delete-internet-gateway \
--internet-gateway-id igw-12345678901234567

 

インターネットゲートウェイVPCへのアタッチ
aws ec2 attach-internet-gateway \
--internet-gateway-id igw-12345678901234567 \
--vpc-id vpc-12345678901234567


インターネットゲートウェイVPCからデタッチ
aws ec2 detach-internet-gateway \
--internet-gateway-id igw-12345678901234567 \
--vpc-id vpc-12345678901234567


ルートテーブルの作成
aws ec2 create-route-table \
--vpc-id vpc-12345678901234567

 

ルートテーブルの一覧

aws ec2 describe-route-tables
aws ec2 describe-route-tables | jq -r '.RouteTables.RouteTableId'


ルートテーブルの削除
aws ec2 delete-route-table \
--route-table-id rtb-12345678901234567


※メインのルートテーブルは削除できない


ルートテーブルへのルート追加
aws ec2 create-route \
--destination-cidr-block 0.0.0.0/0 \
--gateway-id igw-12345678901234567 \
--route-table-id rtb-12345678901234567


ルートテーブルからのルート削除

aws ec2 delete-route \
--destination-cidr-block 0.0.0.0/0 \
--route-table-id rtb-12345678901234567


ルートテーブルのサブネットへのアタッチ
aws ec2 associate-route-table \
--route-table-id rtb-12345678901234567 \
--subnet-id subnet-12345678901234567


aws ec2 describe-route-tables | jq -r '.RouteTables.Associations.RouteTableAssociationId'


ルートテーブルのサブネットからのデタッチ
aws ec2 disassociate-route-table \
--association-id rtbassoc-12345678901234567

 


NACLの作成
aws ec2 create-network-acl \
--vpc-id vpc-12345678901234567

 

NACLの一覧
aws ec2 describe-network-acls

aws ec2 describe-network-acls | jq -r '.NetworkAcls.NetworkAclId'
aws ec2 describe-network-acls | jq -r '.NetworkAcls.Associations.NetworkAclAssociationId'

 

NACLの削除

aws ec2 delete-network-acl \
--network-acl-id acl-12345678901234567

 

NACLへのルール追加
aws ec2 create-network-acl-entry \
--cidr-block 0.0.0.0/0 \
--ingress \
--network-acl-id acl-12345678901234567 \
--port-range From=0,To=65535 \
--protocol tcp \
--rule-action allow \
--rule-number 10

aws ec2 create-network-acl-entry \
--cidr-block 0.0.0.0/0 \
--egress \
--network-acl-id acl-12345678901234567 \
--port-range From=0,To=65535 \
--protocol tcp \
--rule-action allow \
--rule-number 10

 

 

NACLからのルール削除
aws ec2 delete-network-acl-entry \
--ingress \
--network-acl-id acl-12345678901234567 \
--rule-number 10

aws ec2 delete-network-acl-entry \
--egress \
--network-acl-id acl-12345678901234567 \
--rule-number 10

 

 

NACLのサブネットへのアタッチ

aws ec2 replace-network-acl-association \
--association-id aclassoc-12345678901234567 \
--network-acl-id acl-12345678901234567


EIPの割り当て
aws ec2 allocate-address


EIPの一覧
aws ec2 describe-addresses


EIPの関連付け
aws ec2 associate-address \
--allocation-id eipalloc-12345678901234567 \
--instance-id i-12345678901234567

 

EIPの関連付けの開放
aws ec2 disassociate-address \
--association-id eipassoc-12345678901234567


EIPの解放

aws ec2 release-address \
--allocation-id eipalloc-12345678901234567

 

NATゲートウェイの作成
aws ec2 create-nat-gateway \
--allocation-id eipalloc-12345678901234567 \
--subnet-id subnet-12345678901234567

 

NATゲートウェイの一覧
aws ec2 describe-nat-gateways

 


NATゲートウェイの削除
aws ec2 delete-nat-gateway \
--nat-gateway-id nat-12345678901234567