AWSでの環境構築 - VPCを作成する(1/7)

こんにちは。beaglesoftの真鍋です。

AWSでインフラを自由自在に扱うことができるようになった昨今ですが、最初から最後まできっちりと環境を構築する機会には恵まれないものです。時間的な余裕などから、とりあえず画面で設定を行ってなんとか動作するところまで行きましたというケースが多いように思います。

ただ、AWS(にかぎらずクラウドなシステム)では、AWSのインフラをプログラムから制御することこそが必要なことではないでしょうか。時間単位での課金であるからこそ、必要な時間だけ起動する。必要なインスタンスだけ起動する。そういった機動力のあるインフラ管理こそが求められているように思います。

まずは画面で行う操作をAWS CLIを利用して行うところから始めてみました。インフラ構築は最初はいろいろとハマりどころが多いため、うまくいかないこともあります。そんな時に、うまく行った方法が参考になるかもしれませんので履歴として公開したいと懐います。

前提

このエントリーはAmazon Web Services パターン別構築・運用ガイド を参考にAWS CLIを利用して以下の環境を構築したときの履歴です。

AWS-VPC.png (61.7 kB)

設定を行うためには、IAMアカウント作成など予めAWSを利用する設定が行われていることを前提としています。

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

VPCを作成する

AWS CLIを利用してVPCを構築します。

パラメータ情報

今回構築するVPCの設定は以下のとおりとします。

設定項目 設定値
CIDR block 10.10.10.0/16
Tenancy default
DHCP options set AWS標準
DNS resolution 有効
DNS hostnames 有効

CLIによる実行

以下のコマンドを利用してVPCを構築します。

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~ ‹2.2.4›
╰─$ mkdir aws_work

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~/aws ‹2.2.4›
╰─$ cd aws_work

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~/aws_work ‹2.2.4›
╰─$ aws ec2 create-vpc --cidr-block 10.0.0.0/16
{
    "Vpc": {
        "InstanceTenancy": "default",
        "State": "pending",
        "VpcId": "vpc-6a97c20f",
        "CidrBlock": "10.0.0.0/16",
        "DhcpOptionsId": "dopt-1d18de78"
    }
}

VPCのオプションを指定する

構築したVPCにenableDnsHostnamesを設定します。

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~/aws_work ‹2.2.4›
╰─$ aws ec2 modify-vpc-attribute --vpc-id vpc-6a97c20f --enable-dns-hostnames

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~/aws_work ‹2.2.4›
╰─$ aws ec2 describe-vpc-attribute --vpc-id vpc-6a97c20f --attribute enableDnsHostnames                                                                                        255 ↵
{
    "VpcId": "vpc-6a97c20f",
    "EnableDnsHostnames": {
        "Value": true
    }
}

構築されたVPCの確認

ここまでの状況を確認します。このとき、VPC IDがvpc-30b72f55のようにデフォルトVPCが作成されますが、こちらは利用しません。

╭─ymanabe@Yoichiro-no-MacBook-Pro  ~/aws_work ‹2.2.4›
╰─$ aws ec2 describe-vpcs                                                                                                                                                      255 ↵
{
    "Vpcs": [
        {
            "VpcId": "vpc-6a97c20f",
            "InstanceTenancy": "default",
            "State": "available",
            "DhcpOptionsId": "dopt-1d18de78",
            "CidrBlock": "10.0.0.0/16",
            "IsDefault": false
        },
        {
            "VpcId": "vpc-30b72f55",
            "InstanceTenancy": "default",
            "State": "available",
            "DhcpOptionsId": "dopt-1d18de78",
            "CidrBlock": "172.31.0.0/16",
            "IsDefault": true
        }
    ]
}

以上でVPCの作成は完了です。次回はSubnetの作成を行います。

blog.beaglesoft.net

AWSでの環境構築のエントリー全体

AWSでの環境構築は全体で7回に分かれています。このエントリーは4回めになります。

blog.beaglesoft.net

blog.beaglesoft.net

blog.beaglesoft.net

blog.beaglesoft.net

blog.beaglesoft.net

blog.beaglesoft.net

blog.beaglesoft.net