このページでは、Google Distributed Cloud(GDC)エアギャップ アプライアンスの構成に使用する入力構成ファイルを作成する方法について説明します。
入力構成ファイルを作成する
アプライアンスの構成プロセスでは、入力 YAML ファイルが使用されます。このファイルは、提供されたテンプレートとまったく同じ形式で作成します。「省略可」と記載されているフィールドまたはセクションは、空のままにせず、省略する必要があります。
入力構成ファイルの例を次に示します。
bgp: dataASN: DATAPLANE_ASN interconnects: customerData: asn: CUSTOMER_ASN customerPeerSubnets: - ipFamily: UPLINK_IP_FAMILY_1 ipv4: ip: UPLINK_IPV4_PEER_1 subnet: gateway: UPLINK_IPV4_GW_1 subnet: UPLINK_IPV4_NET_1 # Optional: Only specify ipv6 for DualStack ipFamily ipv6: ip: UPLINK_IPV6_PEER_1 subnet: gateway: UPLINK_IPV6_GW_1 subnet: UPLINK_IPV6_NET_1 - ipFamily: UPLINK_IP_FAMILY_2 ipv4: ip: UPLINK_IPV4_PEER_2 subnet: gateway: UPLINK_IPV4_GW_2 subnet: UPLINK_IPV4_NET_2 # Optional: Only specify ipv6 for DualStack ipFamily ipv6: ip: UPLINK_IPV6_PEER_2 subnet: gateway: UPLINK_IPV6_GW_2 subnet: UPLINK_IPV6_NET_2 dns: delegatedSubdomain: DELEGATED_SUBDOMAIN externalCIDR: ipFamily: IP_FAMILY ipv4: EXTERNAL_NETWORK_IPV4 ipv6: EXTERNAL_NETWORK_IPV6 # Optional: External hardware security module (HSM) information externalHSM: primaryAddress: EXTERNAL_HSM_PR_ADDR secondaryAddresses: - EXTERNAL_HSM_SE_ADDR caCert: EXTERNAL_HSM_CA_CERT clientCert: EXTERNAL_HSM_CLIENT_CERT clientKey: EXTERNAL_HSM_CLIENT_KEY # Optional: External IdP information externalIDP: name: EXTERNAL_IDP_NAME oidc: clientID: EXTERNAL_IDP_CLIENT_ID clientSecret: EXTERNAL_IDP_CLIENT_SECRET issuerURI: EXTERNAL_IDP_ISSUER_URI scopes: EXTERNAL_IDP_SCOPES userClaim: EXTERNAL_IDP_USER_CLAIM caCert: EXTERNAL_IDP_CA_DATA saml: idpEntityID: EXTERNAL_IDP_ENTITY_ID idpSingleSignOnURI: EXTERNAL_IDP_SSO_URI idpCertDataList: EXTERNAL_IDP_CERT_DATA userAttribute: EXTERNAL_IDP_USER_ATTRIBUTE initialAdmin: EXTERNAL_IDP_INITIAL_ADMIN
Border Gateway Protocol(BGP)情報
Border Gateway Protocol(BGP)は、外部ネットワークとルーティング情報を交換します。これらのネットワークは、自律システム番号(ASN)を使用して識別されます。GDC エアギャップ アプライアンスと外部ネットワーク間の接続を適切に行うには、すべての ASN 値がグローバルに一意である必要があります。
DATAPLANE_ASN
: GDC エアギャップ アプライアンス インスタンスのデータプレーンに割り当てられた ASN。たとえば、65204
のようにします。CUSTOMER_ASN
: カスタマー ネットワークのデータプレーンに割り当てられた ASN。例:4200002002
アップリンク情報
アップリンク構成は、GDC エアギャップ アプライアンス インスタンスを外部で顧客ネットワークや他の GDC エアギャップ アプライアンス インスタンスなどの他のサービスに接続するために使用されるピアリング接続です。GDC のエアギャップ アプライアンス インスタンスからのアップリンク構成と配線は、外部ネットワークとの適切な接続を確保するために重要です。
- GDC エアギャップ アプライアンス インスタンスへの顧客ピアリングに必要なアップリンクごとに、[顧客ピア サブネット] フィールドのアップリンク アイテム セクションに入力します。指定した数がアップリンクの想定数(2)と一致しない場合、残りのアップリンクは外部データプレーン サブネットから割り当てられます。
- アップリンクには、次の項目を指定します。
UPLINK_IP_FAMILY_1
、UPLINK_IP_FAMILY_2
: IP ファミリー サブネットを指定します。IPv4
またはDualStack
のいずれかを指定する必要があります。IPv4
を選択した場合、UPLINK_IPV4_PEER_1 IP
、UPLINK_IPV4_PEER_2 IP
: ルーティングされたポートに割り当てられた IP アドレスを記述します。空白のままにすると、ピア サブネット ブロックから取得されます。UPLINK_IPV4_NET_1
、UPLINK_IPV4_NET_2
: 提供されたスイッチとポートリンク用に、お客様のネットワークで構成されたピア サブネット ブロックを入力します。これは/31
サブネットです。例:172.16.255.148/31
UPLINK_IPV4_GW_1
、UPLINK_IPV4_GW_2
:/31
ピア サブネットの顧客向け IP アドレスを表す IP アドレスを入力します。例:172.16.255.148
。
DualStack
を選択した場合、UPLINK_IPV4_PEER_1 IP
、UPLINK_IPV4_PEER_2 IP
: ルーティングされたポートに割り当てられた IPv4 アドレスを記述します。空白のままにすると、ピア サブネット ブロックから取得されます。UPLINK_IPV4_NET_1
、UPLINK_IPV4_NET_2
: IPv4 の場合は、提供されたスイッチとポートリンク用に顧客のネットワークで構成されたピア サブネット ブロックを入力します。これは/31
サブネットです。例:172.16.255.148/31
UPLINK_IPV4_GW_1
、UPLINK_IPV4_GW_2
: IPv4 の場合は、/31
ピア サブネットの顧客向け IP アドレスを表す IPv4 アドレスを入力します。例:172.16.255.148
。UPLINK_IPV6_PEER_1 IP
、UPLINK_IPV6_PEER_2 IP
: ルーティングされたポートに割り当てられた IPv6 アドレスを記述します。空白のままにすると、ピア サブネット ブロックから取得されます。UPLINK_IPV6_NET_1
、UPLINK_IPV6_NET_2
: IPv6 の場合は、提供されたスイッチとポートリンク用に顧客ネットワークで構成されたピア サブネット ブロックを入力します。これは/127
サブネットです。例:FC00::/127
UPLINK_IPV6_GW_1
、UPLINK_IPV6_GW_2
: IPv6 の場合は、/127
ピア サブネットの顧客向け IP アドレスを表す IPv6 アドレスを入力します。例:FC00::
。
ドメイン ネーム システム(DNS)の情報
DELEGATED_SUBDOMAIN
: 親 DNS サーバーから GDC エアギャップ アプライアンス インスタンスの DNS 委任サブドメイン名を入力します。この完全修飾ドメイン名は、クラスタ管理などの GDC エアギャップ アプライアンス サービスの接尾辞として使用されます。LOCATION
.SUFFIX
という形式で指定してください。次のように置き換えます。
LOCATION
: GDC エアギャップ アプライアンス デプロイのゾーン ID(us-central1-a
など)SUFFIX
: 有効な DNS サフィックス(zone1.google.gdch.test
、us-central1-a.gdch.customer
など)
データプレーン ネットワーク(外部 CIDR)
- データプレーン IP ファミリー ネットワークの場合、サブネットが IPv4 か DualStack かを指定します。externalCIDR セクションで、
IP_FAMILY
をIPv4
またはDualStack
に置き換えます。- IPv4 を選択した場合は、
- 外部データプレーン ネットワークに、最小サイズが
23
の IPv4 ネットワーク アドレスを入力します。このネットワークは、Management API サーバーやストレージ インターフェースなどの外部からアクセス可能なサービスに使用します。ネットワーク アドレスは、ネットワークで事前割り当てされた連続した IP ブロックである必要があります。たとえば、EXTERNAL_NETWORK_IPV4
を10.100.101.0/23
に置き換えます。
- 外部データプレーン ネットワークに、最小サイズが
- DualStack を選択した場合、
- 外部データプレーン ネットワークに、最小サイズが
23
の IPv4 ネットワーク アドレスを入力します。このネットワークは、Management API サーバーやストレージ インターフェースなどの外部からアクセス可能なサービスに使用します。ネットワーク アドレスは、ネットワークで事前割り当てされた連続した IP ブロックである必要があります。たとえば、EXTERNAL_NETWORK_IPV4
を10.100.101.0/23
に置き換えます。 - 最小サイズが
64
の IPv6 ネットワーク アドレスを入力します。この IP ブロックは 2 つに分割され、前半は外部データプレーン ネットワークとして使用され、後半は内部データプレーン ネットワークとして使用されます。たとえば、EXTERNAL_NETWORK_IPV6
をFC00::/64
に置き換えます。
- 外部データプレーン ネットワークに、最小サイズが
- IPv4 を選択した場合は、
省略可: 外部ハードウェア セキュリティ モジュール(HSM)情報
HSM デバイスは暗号鍵をホストし、KMIP(Key Management Interoperability Protocol)を使用して暗号オペレーションを実行します。ストレージに NetApp ONTAP Select(OTS)で HSM を使用できます。外部 NTP サーバーを使用する場合は、externalHSM セクションに入力します。
開始する前に、まず HSM ネットワークを構成します。
EXTERNAL_HSM_PR_ADDR
: プライマリ KMIP サービスのアドレス。(IP|DNS):Port の形式で指定します。ポートを省略すると、デフォルトのポート 5696 が使用されます。- [IP] に、KMIP サービスの IP ネットワーク アドレスを入力します。例:
8.8.8.8:5696
。 - [DNS 名] に、KMIP サービスの完全修飾ドメイン名を入力します。例:
te.us-central1-a:5696
- [IP] に、KMIP サービスの IP ネットワーク アドレスを入力します。例:
EXTERNAL_HSM_SE_ADDR
: セカンダリ KMIP サービスのアドレス。(IP|DNS):Port の形式で指定します。ポートを省略すると、デフォルトのポート 5696 が使用されます。カンマで区切って、最大 3 つのセカンダリ アドレスを指定できます。EXTERNAL_HSM_CA_CERT
: CACert を入力します。CA 証明書は、KMIP サービスの署名付き証明書です。EXTERNAL_HSM_CLIENT_CERT
: 外部 HSM に接続するためのクライアント証明書を入力します。EXTERNAL_HSM_CLIENT_KEY
: 外部 HSM への接続に使用するクライアント証明書に関連付けられたクライアント鍵を入力します。
省略可: ID プロバイダを接続する
ID とアクセス管理のために既存の ID プロバイダ(IdP)に接続するか、組み込みの Keycloak IdP を設定できます。独自の ID プロバイダを使用する場合は、externalIDP セクションに入力します。
- 接続する ID プロバイダのタイプ(OIDC(OpenID Connect)または SAML(Security Assertion Markup Language))を選択します。
- OIDC プロバイダを選択した場合は、次のパラメータを指定します。
EXTERNAL_IDP_NAME
: IdP の名前を入力します。ここで指定する名前は、システム内の ID のエイリアスです。EXTERNAL_IDP_ISSUER_URI
: 発行元 URI を入力します。発行者 URI は.well-known/openid-configuration
内のレベルを指している必要があります。クライアント アプリケーションは、この URL に認可リクエストを送信します。Kubernetes API サーバーは、この URL を使用してトークン検証用の公開鍵を検出します。EXTERNAL_IDP_CA_DATA
: IdP の認証局データの Base64 でエンコードされた PEM エンコード証明書を入力します。詳しくは、https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail をご覧ください。- 文字列を作成するには、ヘッダーを含めた証明書を
base64
でエンコードします。 - 結果の文字列は 1 行で含めます。例:
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
- 文字列を作成するには、ヘッダーを含めた証明書を
EXTERNAL_IDP_CLIENT_ID
: IdP への認証リクエストを行うクライアント アプリケーションのクライアント ID を入力します。EXTERNAL_IDP_CLIENT_SECRET
: IdP と GDC エアギャップ アプライアンス間の共有シークレットであるクライアント シークレットを入力します。EXTERNAL_IDP_USER_CLAIM
: 各ユーザーを識別する ユーザー クレーム フィールドを入力します。これは、ユーザー名を保持する OIDC ID トークンのクレームの名前です。このクレームが ID トークンにない場合、ユーザーは認証できません。多くのプロバイダのデフォルトのクレームはsub
です。ID プロバイダによっては、email
やname
などの他のクレームを選択できます。名前が競合しないように、email
以外のクレームには、発行元の URL が先頭に付加されます。EXTERNAL_IDP_SCOPES
: ID プロバイダで追加のスコープが必要な場合は、IDP に送信するスコープのカンマ区切りのリストを入力します。たとえば、Microsoft Azure と Okta では、offline_access
スコープが必要です。
- SAML プロバイダを選択した場合は、次のパラメータを指定します。
EXTERNAL_IDP_NAME
: IdP の名前を入力します。ここで指定する名前は、システム内の ID のエイリアスです。EXTERNAL_IDP_ENTITY_ID
: SAML プロバイダのエンティティ ID を入力します。URI 形式で指定します(例:https://www.idp.com/saml
)。EXTERNAL_IDP_SSO_URI
: SSO URI(SAML プロバイダの SSO エンドポイントの URI。例:https://www.idp.com/saml/sso
)を入力します。EXTERNAL_IDP_CERT_DATA
: SAML レスポンスの検証に使用する IDP 証明書のリストを入力します。これらの証明書は標準の Base64 エンコード形式と PEM 形式にする必要があります。IDP 証明書のローテーションを容易にするため、サポートされる証明書は 2 つまでです。EXTERNAL_IDP_USER_ATTRIBUTE
: ユーザー名を保持する SAML レスポンスの属性の名前であるユーザー属性を入力します。この属性が SAML レスポンスにない場合、認証は失敗します。
EXTERNAL_IDP_INITIAL_ADMIN
: SAML プロバイダと OIDC プロバイダの両方で、初期管理者のアカウントを入力します。初期管理者は、インストール完了後にシステムへのアクセス権が付与される最初のアカウントです。入力する値は、クレーム タイプと一致する必要があります。たとえば、OIDC プロバイダのユーザー クレームがemail
に設定されている場合は、メールアドレスと一致する必要があります。インストール完了後に初めてシステムにログインする際にこの情報が必要になるため、最初の管理者の名前を記録します。