気温上がりましたね・・・暑いの苦手です。吉田です。
前回までリファレンスを書いてきました。じゃあ実際に作るのはどうすりゃいいんじゃ!
ってことでやっていきます。
前の投稿でも書きましたが、regionは適宜指定してください。
awscliでVPC環境を構築しよう!
今回のゴールはこちら
publicサブネットを1つ持つ一般的なVPCを作成します。
本投稿の目標は
- VPCを作成する
- IGWを作成する
- 作成したIGWをVPCにアタッチする
ところまでやってみたいと思います。
1.VPCの作成
[aws ec2 create-vpc]コマンド
早速VPCを作成していきます。まず使用するのがcreate-vpcコマンド
名前通り、VPCを作成します。
使用するオプションは以下の通りです。
オプション | 意味 | 何を書けば良いか |
---|---|---|
--cidr-block | CIDRを書きます | 192.168.0.0/16とか |
--region | リージョンを書きます | ap-northeast-1など |
aws ec2 create-vpc --cidr-block 10.0.0.0/16
VPCのCIDRを指定して作成します。
コマンドライン上でサンプルコードを実行してください。
東京リージョンに10.0.0.0/16の範囲を持つVPCが一つ作成されます。
成功すると以下のように出力が帰ってくるのでVpcIdを控えておいて下さい。後ほど使用します。
{
"Vpc": {
"InstanceTenancy": "default",
"State": "pending",
"VpcId": "vpc-xxxxxxxx",
"CidrBlock": "10.0.0.0/16",
"DhcpOptionsId": "dopt-xxxxxxxx"
}
}
[aws ec2 create-tags]コマンド
作成したVPCには名前をつけておきましょう。
AWS上のリソースにタグ付けをしておくことは非常に大事です。
CLIで操作する際にタグが付いていると簡単に値を取得できるメリットは大きいですが、やはりそこそこ使っていると「これ、そもそもなんだっけ?必要だっけ?」ってなってきます。名前の管理は大切です。
オプション | 意味 | 何を書けば良いか |
---|---|---|
--resources | タグをつけたいサービスのid | vpc-XXXXXXXX |
今回はVPCなのでVPCのidを指定します。インスタンスならinstanceidを指定します。
aws ec2 create-tags --resources vpc-XXXXXXXX --tags Key=Name,Value=testVPC
VPCidを先ほど作成したvpcのidに指定して作成してください。
成功しても何も帰ってこないのでできたか確認してみましょう。
[describe-tags]コマンド
aws ec2 describe-tags --filters "Name=resource-id,Values=vpc-xxxxxxxx"
{
"Tags": [
{
"ResourceType": "vpc",
"ResourceId": "vpc-xxxxxxxx",
"Value": "testVPC",
"Key": "Name"
}
]
}
このように表示されれば無事VPCにタグ付けがされています。
マネジメントコンソールでもtestVPCが確認できますよ!
2.IGWを作成する
[create-internet-gateway]コマンド
次にIGWを作成していきます。
aws ec2 create-internet-gateway
このコマンドは特にオプションは必要ないのでそのまま実行してください。
強いて言えばregionの指定くらいです。
{
"InternetGateway": {
"Tags": [],
"InternetGatewayId": "igw-xxxxxxxx",
"Attachments": []
}
}
上記の「InternetGatewayId」を控えておいて下さい。後ほど使います。
3.作成したIGWをVPCにアタッチする
[attach-internet-gateway]コマンド
先ほど作ったIGWをVPCにアタッチします。
オプション | 意味 | 何を書けばいいか |
---|---|---|
--internet-gateway-id | IGWのidを指定する | igw-XXXXXXXX |
--vpc-id | IGWをアタッチするVPCを指定する | vpc-xxxxxxxx |
aws ec2 attach-internet-gateway --internet-gateway-id igw-XXXXXXXX --vpc-id vpc-xxxxxxxx
上記サンプルを自分のメモに沿って修正し実行してください。
特に何も表示されなければ大丈夫です。
どうでしょうか?
VPCの作成からIGWのアタッチまでをCLIで実行することができました。
フィルターやjqを使って取得したidを変数化しておけばこれらの操作を自動化することもできますよ♪
次回はサブネットの作成なんかを見ていきたいと思います!