昨日までと打って変わっていきなり暑くなってげんなりしてます。吉田です。
暑いの嫌い...でも暑いとビールが美味い。
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は今まさに勉強しているので今後も書いていきたいと思っています。