こんにちは。beaglesoftの真鍋です。
AWSでインフラを自由自在に扱うことができるようになった昨今ですが、最初から最後まできっちりと環境を構築する機会には恵まれないものです。時間的な余裕などから、とりあえず画面で設定を行ってなんとか動作するところまで行きましたというケースが多いように思います。
ただ、AWS(にかぎらずクラウドなシステム)では、AWSのインフラをプログラムから制御することこそが必要なことではないでしょうか。時間単位での課金であるからこそ、必要な時間だけ起動する。必要なインスタンスだけ起動する。そういった機動力のあるインフラ管理こそが求められているように思います。
まずは画面で行う操作をAWS CLIを利用して行うところから始めてみました。インフラ構築は最初はいろいろとハマりどころが多いため、うまくいかないこともあります。そんな時に、うまく行った方法が参考になるかもしれませんので履歴として公開したいと懐います。
前提
このエントリーはAmazon Web Services パターン別構築・運用ガイド
を参考にAWS CLIを利用して以下の環境を構築したときの履歴です。
設定を行うためには、IAMアカウント作成など予めAWSを利用する設定が行われていることを前提としています。
Amazon Web Services パターン別構築・運用ガイド
- 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/03/25
- メディア: 大型本
- この商品を含むブログ (2件) を見る
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の作成を行います。