0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS VPC】ルートテーブル完全ガイド:基本からIngress Routing、詳細設定まで

0
Posted at

AWSのネットワーク設計において、最も基本的かつ重要なコンポーネントの一つが**「ルートテーブル」**です。
単に「インターネットにつなぐための設定」として済ませてしまいがちですが、実はセキュリティアプライアンスの導入や、高度なトラフィック制御を行うためには、その仕様を深く理解しておく必要があります。

この記事では、AWS公式ドキュメントをベースに、ルートテーブルの基礎から、意外と知られていない応用機能までを徹底解説します。

1. ルートテーブルの基本概念

ルートテーブルは、サブネットまたはゲートウェイからのネットワークトラフィックの経路(ルール)を定義したセットです。

主要コンポーネント

  • 送信先 (Destination): トラフィックの行き先となるCIDRブロック(例: 0.0.0.0/0, 10.0.0.0/16)。
  • ターゲット (Target): そのトラフィックを送り込むAWSリソース(例: igw-xxxxx (インターネットゲートウェイ), nat-xxxxx (NATゲートウェイ), eni-xxxxx (ネットワークインターフェイス))。

メインルートテーブルとカスタムルートテーブル

  • メインルートテーブル: VPC作成時に自動的に作られるテーブル。明示的にルートテーブルを関連付けていないサブネットは、自動的にこのテーブルを使用します(暗黙の関連付け)。
  • カスタムルートテーブル: ユーザーが独自に作成し、特定のサブネットに関連付けて使用するテーブル。通常はこちらを使用し、サブネットごとの役割(パブリック/プライベート)を明確にすることが推奨されます。

2. ルーティングの優先順位 (Longest Prefix Match)

ルートテーブルに複数のルールが存在し、送信先CIDRが重複している場合、AWSは**「最長プレフィックス一致 (Longest Prefix Match)」**の原則に従ってルートを選択します。

つまり、**「より具体的で狭い範囲を指定しているルート」**が優先されます。

例:

  • ルートA: 10.0.0.0/16 -> Target: Local
  • ルートB: 10.0.1.0/24 -> Target: eni-12345678 (Firewall)

この場合、10.0.1.5 への通信は、よりプレフィックス長が長い(具体的な)ルートB が採用され、Firewallへルーティングされます。
※ ただし、10.0.0.0/16 (Local) ルートよりも具体的なルートをサブネットルートテーブルに追加することは、ターゲットがGateway Load Balancer Endpointや特定のミドルボックス用ENIである場合など、特定の条件下でのみ可能です。

3. 高度な機能:ゲートウェイルートテーブル (Ingress Routing)

通常、ルートテーブルはサブネットに関連付けますが、インターネットゲートウェイ (IGW)仮想プライベートゲートウェイ (VGW) に関連付けることも可能です。これをゲートウェイルートテーブルと呼びます。

何ができるのか? (Ingress Routing)

インターネットからVPCに入ってくるトラフィックを、目的のサブネットに届く前に、セキュリティアプライアンス(Firewall等)やGateway Load Balancerのエンドポイントに強制的に迂回させることができます。

設定イメージ:

  1. IGWに関連付けたルートテーブル:
    • 送信先: 10.0.1.0/24 (アプリ用サブネット)
    • ターゲット: eni-firewall (FirewallのENI)
  2. トラフィックフロー:
    • インターネット -> IGW -> (ルートテーブル参照) -> Firewall -> アプリ用サブネット

これにより、侵入検知システム (IDS/IPS) を透過的に挟むような構成が可能になります。

4. 高度な機能:ローカルルートのターゲット置換

デフォルトでは、ルートテーブルには 10.0.0.0/16 などのVPC CIDR範囲に対するターゲット Local が存在し、これは削除できません。通常、VPC内の通信はすべてこの Local ルートによって直接行われます。

しかし、特定の要件(VPC内の通信もすべて検査したい場合など)のために、このローカルルートのターゲットを置き換えることが可能です。

  • 変更前: 10.0.0.0/16 -> Local
  • 変更後: 10.0.0.0/16 -> eni-firewall

これにより、VPC内部の通信(East-Westトラフィック)であっても、指定したアプライアンスを経由させることができます。後で Local に戻す(復元する)ことも可能です。

5. 操作と運用のポイント

メインルートテーブルの置換

メインルートテーブルを直接編集するのではなく、新しいカスタムルートテーブルを作成し、それを「メイン」に昇格(置換)させる運用が安全です。

  • 手順: VPCコンソール → ルートテーブル一覧 → 新しいテーブルを選択 → アクション「メインルートテーブルの設定 (Set main route table)」。

サブネットへの関連付け

サブネット作成後は、忘れずに適切なカスタムルートテーブルに関連付けを行いましょう。

  • 手順: ルートテーブルを選択 → 「サブネットの関連付け」タブ → 「サブネットの関連付けを編集」から対象サブネットを選択。

6. まとめ

ルートテーブルは、単なるパケットの通り道を決めるだけでなく、VPCのセキュリティ設計の中核を担う機能へと進化しています。

  • 基本: パブリック/プライベートをカスタムルートテーブルで制御する。
  • 応用: インバウンド通信を検査したい場合は ゲートウェイルートテーブル を検討する。
  • 応用: VPC内通信を検査したい場合は ローカルルートの置換 を検討する。

これらを使いこなし、セキュアで柔軟なネットワークを構築しましょう。


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?