

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Transit Gateway のポリシーテーブルの概念
<a name="tgw-policy-tables-concepts"></a>

このトピックでは、トランジットゲートウェイポリシーテーブルとポリシーベースのルーティング (PBR) の主要な概念について説明します。

## ポリシーテーブルとポリシールール
<a name="tgw-policy-tables-concepts-rules"></a>

**ポリシーテーブル**には、順序付けられたルールのセットが含まれています。各ルールは以下を指定します。
+ **一致基準** — トラフィックの分類に使用されるパケット属性 (送信元 IP CIDR、送信先 IP CIDR、送信元ポート、送信先ポート、プロトコル）。
+ **ターゲットルートテーブル** — ルール条件に一致するトラフィックを転送するために使用されるトランジットゲートウェイルートテーブル。

ポリシーテーブルに関連付けられたアタッチメントにトラフィックが到着すると、トランジットゲートウェイは各ルールを順番に評価し、最初に一致するルールのターゲットルートテーブルを適用します。ルールが一致しない場合、パケットは削除されます (暗黙的な拒否）。

Transit Gateway アタッチメントは、**ポリシーテーブル**または**ルートテーブル**のいずれかに関連付けることができますが、両方に関連付けることはできません。デフォルトでは、すべてのアタッチメントはデフォルトのルートテーブルに関連付けられています。

## ルールの評価順序
<a name="tgw-policy-tables-concepts-order"></a>

ポリシーテーブルのルールは、ルール番号 1 から**昇順**に評価されます。受信トラフィックに一致する最初のルールが適用されます。マッチング後に後続のルールは評価されません。評価は最初のマッチングで停止するため、ルールの順序は重要です。
+ より具体的なルール (狭い IP 範囲、特定のポート) をより低いルール番号に配置します。
+ より広範なルールまたはキャッチオールルールをより高いルール番号に配置します。

連続した値を使用するのではなく、ルール番号 (100、110、120 など) の間にギャップを残して、後で番号を変更せずにルールを挿入できるようにすることをお勧めします。

## システムおよびカスタマーポリシーテーブルエントリ
<a name="tgw-policy-tables-concepts-entry-types"></a>

ポリシーテーブルは、**カスタマー管理**と**システム管理**の 2 種類のエントリをサポートします。トラフィックの評価とルーティングの方法を予測するには、両方のタイプを理解することが重要です。

**カスタマー管理エントリ**  
カスタマーマネージドエントリは、パケット属性に基づいてトラフィックをルーティングするために定義するルールです。これらのエントリは、 `CreateTransitGatewayPolicyTableEntry` API または AWS マネジメントコンソールを使用して作成します。

各カスタマー管理エントリは以下を指定します。
+ **ルール番号** — は評価順序を決定します。ルールは昇順で評価されます。最も低い番号の一致ルールが適用されます。
+ **一致条件** — 送信元 CIDR、送信先 CIDR、プロトコル、送信元ポート、および送信先ポートの組み合わせ。すべてのフィールドはオプションです。省略されたフィールドのデフォルトは Any () です`*`。
+ **ターゲットルートテーブル** — 一致するトラフィックが転送されるトランジットゲートウェイルートテーブル。

カスタマーマネージドルールが一致しず、システムマネージドルールが一致しない場合、トラフィックは削除されます (暗黙的な拒否）。

**例** — 本番稼働用 VPCsと開発用 VPC の 2 つの VPC がトランジットゲートウェイに接続されています。セキュリティ検査ルートテーブル`10.0.0.0/16`を介して 宛ての HTTP トラフィックをルーティングする場合、他のすべてのトラフィックはデフォルトのルートテーブルを使用します。


**カスタマー管理エントリの例**  

| ルール番号 | ソース CIDR | 送信先 CIDR | プロトコル | ソースポート | 送信先ポート | ターゲットルートテーブル | 
| --- | --- | --- | --- | --- | --- | --- | 
| 10 | 0.0.0.0/0 | 10.0.0.0/16 | TCP | 1024-65535 | 80 | tgw-rtb-inspection | 
| 20 | 0.0.0.0/0 | 0.0.0.0/0 | すべて | すべて | すべて | tgw-rtb-default | 

この設定では、 への HTTP トラフィックがルール 10 `10.0.0.0/16`に一致し、検査ルートテーブルを介してルーティングされます。他のすべてのトラフィックはルール 20 に一致し、デフォルトのルートテーブルを使用します。

**システム管理エントリ**  
システムマネージドエントリは、 AWS クラウド WAN AWS動的ルーティングやネットワークセグメントの分離などの内部ルーティング機能 AWS をサポートするために、 によって自動的に作成および管理されます。システム管理エントリを作成、変更、または削除することはできません。システムマネージドエントリは、Transit Gateway から AWS Cloud WAN へのピアリングアタッチメントでセグメントレベルのトラフィック分離を必要とする Cloud WAN などの機能を使用する場合、ポリシーテーブルに表示されます。 gateway-to-Cloud 

システム管理エントリがトラフィックに与える影響:
+ **優先順位** — システムマネージドエントリは、カスタマーマネージドエントリの前に常に評価されます。システム管理エントリが受信トラフィックと一致する場合、設定したカスタマー管理ルールに関係なく適用されます。
+ **可視性** — システム管理のエントリは `GetTransitGatewayPolicyTableEntries` API レスポンスとコンソールに表示され、ルール番号は と表示されます`*`。
+ **アクションは必要ありません**。これらのエントリは によって完全に管理 AWS され、ユーザー側で設定する必要はありません。

**例** - 本番稼働用と開発用の 2 つのルーティングセグメントで AWS Cloud WAN を使用します。 は Transit gateway-to-Cloud WAN ピアリングアタッチメントに関連付けられたポリシーテーブルにシステムマネージドエントリ AWS を自動的に作成し、トラフィックが割り当てられたセグメント内に留まるようにします。同じポリシーテーブルにカスタマーマネージドルールも追加すると、システムマネージドセグメンテーションルールが最初に有効になります。カスタマーマネージドルールは、システムマネージドエントリと一致しないトラフィックにのみ適用されます。


**エントリタイプの比較**  

| 作成者 | ルール番号 | 評価済み | 変更可能 | 
| --- | --- | --- | --- | 
| AWS (Transit gateway-to-Cloud WAN ピアリングアタッチメントなど) | \* | まず、すべての顧客エントリの前に | いいえ | 
| You | 1～50,000 | システムエントリ後、ルール番号の昇順 | はい | 

どちらのエントリタイプも によってまとめて返`GetTransitGatewayPolicyTableEntries`され、 マネジメントコンソールに表示されます AWS 。

## ポリシーテーブル評価の仕組み
<a name="tgw-policy-tables-concepts-evaluation"></a>

トラフィックがポリシーテーブルに関連付けられている Transit Gateway アタッチメントに入ると、評価は次のようになります。

1. システム管理のエントリが最初に評価されます。システム管理のエントリがトラフィックと一致すると、そのエントリが適用され、評価が停止します。

1. カスタマー管理のエントリは、次にルール番号の昇順で評価されます。最初の一致ルールが適用され、評価が停止します。

1. 暗黙的な拒否 — エントリが一致しない場合、トラフィックはドロップされます。

## ベストプラクティス
<a name="tgw-policy-tables-concepts-best-practices"></a>
+ **ルール番号間にギャップを残します。**10 または 100 の増分 (10、20、30、100、200、300 など) を使用して、既存のエントリの番号を変更せずに後で新しいルールを挿入できます。
+ **最も具体的なルールを最初に配置します。**より狭い一致条件を低いルール番号に配置し、より広範なキャッチオールルールの前に評価されるようにします。幅広いルールを少数にすると、より高い数のより具体的なルールがシャドウされます。
+ **常にキャッチオールルールを含めます。**ルールが一致しない場合、トラフィックはドロップされるため、一致しないトラフィックをサイレントにドロップするのではなく、ルートテーブルに到達させる場合は、ルール番号の高いデフォルトルールを追加します。
+ **ポート範囲の前にプロトコルを設定します。**プロトコルの選択により、ポート範囲フィールドがアクティブかどうかが決まります。ポート範囲は、TCP (`6`) と UDP () でのみサポートされています`17`。ICMPv4 (`1`)、GRE (`47`)、または Any (`*`) の場合、ポート範囲は自動的に Any () に設定されます`*`。
+ **システム管理エントリのアカウント。**ポリシーテーブルにシステム管理エントリ ( AWS クラウド WAN など) が含まれている場合、カスタマー管理ルールはシステム管理エントリと一致しないトラフィックにのみ適用されます。を使用してすべてのエントリを確認し`GetTransitGatewayPolicyTableEntries`、予想される評価順序を確認します。
+ **API を使用して設定を確認します。**変更を加えたら、 を使用して両方のエントリタイプのすべてのエントリを表示し、ライブトラフィック`GetTransitGatewayPolicyTableEntries`をルーティングする前にルール番号と一致条件が正しいことを確認します。