AWSの「インターネットゲートウェイ」を攻略!パケットの旅路を郵便配達で解き明かす
こんにちは!クラウドの深淵を日々探求しているSREです。
AWSを触り始めると必ずぶつかるのが「VPC」「サブネット」「インターネットゲートウェイ」という言葉の壁。特に「パブリックサブネットにあるインスタンスって、どうやってインターネットと通信してるの?」という疑問は、インフラエンジニアの登竜門ですよね。
今回は、難しい専門用語を一旦脇に置いて、パケット(通信の荷物)がどのように変換され、海の外へ飛び出していくのかを「郵便配達」に例えて紐解いていきましょう!
—
1. なぜ「変換(NAT)」が必要なのか?
まず前提として、AWSの仮想ネットワーク内にあるインスタンスは、プライベートな住所(プライベートIPアドレス)を持っています。これは、いわば「社内便の宛先」のようなもの。社内(VPC内)では通用しても、広大なインターネットの世界では、その住所は一意ではないため届きません。
そこで登場するのが NAT(Network Address Translation:ネットワークアドレス変換) です。
- SNAT(送信元アドレス変換): 「社内の人間が外に手紙を出す際、会社の代表アドレスに書き換えて出す」こと。
- DNAT(宛先アドレス変換): 「外から届いた手紙を、会社の代表アドレスで受け取り、中の担当者に転送する」こと。
AWSにおける Elastic IP (EIP) は、この「会社の代表アドレス」の役割を果たします。
—
2. インターネットゲートウェイは「郵便局の仕分け窓口」
パブリックサブネットにあるインスタンスに EIP を割り当てると、通信の出口である Internet Gateway (IGW) で魔法のような変換が起こります。
送信時(SNAT)の流れ
1. インスタンス: 自分のプライベートIP(例: 10.0.1.5)で荷物にラベルを貼る。
2. IGW到達: 荷物が IGW に届くと、「おっと、外に出すなら EIP(例: 54.xxx.xxx.xxx)に書き換えないと届かないぞ!」と判断されます。
3. 書き換え: 荷物の差出人欄が EIP に書き換えられ、インターネットへ旅立ちます。
受信時(DNAT)の流れ
1. インターネット: EIP 宛に荷物が届く。
2. IGW到達: IGW が「これは 10.0.1.5 宛の荷物だ!」と中身の記録を見て判断。
3. 書き換え: 宛先を本来のプライベートIPに戻し、インスタンスへ届ける。
この「住所の書き換え」を自動で行ってくれるのが、AWSの基盤ネットワークの凄いところなんです。
—
3. 実践:AWS CLIで確認してみよう
「理屈はわかったけど、実際にどう設定されているの?」という方のために、設定を確認するコマンドを紹介します。特別なコードを書かなくても、AWSはすでに裏側でこの仕組みを構築してくれています。
例えば、特定のインスタンスに割り当てられている EIP を確認するには、以下のコマンドを使います。
# インスタンスIDを指定して、関連付けられているEIP情報を取得します
aws ec2 describe-addresses \
--filters "Name=instance-id,Values=i-xxxxxxxxxxxxxxxxx" \
--query "Addresses[*].{PublicIp:PublicIp, PrivateIp:PrivateIp}" \
--output table
# 出力結果イメージ
# -----------------------------------------------------------
# | DescribeAddresses |
# +--------------+------------------------------------------+
# | PrivateIp | PublicIp |
# +--------------+------------------------------------------+
# | 10.0.1.5 | 54.xxx.xxx.xxx |
# +--------------+------------------------------------------+
この結果が、まさに「どのプライベートIPがどのパブリックIPと紐付いているか」を示すNATの対応表の正体です。
—
4. 現場で役立つチェックポイント
最後に、トラブルシューティングで必ず確認すべきポイントを伝授します。通信が繋がらないときは、だいたいこの3つのどれかが犯人です。
1. ルートテーブルの設定: サブネットのルートテーブルに 0.0.0.0/0 → igw-xxxxxxxx の経路は記載されていますか?これがないと、荷物は郵便局(IGW)まで運ばれません。
2. セキュリティグループ: EIP を持っていても、セキュリティグループで 80 や 443 ポートが許可されていないと、郵便受けの前で「立ち入り禁止」と言われてしまいます。
3. ネットワークACL: もっと厳格な「工場の守衛さん」のような存在です。インバウンドとアウトバウンドの両方で許可されているか確認しましょう。
—
最後に:一歩ずつ理解を深めていきましょう
いかがでしたか?「IPアドレスの書き換え」と聞くと難しく感じますが、郵便配達の流れを想像すると、少し身近に感じられるのではないでしょうか。
クラウドの世界は広大ですが、基本は常に「パケット(荷物)」の動きです。これからも、一つひとつの仕組みを丁寧に紐解いて、自信を持ってインフラを構築していきましょう!
もし分からないことがあれば、いつでもまた聞きに来てくださいね。あなたのクラウドライフが素晴らしいものになりますように!
コメント