NSX 環境では、同じ Tier-0 または Tier-0 VRF ゲートウェイを使用して複数のプロジェクトを構成できます。これは、プロジェクト内の Tier-1 ゲートウェイと NSX VPC が同じ Tier-0 または Tier-0 VRF ゲートウェイに接続されていることを意味します。
プロジェクト間の IP アドレスの競合を回避するには、すべての Tier-1 ゲートウェイまたは NSX によって指定されたプロジェクトからアドバタイズされたルートをフィルタリングします。たとえば、プレフィックスを使用すると、外部 IP アドレス ブロックの IP アドレスのみが指定されたプロジェクトからアドバタイズされるようにできます。
エンタープライズ管理者はルート フィルタリングを構成でき、プロジェクト レベルでは上書きできません。
まず、使用するプレフィックス リストを作成する必要があります。次に、プロジェクト ルート フィルタで、プレフィックス リストへのプロジェクトのマッピングを定義できます。
プロジェクト ルート フィルタは、NSX 4.1.1 以降で使用できます。ただし、この機能は現在、NSX API を使用する場合にのみサポートされています。ユーザー インターフェイスはこの機能をサポートしていません。
- 例
-
次の図は、同じ Tier-0 ゲートウェイに接続されているプロジェクト 1 とプロジェクト 2 の 2 つのプロジェクトを示しています。プロジェクト 1 には、2 つの Tier-1 ゲートウェイが含まれており、プロジェクト 2 には、単一の Tier-1 ゲートウェイが含まれています。プロジェクト 1 の場合、許可されるプレフィックスは 10.0.0.0/24 で、プロジェクト 2 の場合、許可されるプレフィックスは 192.168.0.0/24 です。
API を使用してプロジェクト ルート フィルタを作成するためのワークフロー
- プレフィックス リストを作成します。
たとえば、次の NSX API を実行します。
PATCH https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id> { "prefixes": [ { "network":"172.20.0.0/16", "action":"PERMIT" }, ] }
この API の詳細については、『NSX API ガイド』を参照してください。
- プリフィックス リストを読み、詳細を確認します。
たとえば、次の NSX API を実行します。
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id>
- プロジェクト ルート フィルタを作成します。
たとえば、次の NSX API を実行します。
PATCH https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id> { "projects_list": ["/orgs/default/projects/project-1"], "match_prefix_list" : ["/infra/routing-config/prefix-lists/list-1", "/infra/routing-config/prefix-lists/list-2"] }
この API は、プロジェクトとプレフィックス リストのマッピングを作成します。プリフィックス リストは、指定されたプロジェクト内のすべての Tier-1 ゲートウェイに適用されます。
この API の詳細については、『NSX API ガイド』を参照してください。
- プロジェクト ルート フィルタを読み、詳細を確認します。
たとえば、次の NSX API を実行します。
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
- オプション:すべてのプロジェクト ルート フィルタのリストを取得します。
たとえば、次の NSX API を実行します。
GET https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters
- オプション:プレフィックス リストとプロジェクト ルート フィルタを削除します。
たとえば、次の NSX API を実行します。
DELETE https://<nsx-mgr>/policy/api/v1/infra/routing-config/project-route-filters/<route-filter-id>
DELETE https://<nsx-mgr>/policy/api/v1/infra/routing-config/prefix-lists/<prefix-list-id>