Help us understand the problem. What is going on with this article?

[AWSCLI]VPC周りの簡易コマンドリファレンスその3

More than 5 years have passed since last update.

昨日までと打って変わっていきなり暑くなってげんなりしてます。吉田です。
暑いの嫌い...でも暑いとビールが美味い。


vpc編のラストです。
その1、その2でVPCの作成からサブネットの定義まで見ていきました。
今回はIGWのアタッチなどを見ていきます

[AWSCLI]VPC周りの簡易コマンドリファレンスその1
[AWSCLI]VPC周りの簡易コマンドリファレンスその2

公式サイト
http://docs.aws.amazon.com/cli/latest/index.html
基本的にサンプルとかは公式から持ってきています。


aws ec2 create-internet-gateway

IGWを作成するコマンドです。
今回はこれといって指定するオプションはありません。
JSONの出力結果で「InternetGatewayId」が確認できると思うので控えておきましょう。

 igw-XXXXXXXX

aws ec2 describe-internet-gateways

例によって「describe」で確認することができます。
「jq」で整形すれば変数として格納することができます。

オプション  意味     何を書けばいいか
--internet-gateway-ids IGWのid igw-XXXXXXXX

igwのidを指定することによってigwに関しての情報を取得できます。

サンプル
aws ec2 describe-internet-gateways --internet-gateway-ids igw-XXXXXXXX

例によって「 --filters」でフィルターもできます。


aws ec2 attach-internet-gateway

文字通りです。IGWをアタッチします。

オプション  意味     何を書けばいいか
--internet-gateway-id IGWのidを指定する igw-XXXXXXXX
--vpc-id IGWをアタッチするVPCを指定する  vpc-xxxxxxxx

これも単純に、「取り付けたいIGW」「取り付ける先のVPC」を指定してあげるだけです。

サンプル
aws ec2 attach-internet-gateway --internet-gateway-id igw-XXXXXXXX --vpc-id vpc-xxxxxxxx


VPCにIGWをアタッチすることができました。
これであとは前回作成したサブネットのルートテーブルで取り付けたIGWに対して通信を向けてあげればパブリックなサブネットを作成することができます!
あと一踏ん張りです!!!


aws ec2 describe-route-tables

その2で見たコマンドですね。
これを使って作成したルートテーブルのidを確認してください。
控えてあれば大丈夫です。


aws ec2 create-route

ルートテーブルでルートを指定してあげます。

オプション  意味     何を書けばいいか
--route-table-id 設定を行うルートテーブルの指定 rtb-xxxxxxxx
--destination-cidr-block トラフィックの向ける先を指定 0.0.0.0/0で全てのトラフィックの意
--gateway-id トラフィックを向ける先のIGWを指定します igw-XXXXXXXX
--instance-id NATインスタンスに向けたい時に使う i-xxxxxxxx

今回は全てのトラフィックをIGWに向けたいので0.0.0.0/0(全てのトラフィック)としています。
マネジメントコンソールでやる時と一緒です。

サンプル
aws ec2 create-route --route-table-id rtb-xxxxxxxx --destination-cidr-block 0.0.0.0/0 --gateway-id igw-XXXXXXXX

どうですか?
これでもうVPCの設定ができてしまいました!
マネジメントコンソールを使わなくったってAWSは操作できるんです!!!
まあ、これをやるなら確かにマネジメントコンソールの方が楽なのですが、1回やってみると結構勉強になるので自分で叩いてみるといいと思います。
自分は最初挫折しそうになりましたが、頑張っているいうちに拒否反応起こさなくなってきました!

最後に、サブネット内のインスタンスに自動でパブリックIPを振る設定をして終わりにしたいと思います。


aws ec2 modify-subnet-attribute

その1でVPCの設定を修正しました。今回はサブネットの修正を行います。

--subnet-id subnet-xxxxxxxx

毎度のことですね。設定を行うサブネットをidで指定します。
重要なのは以下のオプション。

--map-public-ip-on-launch
--no-map-public-ip-on-launch

このオプションでインスタンスにパブリックIPを振るかどうかを指定します。
「--map-public-ip-on-launch 」を指定します。

サンプル
aws ec2 modify-subnet-attribute --subnet-id subnet-xxxxxxxx --map-public-ip-on-launch

以上、3回にわたってVPCの作成コマンドを確認してきました。
これらのコマンドを使用すればマネジメントコンソールに頼ることなくVPCを作成することができます。
AWSCLIは今まさに勉強しているので今後も書いていきたいと思っています。

Yuki_BB3
バイクと酒と戦車道 こちらに記載した内容は所属会社とは関係ありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away