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

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

More than 5 years have passed since last update.

週末なので安いチリ産のワインを飲みながら書いています。吉田です。
昨日に引き続きVPCの構築です。

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


公式サイト
http://docs.aws.amazon.com/cli/latest/index.html

基本的にサンプルとかは公式から持ってきています。

続きです。
前回の投稿では「create-vpc」コマンドを使いVPCを作成し、「describe」で情報の確認。
「modify」で情報の修正を行いました。
今回はサブネットの作成などを見ていきましょう。


aws ec2 create-subnet

オプション  意味     何を書けばいいか
--vpc-id VPCを指定する  vpc-XXXXXXXX
--cidr-block サブネットのCIDR  10.0.0.0/24
--availability-zone サブネットを所属させるAZ ap-northeast-1aなど

サンプル
aws ec2 create-subnet --vpc-id vpc-XXXXXXXX --cidr-block 10.0.0.0/24 --availability-zone ap-northeast-1a

実例があっても少しイメージしにくいですよね?
そんな時はマネジメントコンソールでの設定を思い出してみましょう。
いつもと同じことをしているだけです。
AZ書かないとマネジメントコンソールの時みたいによしなにしてくれます。


aws ec2 describe-subnets

VPCの時同様ですね。
つまり今回はサブネットについての描写をさせます。
何を確認したいかというと「サブネットID」こいつは後で使います。

--subnet-ids

をつかってサブネットを指定して情報を確認することももちろん可能です。
しかし、今回はそのIDを取得したいので別のオプションを使用します。

前回のラストで便利と書いた「--filters」オプションです。

サンプル
aws ec2 describe-subnets --filters "Name=cidrBlock,Values=10.0.0.0/24"

これでしていしたCIDRに当てはまるサブネットの情報を取り出すことができます。
標準出力の内容は前回の最後に書いたように変数に格納できるので汎用性を考えて繰り返し使用する方はぜひ「jq」を使ってフィルタリングしてみてください。
今回は出力されたサブネットIDをメモしておきます。


awsec2 associate-route-table

associate[他・動]~を関連付ける
まあ、そこにあるルートテーブルをサブネットに紐付けるって意味ですね。

あれ?ルートテーブル作ってねぇよ!?って思うかもしれませんが、マネジメントコンソールを思い出してみてください。サブネット作るとデフォで1個ついてきてます。そいつを使えば良いのです。


オプション  意味     何を書けばいいか
--route-table-id ルートテーブルID rtb-xxxxxxxx
--subnet-id サブネットのID  subnet-xxxxxxxx
サンプル
aws ec2 associate-route-table --route-table-id rtb-xxxxxxxx --subnet-id subnet-xxxxxxxx

このようにアタッチ予定のルートテーブルとアタッチ先のサブネットをオプションで指定してあげれば紐付けることができます。

ルートテーブルのIDなんてわからないって?
そうですね。確認していないものを先出ししました。

どうすれば良いと思いますか?

・・・

・・・

・・・

そうです、いつも通り確認なので「describe」です!


aws ec2 describe-route-tables

このコマンドをつかってルートテーブルのIDを確認します。
こいつはオプションで「--route-table-ids」が使えるのでわかっているルートテーブルに関しての情報取得も可能です。
わかりやすく取るなら例によって「jq」です。
今回は表示されたJSONから目視でIDを控えることとします。


サブネット作成完了

ここまでで、サブネットの作成することができました。
サブネットは「プライベート」と「パブリック」なものを作成することができますね。
パブリックなサブネットとは、要するに外部との通信ができる「IGW」に対して通信が向いているものを指します。
マネジメントコンソールを思い出すとわかりやすいですが、サブネットだけ作成すると当初のルートテーブルはIGWへ通信が向いていません、
つまり、ここまでの作業で「プライベートサブネット」は作成できたことになります。
次回はこのサブネットを「パブリックサブネット」として利用するための作業を見ていきましょう。

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