名前付きセットを作成する
このガイドでは、Cloud Router で名前付きセットを作成する方法について説明します。
このページの例では、プレフィックスセットとコミュニティ セットという 2 種類の名前付きセットを作成します。
プレフィックスセットの名前は allowed-prefixes で、次の項目が含まれています。
'192.168.0.0/16''fd00::/8'prefix('10.0.0.0/20').orLonger()
コミュニティ セットの名前は allowed-communities で、次の項目が含まれています。
'64500:100''64500:200'
Cloud Router の名前付きセットは、次の 2 つの方法で作成できます。
- Google Cloud CLI を使用して名前付きセットを作成する
- 任意のテキスト エディタを使用して JSON または YAML ファイルを作成し、 gcloud CLI を使用して名前付きセットをアップロードする
名前付きセットを作成する
名前付きセットの名前は、ルーター内で一意である必要があります。このセクションでは、gcloud CLI を使用して名前付きセットを作成します。
プレフィックスセットを作成する
プレフィックスセットを作成する手順は次のとおりです。
allowed-prefixesという名前の空のプレフィックス名前付きセットを作成するには、次のコマンドを実行します。 ROUTER_NAME は、 Cloud Router の名前に置き換えます。gcloud compute routers add-named-set ROUTER_NAME --set-name=allowed-prefixes --set-type=prefixallowed-prefixes名前付きセットに各要素を追加するには、各要素に対してadd-named-set-elementコマンドを実行します:gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'192.168.0.0/16'"gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'fd00::/8'"
gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="prefix('10.0.0.0/20').orLonger()"
コミュニティ セットを作成する
コミュニティ セットを作成する手順は次のとおりです。
allowed-communitiesという名前の空のコミュニティ セットを作成するには、次のコマンドを実行します。gcloud compute routers add-named-set ROUTER_NAME --set-name=allowed-communities --set-type=communityallowed-communities名前付きセットに各要素を追加するには、add-named-set-elementコマンドを各要素に対して実行します:gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:100'"gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:200'"
名前付きセットをアップロードする
JSON または YAML ファイルを作成する場合は、次のいずれかの名前付きセットタイプを使用します。
- NAMED_SET_TYPE_COMMUNITY
- NAMED_SET_TYPE_PREFIX
upload-named-set
コマンドは、同じ名前の名前付きセットを上書きします。
allowed-prefixesとallowed-communitiesという名前の名前付きセットを作成するには、任意のテキスト エディタで名前付きセットを作成します。YAML または JSON の形式を使用して作成できます。allowed-prefixes.yaml:
# Prefix set resource: elements: - expression: "'192.168.0.0/16'" - expression: "'fd00::/8'" - expression: "prefix('10.0.0.0/20').orLonger()" name: allowed-prefixes type: NAMED_SET_TYPE_PREFIXallowed-communities.yaml:
# Community set resource: elements: - expression: "'64500:100'" - expression: "'64500:200'" name: allowed-communities type: NAMED_SET_TYPE_COMMUNITY名前付きセットをアップロードするには、次のコマンドを実行します。
gcloud compute routers upload-named-set ROUTER_NAME --set-name=allowed-prefixes --file-name=allowed-prefixes.yaml --file-format=jsongcloud compute routers upload-named-set ROUTER_NAME --set-name=allowed-communities --file-name=allowed-communities.json --file-format=jsonROUTER_NAME は、 Cloud Router の名前に置き換えます。
プレフィックスセットの要素
プレフィックスセットの要素は、プレフィックス リテラル(文字列)またはプレフィックス範囲オブジェクトのいずれかである必要があります。これらは、ルートポリシーで使用するために定義されたプレフィックス リテラルとプレフィックス範囲と同じです。
次の表に、プレフィックスセットの各要素を示します。
| 式 | 説明 |
|---|---|
|
プレフィックス リテラル。 |
|
プレフィックス一致オブジェクト。 |
|
範囲の末尾が入力プレフィックスのアドレス ファミリーあたりの最大値(/32 または /128)に設定され、範囲の先頭が入力プレフィックスの長さ + 1 に設定された、 p のコピーであるプレフィックス範囲オブジェクト。 |
|
範囲の末尾が入力プレフィックスのアドレス ファミリーあたりの最大値(/32 または /128)に設定された、 p のコピーであるプレフィックス範囲オブジェクト。 |
|
範囲の開始が /20、終了が /30 に設定された、 p のコピーであるプレフィックス範囲オブジェクト。 |
|
範囲の末尾が入力プレフィックスの /30 に設定された、 p のコピーであるプレフィックス範囲オブジェクト。 |
コミュニティ セットの要素
コミュニティ セットの要素は、人が読める A:B 形式のコミュニティ文字列である必要があります。
次の表に、コミュニティ セットの要素を示します。
| 式 | 説明 |
|---|---|
|
コミュニティ リテラル。 |