LoginSignup
1
1

More than 5 years have passed since last update.

0.5から始めるAWS CLI入門 - ③VPCの構築

Last updated at Posted at 2016-02-22

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-@@@@@@@@"
    }
}

スクリーンショット 2016-02-22 22.10.20.png

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

間違い、改善点などありましたらご指摘お願いします。

Next:0.5から始めるAWS CLI入門 - ④EC2

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1