AWS CLI勉強中の内容をまとめていきます。
PREV:0.5から始めるAWS CLI入門 - ②基本使用
hiroshik1985さんの0から始めるAWS入門①:VPC編の内容をAWS CLIで行います(若干違うとこもあります)。
0から始めるAWS入門:概要は、凄くわかりやすいので一読をお勧めします。
※アルファベット大文字もしくは@が8文字連続する場所は、出力されたidを入力して下さい。
#VPCの作成
10.0.0.0/16のアドレス空間を扱うVPCを作成する。
項目 | 値 |
---|---|
Name tag | 任意 |
CIDR | 10.0.0.0/16 |
tenancy | Default |
$ aws ec2 create-vpc --cidr-block 10.0.0.0/16
{
"Vpc": {
"InstanceTenancy": "default",
"State": "pending",
"VpcId": "vpc-@@@@@@@@",
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-@@@@@@@@"
}
}
VPCは作成されました、Nameタグをつけてあげます。
$ aws ec2 create-tags --resources vpc-@@@@@@@@ --tags Key=Name,Value=Test-VPC
#Subnetの作成
上記で作ったVPC内のAZ-aとAZ-cにSubnetを作成する。このVPC内で扱うアドレス空間として、CIDRは10.0.0.0/24と10.0.1.0/24とする。
項目 | 値 |
---|---|
Name tag | 任意(VPCのタグ名と関連付けたほうが管理しやすい) |
VPC | 上記で作成したVPCを選択する |
Availability Zone | ap-northeast-1a |
CIDR | 10.0.0.0/24 |
項目 | 値 |
---|---|
Name tag | 任意(VPCのタグ名と関連付けたほうが管理しやすい) |
VPC | 上記で作成したVPCを選択する |
Availability Zone | ap-northeast-1c |
CIDR | 10.0.1.0/24 |
$ aws ec2 create-subnet --vpc-id vpc-@@@@@@@@ --availability-zone ap-northeast-1a --cidr-block 10.0.0.0/24
{
"Subnet": {
"VpcId": "vpc-@@@@@@@@",
"CidrBlock": "10.0.0.0/24",
"State": "pending",
"AvailabilityZone": "ap-northeast-1a",
"SubnetId": "subnet-AAAAAAAA",
"AvailableIpAddressCount": 251
}
}
$ aws ec2 create-subnet --vpc-id vpc-@@@@@@@@ --availability-zone ap-northeast-1c --cidr-block 10.0.1.0/24
{
"Subnet": {
"VpcId": "vpc-@@@@@@@@",
"CidrBlock": "10.0.1.0/24",
"State": "pending",
"AvailabilityZone": "ap-northeast-1c",
"SubnetId": "subnet-CCCCCCCC",
"AvailableIpAddressCount": 251
}
}
VPCと同様にNameタグをつけてあげる
$ aws ec2 create-tags --resources subnet-AAAAAAAA --tags Key=Name,Value=Test-subnet-AZ-a
$ aws ec2 create-tags --resources subnet-CCCCCCCC --tags Key=Name,Value=Test-subnet-AZ-c
#Internet Gatewayの追加
Internet Gatewayを作成
$ aws ec2 create-internet-gateway
{
"InternetGateway": {
"Tags": [],
"InternetGatewayId": "igw-IIIIIIII",
"Attachments": []
}
}
VPC・Subnetと同様にNameタグをつけてあげる。
$ aws ec2 create-tags --resources igw-IIIIIIII --tags Key=Name,Value=Test-igw
VPCにアタッチ
$ aws ec2 attach-internet-gateway --internet-gateway-id igw-IIIIIIII --vpc-id vpc-@@@@@@@@
#Routes Tableの作成
Routes TableはVPCを作成したら、デフォルトであるのですが今回は別途作成します。
$ aws ec2 create-route-table --vpc-id vpc-@@@@@@@@
{
"RouteTable": {
"Associations": [],
"RouteTableId": "rtb-RRRRRRRR",
"VpcId": "vpc-@@@@@@@@",
"PropagatingVgws": [],
"Tags": [],
"Routes": [
{
"GatewayId": "local",
"DestinationCidrBlock": "10.0.0.0/16",
"State": "active",
"Origin": "CreateRouteTable"
}
]
}
}
Nameタグ〜(略
$ aws ec2 create-tags --resources rtb-RRRRRRRR --tags Key=Name,Value=Test-rtb
サブネットの関連付けもしとく
$ aws ec2 associate-route-table --route-table-id rtb-RRRRRRRR --subnet-id subnet-AAAAAAAA
{
"AssociationId": "rtbassoc-SSSSSSSS"
}
$ aws ec2 associate-route-table --route-table-id rtb-RRRRRRRR --subnet-id subnet-CCCCCCCC
{
"AssociationId": "rtbassoc-TTTTTTTT"
}
Internet Gatewayへルーティング
$ aws ec2 create-route --route-table-id rtb-RRRRRRRR --destination-cidr-block 0.0.0.0/0 --gateway-id igw-IIIIIIII
{
"Return": true
}
#おまけ
VPCのテナンシーをハードウェア専有で作成する場合
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --instance-tenancy dedicated
間違い、改善点などありましたらご指摘お願いします。