こんにちは nakada です。 CLIシリーズのpart2です。今回はVPC,subnet関連をご紹介します。
目次
環境
実行環境は次の通り。
$ aws --version aws-cli/1.7.44 Python/2.7.9 Linux/3.14.35-28.38.amzn1.x86_64 $ jq -V jq-1.4
VPCの操作
VPCの作成
VPCの作成には次のコマンドを実行します。
aws ec2 create-vpc
[--dry-run | --no-dry-run]
--cidr-block
[--instance-tenancy ]
[--cli-input-json ]
[--generate-cli-skeleton]
実行結果
$ aws ec2 create-vpc --cidr-block 10.0.0.0/16 { "Vpc": { "InstanceTenancy": "default", "State": "pending", "VpcId": "vpc-xxxxxxx", "CidrBlock": "10.0.0.0/16", "DhcpOptionsId": "dopt-xxxxxxx" } }
作成したVPCのVpcIdだけ知りたい場合
$ aws ec2 create-vpc --cidr-block 10.0.0.0/16 |jq -r '.Vpc | .VpcId' vpc-xxxxxxx
VPCの確認
VPCの確認には次のコマンドを使用します。
aws ec2 describe-vpcs
[--dry-run | --no-dry-run]
[--vpc-ids
[--filters
[--cli-input-json
[--generate-cli-skeleton]
上で作成したVPC情報を確認します。 実行結果
$ aws ec2 describe-vpcs --vpc-ids vpc-xxxxxxx { "Vpcs": [ { "VpcId": "vpc-xxxxxxx", "InstanceTenancy": "default", "State": "available", "DhcpOptionsId": "dopt-xxxxxxx", "CidrBlock": "10.0.0.0/16", "IsDefault": false } ] }
VPCの削除
VPCの削除には次のコマンドを使用します。
aws ec2 delete-vpc
[--dry-run | --no-dry-run]
--vpc-id
実行結果(コマンドが成功してもアウトプットは出力されません。)
$ aws ec2 delete-vpc --vpc-id vpc-xxxxxxx
VPCへのタグ追加
VPCにタグを追加します。
使用するコマンド
aws ec2 create-tags
[--dry-run | --no-dry-run]
--resources
作成したVPCにタグを追加します。今回はName keyを追加しています
実行結果
$ aws ec2 create-tags --resources vpc-xxxxxxx --tags Key=Name,Value=VPC-TEST $ aws ec2 describe-vpcs --vpc-ids vpc-xxxxxxx { "Vpcs": [ { "VpcId": "vpc-xxxxxxx", "InstanceTenancy": "default", "Tags": [ { "Value": "VPC-TEST", "Key": "Name" } ], "State": "available", "DhcpOptionsId": "dopt-xxxxxxx", "CidrBlock": "10.0.0.0/16", "IsDefault": false } ] }
タグで作成した名前からVpcIdを取得してみる
$ aws ec2 describe-vpcs --filters Name=tag-value,Values="VPC-TEST" |jq -r '.Vpcs[].Vpc Id' vpc-xxxxxxx
subnetの操作
subnetの作成
使用するコマンド
aws ec2 create-subnet
[--dry-run | --no-dry-run]
--vpc-id
実行結果
$ aws ec2 create-subnet --vpc-id vpc-xxxxxxx --cidr-block 10.0.1.0/24 --availability-zone ap-northeast-1a { "Subnet": { "VpcId": "vpc-xxxxxxx", "CidrBlock": "10.0.1.0/24", "State": "pending", "AvailabilityZone": "ap-northeast-1a", "SubnetId": "subnet-xxxxxxx", "AvailableIpAddressCount": 251 } } $ aws ec2 describe-subnets --subnet-id subnet-xxxxxxx { "Subnets": [ { "VpcId": "vpc-xxxxxxx", "CidrBlock": "10.0.1.0/24", "MapPublicIpOnLaunch": false, "DefaultForAz": false, "State": "available", "AvailabilityZone": "ap-northeast-1a", "SubnetId": "subnet-xxxxxxx", "AvailableIpAddressCount": 251 } ] }
subnetの削除
使用するコマンド
[--dry-run | --no-dry-run]
--subnet-id
実行結果(コマンドが成功してもアウトプットは出力されません。)
$ aws ec2 delete-subnet --subnet-id subnet-xxxxxxx
今回はVPCとsubnetについてご紹介しました。