ピアグループポリシーの作成
「 VPC用ダイナミックルートサーバー 」は、一部の顧客を対象に、評価およびテストの目的で利用可能なベータ機能です。 アクセスは、許可リストに登録されたアカウントに限定されています。
ピアグループポリシーとは、動的ルートサーバーがピアグループのルートをどのように処理するかを規定するルールです。 ポリシーでは、動的ルートサーバーが学習したルートを他のピアグループに反映するか、VPCアドレスプレフィックスやカスタム静的ルートをピアにアドバタイズするか、あるいは学習したルートを指定されたネクストホップとともにVPCルーティングテーブルに追加するかを定義します。 ピアグループに対して複数のポリシータイプを作成することで、トポロジの要件に応じたルーティング動作を構築できます。
開始前に
ピアグループポリシーを作成する前に:
- 動的ルートサーバーに関する計画上の考慮事項 を確認してください。
- 動的ルートサーバーの既知の問題 を確認してください。
- ピアグループを作成し、 少なくとも1人のピアを追加している ことを確認してください。
コンソールでのピアグループポリシーの作成
ピアグループポリシーを作成できるのは、 Router タイプのピアのみです。これは、ルート交換やルーティングの決定に参加するのは、これらのピアのみであるためです。
1つのピアグループには、各タイプのポリシーを1つだけ追加できます。 同じ種類の別のポリシーを追加するには、まず既存のポリシーを削除してください。
コンソールでピアグループポリシーを作成するには、次の手順に従ってください
- お使いのブラウザで、 IBM Cloud コンソールを開き、 アカウントにログインしてください。
- 「 ナビゲーションメニュー
」を選択し、「 インフラ
」>「 ネットワーク 」>「 動的ルートサーバー 」の順にクリックします。
- リストから、操作対象とする動的ルートサーバーを選択し、「 ピアグループ 」タブをクリックします。
- ピアグループの名前を選択してください。
- 「 Peer ポリシー 」セクションで、「 作成 」をクリックします。
- [ ポリシーの作成 ] パネルで、
my-peer-policyなどのポリシー名を入力します。 - 以下の「 ポリシータイプ 」のオプションから1つを選択し、必要な情報を入力してください:
-
カスタムルート- ダイナミックルートサーバーによって管理されるルートを定義します。 BGP を通じてルートが学習されず、明示的に定義する必要がある場合は、このポリシーを使用してください。 これを使用して、ファイアウォールなどの特定のネクストホップのピアへトラフィックを誘導します。 [詳細情報] セクションの [カスタムルートの宛先] に、トラフィックをルーティングしたい宛先の CIDR を 1 つ以上入力してください。 複数の CIDR はコンマで区切ります。
-
VPC ルーティングテーブル- 選択したインバウンドまたはアウトバウンドの VPC ルーティングテーブルにルートを追加します。 このポリシーを使用して、学習済みルートまたはカスタムルート(通常はフェイルオーバーに対応した特定のネクストホップを経由する)を通じて、VPCのトラフィックを誘導します。 「詳細情報 」セクションに、以下の情報を入力してください:
- ネクストホップ- VPCルーティングテーブルに追加されたルートのネクストホップデバイスとして使用されるメンバーを含むピアグループを指定します。 ルートに一致するトラフィックは、選択されたピアグループ内の利用可能なピアのいずれかに転送されます。
- ルート削除の遅延- ピアの状態が正常でなくなった後、システムがルートを削除するまで待機する時間を指定します。
- Ingress ルーティングテーブル- 設定されたピアグループのピアから学習したルートを受け取るルーティングテーブルを指定します。
- 送信ルーティングテーブル- 設定されたピアグループのピアに対してルートをアドバタイズするために使用されるルーティングテーブルを指定します。
- プレフィックスの除外- このポリシーによるルートの追加またはアドバタイズメントから除外される1つ以上のプレフィックスを指定します。 プレフィックス除外を使用すると、特定のネットワークが他のポリシー条件に一致する場合であっても、そのネットワークがVPCルーティングテーブルに追加されたり、ピアに伝播されたりすることを防ぐことができます。
プレフィックスの除外については、ポリシーで参照されているピアグループに設定されている監視対象プレフィックスと一致する、またはそのサブネットであるプレフィックスのみを除外することができます。 たとえば、ポリシーで参照されているピアグループに、監視対象のプレフィックス「
10.0.0.0/8」が含まれている場合、「10.0.0.0/8」、「10.1.0.0/16」、または「10.1.1.0/24」を除外することができます。これは、これらの各プレフィックスが監視対象のプレフィックスと一致するか、そのサブネットであるためです。 ただし、172.16.0.0/16は監視対象のプレフィックス範囲外であるため、除外することはできません。 -
学習済みルート- あるピアグループから他のルーターのピアグループへと学習されたルートを表します。 このポリシーは、動的ルートサーバーが異なるルーティングドメイン間のルートリフレクターとして機能する場合に使用します。 「詳細情報 」セクションに、以下の情報を入力してください:
- ピアグループ- ルートを学習する対象となるピアグループを指定します。
- プレフィックスの除外- ルート再配布の対象から除外するプレフィックスを指定します。 除外プレフィックスに一致するルートは、ピアから学習されますが、このポリシーを通じて他のピアグループにはアドバタイズされません。 プレフィックス除外設定を使用して、ルートの伝播を制御し、特定のネットワークがルーティングドメイン間で共有されるのを防ぎます。
-
VPC アドレスプレフィックス- VPC のアドレスプレフィックスをルーターピアに通知します。 外部ルーターやオンプレミスデバイスが、VPC ワークロードへの到達方法を学習する必要がある場合は、このポリシーを使用してください。
-
- 設定したポリシールールを適用するには、 ポリシーの状態が 「オン」になっていることを確認してください。
- 保存 をクリックします。
CLI からピアグループポリシーを作成する
CLI からピアグループのポリシーを作成するには、以下の手順に従ってください
-
CLI 環境をセットアップします。
-
CLI 環境にログインしてください。 パスワードを入力すると、使用するアカウントとリージョンの入力を求めるプロンプトが表示されます。
ibmcloud login --sso -
次の機能フラグを有効にしてください:
export IBMCLOUD_IS_FEATURE_DYNAMIC_ROUTE_SERVER=true -
以下のコマンドを実行します。
ibmcloud is dynamic-route-server-peer-group-policy-create DYNAMIC_ROUTE_SERVER --peer-group PEER_GROUP (--type custom_routes | learned_routes | vpc_address_prefixes | vpc_routing_tables) [--name NAME] [--state enabled | disabled] [--custom-routes CUSTOM_ROUTES_JSON | @CUSTOM_ROUTES_JSON_FILE] [--peer-groups PEER_GROUPS_JSON | @PEER_GROUPS_JSON_FILE] [--next-hops NEXT_HOP_JSON | @NEXT_HOP_JSON_FILE] [--routing-tables ROUTING_TABLES_JSON | @ROUTING_TABLES_JSON_FILE] [--excluded-prefixes EXCLUDED_PREFIXES_JSON | @EXCLUDED_PREFIXES_JSON_FILE] [--route-delete-delay ROUTE_DELETE_DELAY] [--output JSON] [-q, --quiet]
ここで、
DYNAMIC_ROUTE_SERVER- 動的なルートサーバー識別子。
--peer-group- ピアグループの識別子。
--type- ポリシーの種類。
custom_routes、learned_routes、vpc_address_prefixes、またはvpc_routing_tablesのいずれか。 --name- ポリシーの名前。
--state- ポリシーの状態。
enabledまたはdisabledのいずれか。 デフォルトはenabledです。 --custom-routes (JSON)- カスタムルートの宛先を定義するJSONペイロード。
@CUSTOM_ROUTES_JSON_FILE- カスタムルートの宛先に関するJSONペイロードを含むファイル。
--peer-groups (JSON)- ポリシーのピアグループを定義するJSONペイロード。
@PEER_GROUPS_JSON_FILE- ピアグループのJSONペイロードを含むファイル。
--next-hops (JSON)- ネクストホップの識別子を定義するJSON配列。 指定できるネクストホップは1つだけです。
@NEXT_HOP_JSON_FILE- ネクストホップのJSONペイロードを含むファイル。
--routing-tables (JSON)- ルーティングテーブルを定義するJSONペイロード。
@ROUTING_TABLES_JSON_FILE- ルーティングテーブルのJSONペイロードを含むファイル。
--excluded-prefixes (JSON)- このポリシーによって選択された、学習済みルートまたはVPCルーティングテーブルから除外するプレフィックスのリストを定義するJSONペイロード。 このオプションは、タイプが「
learned_routes」または「vpc_routing_tables」のポリシーに対してのみ指定してください。 @EXCLUDED_PREFIXES_JSON_FILE- 除外されるプレフィックスを記述したJSONペイロードを含むファイル。
--route-delete-delay- ルートがアドバタイズされなくなった際に、そのルートが削除されるまでの遅延時間(秒単位)。 値は 0 ~ 60 の範囲でなければなりません。
vpc_routing_tablesタイプのポリシーに適用されます。 --output- JSON形式で出力します。
-q, --quiet- 詳細な出力を抑制します。
コマンドの例
-
ピアグループポリシーを作成するには、次のコマンドを実行します
ibmcloud is dynamic-route-server-peer-group-policy-create 0717-drs-12345678 --peer-group my-peer-group --type custom_routes --name my-peer-policy --state enabled --custom-routes '[{"destination":"10.20.0.0/16"}]' --output JSON -
プレフィックスを除外する「
learned_routes」タイプのピアグループポリシーを作成するには、次のコマンドを実行しますibmcloud is dynamic-route-server-peer-group-policy-create 0717-drs-12345678 --peer-group my-peer-group --type learned_routes --name my-learned-routes-policy --peer-groups '[{"id":"0717-pg-12345678"}]' --excluded-prefixes '[{"prefix":"10.20.1.0/24"}]' --output JSONプレフィックスの除外については、ポリシーで参照されているピアグループに設定されている監視対象プレフィックスと一致する、またはそのサブネットであるプレフィックスのみを除外することができます。 たとえば、ポリシーで参照されているピアグループに、監視対象のプレフィックス「
10.0.0.0/8」が含まれている場合、「10.0.0.0/8」、「10.1.0.0/16」、または「10.1.1.0/24」を除外することができます。これは、これらの各プレフィックスが監視対象のプレフィックスと一致するか、そのサブネットであるためです。 ただし、172.16.0.0/16は監視対象のプレフィックス範囲外であるため、除外することはできません。 -
「
vpc_routing_tables」タイプのピアグループポリシーを作成するには、次のコマンドを実行しますibmcloud is dynamic-route-server-peer-group-policy-create 0717-drs-12345678 --peer-group my-peer-group --type vpc_routing_tables --name my-vpc-rt-policy --next-hops '[{"id":"0717-pg-12345678"}]' --routing-tables '[{"vpc_routing_table":{"id":"0717-rt-12345678"},"advertise":true}]' --route-delete-delay 5 --output JSON
API を使用したピアグループポリシーの作成
API を使用してピアグループポリシーを作成するには、次の手順に従ってください
-
必要な変数を設定して、 API環境を 構築してください。
-
API コマンドで使用するその他の変数を保存してください。 以下に例を示します。
ResourceGroupId-get resource groupsコマンドを使用してリソース・グループ ID を確認してから、変数に設定します。
export ResourceGroupId=<your_resourcegroup_id> -
すべての変数の設定が完了したら、ピアグループのポリシーを作成します
curl -X POST \ "$vpc_api_endpoint/v1/dynamic_route_servers/DRS_ID/peer_groups/PEER_GROUP_ID/policies?version=$api_version&generation=2" \ -H "Authorization: Bearer $iam_token" \ -H "Content-Type: application/json" \ -d '{ "name": "learned-routes-policy", "type": "learned_routes", "state": "enabled", "excluded_prefixes": [ { "prefix": "10.0.0.0/24" } ] }'プレフィックスの除外については、ポリシーで参照されているピアグループに設定されている監視対象プレフィックスと一致する、またはそのサブネットであるプレフィックスのみを除外することができます。 たとえば、ポリシーで参照されているピアグループに、監視対象のプレフィックス「
10.0.0.0/8」が含まれている場合、「10.0.0.0/8」、「10.1.0.0/16」、または「10.1.1.0/24」を除外することができます。これは、これらの各プレフィックスが監視対象のプレフィックスと一致するか、そのサブネットであるためです。 ただし、172.16.0.0/16は監視対象のプレフィックス範囲外であるため、除外することはできません。