AWS VPCの「ルートテーブル」を攻略!パケットの行き先を制御する「郵便配達の仕組み」を学ぼう
クラウドインフラの世界へようこそ!AWSでサーバーを立てる際、避けては通れないのが「VPC(Virtual Private Cloud)」という仮想ネットワーク環境です。
「サブネット?インターネットゲートウェイ?なんだか難しそう…」と不安になる方も多いはず。今回は、ネットワークの司令塔である「ルートテーブル」に焦点を当てて、まるで郵便配達の仕組みを理解するような感覚で、その裏側を紐解いていきましょう。
—
1. ルートテーブルは「郵便の仕分け人」
VPCの中にいるパケット(通信の塊)たちは、みんな迷子になりがちです。あるパケットは「外のWebサイトを見に行きたい」、またあるパケットは「隣のサーバーにデータを送りたい」と、やりたいことはバラバラ。
このパケットたちに対して、「君はこっちへ行け!」「君はあっちのゲートを通れ!」と指示を出すのが、ルートテーブルの役割です。
想像してみてください。あなたは巨大なマンションの管理室にいて、毎日届く大量の郵便物を仕分けています。
- 宛先が「マンション内の部屋番号」なら、館内の通路へ。
- 宛先が「マンションの外(海外など)」なら、郵便ポスト(インターネットゲートウェイ)へ。
ルートテーブルとは、まさにこの「宛先に応じた仕分けルール」が書かれた指示書そのものなのです。
—
2. デフォルトルート(0.0.0.0/0)という「魔法の合言葉」
ネットワークの世界で一番よく見るのが、この 0.0.0.0/0 という不思議な数字の並びです。
これはネットワーク用語で「デフォルトルート」と呼ばれます。「宛先がどこであろうと、とりあえずここへ行け!」という、最強の逃げ道です。
郵便で例えるなら、「住所がよく分からない手紙は、すべてとりあえず中央郵便局へ送ってくれ!」というルールです。インターネットという広大な大海原へ出ていくための唯一の出口である「インターネットゲートウェイ(IGW)」を指定する際に、この 0.0.0.0/0 が使われます。
—
3. 実践!ルートテーブルを設定してみよう
では、実際にAWSのコンソールやCLIで、どのように設定するのかを見ていきましょう。今回は「パブリックサブネット(インターネットに出られるエリア)」を作るための設定です。
AWS CLIでの設定例
もし皆さんが、コマンドラインからルートテーブルに「インターネットへ向かう道」を追加するとしたら、以下のようなイメージになります。
# 1. ルートテーブルに、0.0.0.0/0(すべて)をインターネットゲートウェイへ送るルールを追加
aws ec2 create-route \
--route-table-id rtb-1234567890abcdef0 \
--destination-cidr-block 0.0.0.0/0 \
--gateway-id igw-0a1b2c3d4e5f6g7h8 # ここがインターネットゲートウェイのIDです
# 成功すれば、パケットは無事に外の世界へ飛び出せるようになります!
設定時のポイント(ここが大事!)
- 宛先 (
Destination):0.0.0.0/0を指定します。「世界中のどこへでも」という意味ですね。 - ターゲット (
Target): ここにigw-xxxxxxxx(インターネットゲートウェイ)を指定します。これで、「外に行きたいパケット」を現実世界のインターネットへ送り出すパイプラインが完成します。
—
4. なぜ「プライベートサブネット」は外に出られないのか?
逆に、皆さんがよく聞く「プライベートサブネット」は、どうしてインターネットに繋がらないのでしょうか?
答えは簡単。「ルートテーブルに 0.0.0.0/0 のルールを書いていないから」です。
プライベートサブネットのルートテーブルには、「VPC内の通信(自分たちのローカルネットワーク)」というルールしか書かれていません。外へ向かう指示がないので、パケットは行き場を失い、消滅してしまいます。これが「セキュリティが強固」と言われる理由です。
—
最後に:一歩ずつ理解すれば怖くない
いかがでしたか?ルートテーブルを「難解なルーター設定」と捉えず、「郵便の仕分けルール」として考えることで、少し身近に感じられたのではないでしょうか。
1. ルートテーブルはパケットの行き先を決める指示書。
2. 0.0.0.0/0 は「とりあえず外へ!」という魔法のルール。
3. インターネットゲートウェイは、外の世界へ繋がる唯一の郵便ポスト。
この3つの関係性さえ押さえておけば、皆さんのネットワーク構築スキルは格段に安定します。まずは小さなVPCを作って、ルートテーブルを書き換え、パケットの流れを想像するところから始めてみてくださいね。
また次の記事で、より深いトラブルシューティングの世界でお会いしましょう!応援しています!
コメント