オンプレミス ホストの限定公開の Google アクセスを構成する
オンプレミス ホスト用の限定公開の Google アクセスを使用すると、Cloud VPN トンネルまたは Cloud Interconnect 用の VLAN アタッチメントを経由してトラフィックをルーティングすることにより、オンプレミス システムから Google API とサービスに接続できます。オンプレミス ホスト用の限定公開の Google アクセスは、インターネット経由で Google API とサービスに接続するための代替手段として使用できます。
このドキュメントでは、オンプレミス ホストの限定公開の Google アクセスを有効にする方法について説明します。
仕様と要件
オンプレミス ホスト用の限定公開の Google アクセスには、次の要件があります。
限定公開の Google アクセスでは API は自動的に有効になりません。Google Cloud コンソールの [API とサービス] ページから、使用する Google API を個別に有効にする必要があります。
オンプレミス システムから送信される Google API とサービス トラフィックを、
private.googleapis.com
またはrestricted.googleapis.com
という特別なドメイン名のいずれかに関連付けられた IP アドレスに転送する必要があります。各ドメインでアクセスできるサービスの詳細については、ドメイン オプションをご覧ください。オンプレミス ネットワークは、Cloud VPN トンネルまたは VLAN アタッチメントを使用して VPC ネットワークに接続する必要があります。
オンプレミス ネットワークが接続されている VPC ネットワークには、
private.googleapis.com
またはrestricted.googleapis.com
の宛先 IP 範囲の適切なルートが必要です。詳細については、VPC ネットワーク ルーティングをご覧ください。オンプレミス ネットワークが接続している VPC ネットワークには、オンプレミス ネットワークに到達するための適切なルートが必要です。これらのルートのオンプレミス ネットワークに接続するネクストホップの Cloud VPN トンネルまたは VLAN アタッチメントは、リクエスト送信元と同じリージョン内に存在する必要があります。ネクストホップが、限定公開の Google アクセスへのリクエスト元と異なるリージョンにある場合は、限定公開の Google アクセスからのレスポンスがオンプレミス ネットワークに到達しません。
オンプレミス ネットワークには、
private.googleapis.com
またはrestricted.googleapis.com
の宛先 IP 範囲のルートが必要です。これらのルートによって、VPC ネットワークに接続する適切な Cloud VPN トンネルまたは VLAN アタッチメントにトラフィックが転送される必要があります。詳細については、Cloud Router を使用したオンプレミス ルーティングをご覧ください。オンプレミス環境の IPv6 クライアントが
private.googleapis.com
またはrestricted.googleapis.com
を使用して Google API にアクセスできるようにするには、IPv6 をサポートするように VPC ネットワークへの接続を構成する必要があります。詳しくは次のページをご覧ください。オンプレミス クライアントは、IPv6 GUA または ULA アドレスからリクエストを送信できます。ただし、ULA 範囲
fda3:e722:ac3:cc00::/64
は内部使用のために予約されています。
権限
プロジェクト オーナー、編集者、ネットワーク管理者のロールを持つ IAM プリンシパルがサブネットを作成または更新し、IP アドレスを割り当てることができます。
ロールの詳細については、IAM ロールのドキュメントをご覧ください。
ネットワークの構成
オンプレミス ホスト用の限定公開の Google アクセスには、オンプレミス システムが Google API とサービスにトラフィックを送信する際に経由するオンプレミス システムと VPC ネットワークに固有のネットワーク要件があります。
ドメイン オプション
オンプレミス ホスト用の限定公開の Google アクセスでは、次のいずれかの特別なドメインにサービスを転送する必要があります。選択した特別なドメインによって、アクセスできるサービスが決定されます。
private.googleapis.com
VIP と restricted.googleapis.com
VIP は、TCP 上の HTTP ベースのプロトコル(HTTP、HTTPS、HTTP/2)のみをサポートします。MQTT や ICMP などの他のプロトコルはサポートされていません。
ドメインと IP アドレス範囲 | サポート対象のサービス | 使用例 |
---|---|---|
|
VPC Service Controls でサポートされているかどうかにかかわらず、ほとんどの Google API とサービスへの API アクセスを有効にします。Google マップ、Google 広告、Google Cloud、さらに以下のリストを含む他のほとんどの Google API への API アクセスが含まれます。Gmail や Google ドキュメントなどの Google Workspace ウェブ アプリケーションはサポートされていません。インタラクティブなウェブサイトはサポートされていません。 一致するドメイン名:
|
次の状況では |
|
VPC Service Controls でサポートされている Google API およびサービスへの API アクセスを有効にします。 VPC Service Controls をサポートしない Google API とサービスへのアクセスをブロックします。Google Workspace API、または Gmail や Google ドキュメントなどの Google Workspace ウェブ アプリケーションはサポートされていません。 |
VPC Service Controls でサポートされている Google API とサービスにアクセスする必要がある場合にのみ
|
restricted.googleapis.com
を使用します。これにより、データ引き出しのリスクがさらに軽減されます。restricted.googleapis.com
を使用すると、VPC Service Controls でサポートされていない Google API とサービスへのアクセスは拒否されます。詳細については、VPC Service Controls に関するドキュメントのプライベート接続の設定をご覧ください。private.googleapis.com
と restricted.googleapis.com
の IPv6 サポート
次の IPv6 アドレス範囲を使用して、IPv6 クライアントから Google API とサービスにトラフィックを転送できます。
private.googleapis.com
:2600:2d00:0002:2000::/64
restricted.googleapis.com
:2600:2d00:0002:1000::/64
private.googleapis.com
または restricted.googleapis.com
ドメインを使用していて、IPv6 アドレスを使用するクライアントがある場合は、IPv6 アドレスの構成を検討してください。IPv4 アドレスも構成されている IPv6 クライアントは、IPv4 アドレスを使用して Google API とサービスにアクセスできます。すべてのサービスが IPv6 クライアントからのトラフィックを受信するわけではありません。
DNS 構成
オンプレミス ネットワークには、Google ドメイン名が private.googleapis.com
または restricted.googleapis.com
のいずれかの IP アドレスのセットに解決されるように構成された DNS ゾーンとレコードが必要です。Cloud DNS の限定公開マネージド ゾーンを作成して、Cloud DNS 受信サーバー ポリシーを使用できます。また、オンプレミスのネームサーバーを構成することもできます。たとえば、BIND や Microsoft Active Directory DNS を使用できます。
以降のセクションでは、DNS ゾーンを使用して、選択した VIP に関連付けられている IP アドレスにパケットを送信する方法について説明します。該当するすべてのシナリオの指示に従ってください。
*.googleapis.com
ドメイン名を持つサービスを使用する場合は、googleapis.com
の DNS を構成するをご覧ください。他のドメイン名を持つサービスを使用する場合は、他のドメインの DNS を構成するをご覧ください。
たとえば、Google Kubernetes Engine(GKE)を使用する場合は、
*.gcr.io
と*.pkg.dev
も構成する必要があります。Cloud Run を使用する場合は、*.run.app
も構成する必要があります。Cloud Storage バケットを使用し、リクエストを Cloud Storage のカスタム ドメイン名に送信する場合は、Cloud Storage のカスタム ドメイン名の DNS を構成するをご覧ください。
Cloud DNS を使用して DNS 構成を実装する場合は、オンプレミス システムの DNS を構成するをご覧ください。
VIP の DNS レコードを構成する場合は、次の手順で説明する IP アドレスのみを使用してください。private.googleapis.com
VIP と restricted.googleapis.com
VIP のアドレスを混在させないでください。パケットの宛先によって提供するサービスが異なるため、断続的な障害が発生する可能性があります。
googleapis.com
の DNS を構成する
googleapis.com
の DNS ゾーンとレコードを作成します。
googleapis.com
の限定公開 DNS ゾーンを作成します。その場合は、Cloud DNS 限定公開ゾーンの作成を検討してください。googleapis.com
ゾーンで、使用するドメインに応じてprivate.googleapis.com
またはrestricted.googleapis.com
に以下のプライベート DNS レコードを作成します。private.googleapis.com
:IP アドレス
199.36.153.8
、199.36.153.9
、199.36.153.10
、199.36.153.11
を指すprivate.googleapis.com
にA
レコードを作成します。IPv6 アドレスを使用して API に接続するには、
2600:2d00:0002:2000::
を指すprivate.googleapis.com
にAAAA
レコードも構成します。
restricted.googleapis.com
:IP アドレス
199.36.153.4
、199.36.153.5
、199.36.153.6
、199.36.153.7
を指すrestricted.googleapis.com
にA
レコードを作成します。IPv6 アドレスを使用して API に接続するには、
2600:2d00:0002:1000::
を指すrestricted.googleapis.com
にAAAA
レコードも作成します。
Cloud DNS でプライベート DNS レコードを作成するには、レコードを追加するをご覧ください。
googleapis.com
ゾーンで、構成したドメイン(private.googleapis.com
またはrestricted.googleapis.com
)を指す*.googleapis.com
にCNAME
レコードを作成します。
他のドメインの DNS を構成する
一部の Google API とサービスは、*.gcr.io
、*.gstatic.com
、*.pkg.dev
、pki.goog
、*.run.app
などの追加ドメイン名を使用して提供されます。追加のドメインのサービスに private.googleapis.com
または restricted.googleapis.com
を使用してアクセスできるかどうかを判断するため、ドメイン オプションのドメインと IP アドレス範囲の表を参照します。それぞれの追加ドメインについて、次の作業を行います。
DOMAIN
の DNS ゾーンを作成します(例:gcr.io
)。Cloud DNS を使用している場合は、このゾーンがgoogleapis.com
限定公開ゾーンと同じプロジェクトにあることを確認してください。この DNS ゾーンで、使用するドメインに応じて
private.googleapis.com
またはrestricted.googleapis.com
に以下のプライベート DNS レコードを作成します。private.googleapis.com
:IP アドレス
199.36.153.8
、199.36.153.9
、199.36.153.10
、199.36.153.11
を指すDOMAIN
にA
レコードを作成します。IPv6 アドレスを使用して API に接続するには、
2600:2d00:0002:2000::
を指すDOMAIN
にAAAA
レコードも作成します。
restricted.googleapis.com
:IP アドレス
199.36.153.4
、199.36.153.5
、199.36.153.6
、199.36.153.7
を指すDOMAIN
にA
レコードを作成します。IPv6 アドレスを使用して API に接続するには、
2600:2d00:0002:1000::
を指すrestricted.googleapis.com
にAAAA
レコードも作成します。
DOMAIN
ゾーンで、DOMAIN
を指す*.DOMAIN
にCNAME
レコードを作成します。たとえば、gcr.io
を指す*.gcr.io
にCNAME
レコードを作成します。
Cloud Storage カスタム ドメイン名の DNS を構成する
Cloud Storage バケットを使用していて、リクエストを Cloud Storage のカスタム ドメイン名に送信する場合、Cloud Storage バケットへのアクセスを許可するには、カスタム Cloud Storage ドメイン名の DNS レコードが private.googleapis.com
または restricted.googleapis.com
の IP アドレスを指し示すように構成するだけでは不十分です。
Cloud Storage のカスタム ドメイン名にリクエストを送信する場合は、HTTP リクエストの Host ヘッダーと TLS SNI を storage.googleapis.com
に明示的に設定する必要もあります。private.googleapis.com
と restricted.googleapis.com
の IP アドレスは、HTTP リクエストの Host ヘッダーと TLS SNI のカスタム Cloud Storage ホスト名をサポートしていません。
オンプレミス システムの DNS を構成する
Cloud DNS を使用して DNS 構成を実装した場合は、Cloud DNS の限定公開マネージド ゾーンに対してクエリを行えるように、オンプレミス システムを構成する必要があります。
- オンプレミス ネットワークが接続する VPC ネットワークにインバウンド サーバー ポリシーを作成します。
- オンプレミス ネットワークが接続する VPC ネットワークで、Cloud VPN トンネルと VLAN アタッチメントが配置されているリージョンのインバウンド フォワーダー エントリ ポイントを特定します。
- VPC ネットワークに接続する Cloud VPN トンネルまたは VLAN アタッチメントと同じリージョン内のインバウンド フォワーダー エントリ ポイントに、
googleapis.com
と追加のドメイン名を転送するようにオンプレミス システムとオンプレミスの DNS ネームサーバーを構成します。
VPC ネットワーク ルーティング
オンプレミス ネットワークが接続する VPC ネットワークには、private.googleapis.com
または restricted.googleapis.com
によって使用される IP アドレス範囲のルートが必要です。これらのルートでは、デフォルトのインターネット ゲートウェイのネクストホップを使用する必要があります。
Google では、private.googleapis.com
ドメインまたは restricted.googleapis.com
ドメインで使用されている IP アドレス範囲のインターネット上のルートを公開していません。したがって、VPC ネットワーク内のルートがデフォルト インターネット ゲートウェイのネクストホップにトラフィックを送信しても、これらの IP アドレス範囲に送信されたパケットは Google のネットワーク内に残ります。
オンプレミス ネットワークが接続する VPC ネットワークに、ネクストホップがデフォルト インターネット ゲートウェイであるデフォルト ルートが含まれている場合、そのルートはオンプレミス ホストへの限定公開の Google アクセスに関するルーティング要件を満たします。
VPC ネットワークのカスタム ルーティング
デフォルト ルートを置き換えた、または変更した場合は、private.googleapis.com
か restricted.googleapis.com
で使用される宛先 IP 範囲のために構成されたカスタム静的ルートがあることを確認します。特定のネットワークで Google API とサービスのカスタムルートの構成を確認する方法は次のとおりです。
コンソール
Google Cloud Console で、[ルート] ページに移動します。
[表をフィルタリング] テキスト フィールドを使用して、次の基準でルートのリストをフィルタリングします。
NETWORK_NAME
は、オンプレミス ネットワークが接続する VPC ネットワークの名前に置き換えます。- ネットワーク:
NETWORK_NAME
- ネクストホップのタイプ:
default internet gateway
- ネットワーク:
各ルートの [宛先 IP の範囲] 列を確認します。宛先の範囲が一致するルートを探します。
private.googleapis.com
を選択した場合は199.36.153.8/30
restricted.googleapis.com
を選択した場合は199.36.153.4/30
gcloud
次の gcloud
コマンドを使用します。NETWORK_NAME
は、オンプレミス ネットワークが接続する VPC ネットワークの名前に置き換えます。
gcloud compute routes list \ --filter="default-internet-gateway NETWORK_NAME"
--format
フラグでコマンドをカスタマイズしない限り、ルートはテーブル形式で一覧表示されます。[DEST_RANGE
] 列で、宛先の範囲が一致するルートを探します。
private.googleapis.com
を選択した場合は199.36.153.8/30
restricted.googleapis.com
を選択した場合は199.36.153.4/30
VPC ネットワークにルートを作成する必要がある場合は、静的ルートの追加をご覧ください。
Cloud Router を使用したオンプレミス ルーティング
オンプレミス ネットワークのルートは、private.googleapis.com
または restricted.googleapis.com
ドメインで使用される IP アドレス範囲のトラフィックを、VPC ネットワークに接続するネクストホップの Cloud VPN トンネルまたは VLAN アタッチメントに転送するように構成される必要があります。
Cloud Router のカスタム ルート アドバタイズを使用して、private.googleapis.com
ドメインと restricted.googleapis.com
ドメインで使用される IP 範囲のルートを通知できます。
IPv6 ルートは、IPv6 が有効になっている BGP セッションでのみアドバタイズされます。
コンソール
カスタム BGP アドバタイズ自体を使用する BGP セッションを除き、Cloud Router 上のすべての BGP セッションのルート アドバタイズ モードを更新するには:
Google Cloud コンソールで [Cloud Router] ページに移動します。
オンプレミス ネットワークを VPC ネットワークに接続する Cloud VPN トンネルまたは VLAN アタッチメントの BGP セッションを管理する Cloud Router を選択します。
Cloud Router の詳細ページで [編集] を選択します。
[アドバタイズされたルート] セクションを展開します。
[ルート] で、[カスタムルートの作成] を選択します。
Cloud Router に表示されるすべてのサブネット ルートをアドバタイズするには、[Cloud Router に表示されるすべてのサブネットにアドバタイズする] を選択します。この設定により、デフォルト構成がカスタム構成に複製されます。
追加するアドバタイズされたルートごとに、次の操作を行います。
- [カスタムルートを追加] を選択します。
- [ソース] で [カスタム IP 範囲] を選択します。
- [IP アドレス範囲] に、使用する範囲のいずれかを入力します。
private.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.8/30
- IPv6 接続の場合:
2600:2d00:0002:2000::/64
- IPv4 接続の場合:
restricted.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.4/30
- IPv6 接続の場合:
2600:2d00:0002:1000::/64
- IPv4 接続の場合:
- [完了] をクリックします。
ルートの追加が完了したら、[保存] を選択します。
特定の BGP セッションのルート アドバタイズ モードを更新するには:
Google Cloud コンソールで [Cloud Router] ページに移動します。
オンプレミス ネットワークを VPC ネットワークに接続する Cloud VPN トンネルまたは VLAN アタッチメントの BGP セッションを管理する Cloud Router を選択します。
Cloud Router の詳細ページで、更新する BGP セッションを選択します。
BGP セッションの詳細ページで、[編集] を選択します。
[ルート] で、[カスタムルートの作成] を選択します。
Cloud Router のデフォルトの動作に戻すには、[Cloud Router に表示されるすべてのサブネットをアドバタイズする] を選択して、Cloud Router で使用可能なすべてのサブネット ルートをアドバタイズします。
追加するアドバタイズされたルートごとに、次の操作を行います。
- [カスタムルートを追加] を選択します。
- [ソース] で [カスタム IP 範囲] を選択します。
- [IP アドレス範囲] に、使用する範囲のいずれかを入力します。
private.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.8/30
- IPv6 接続の場合:
2600:2d00:0002:2000::/64
- IPv4 接続の場合:
restricted.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.4/30
- IPv6 接続の場合:
2600:2d00:0002:1000::/64
- IPv4 接続の場合:
- [完了] をクリックします。
ルートの追加が完了したら、[保存] を選択します。
gcloud
オンプレミス ネットワークを VPC ネットワークに接続する Cloud VPN トンネルまたは VLAN アタッチメントの BGP セッションを管理する Cloud Router の名前とリージョンを特定します。
compute routers update
を使用して、カスタム BGP アドバタイズ自体を使用する BGP セッションを除き、すべての Cloud Router の BGP セッションのルート アドバタイズ モードを更新します。gcloud compute routers update ROUTER_NAME \ --region=REGION \ --advertisement-mode=CUSTOM \ --set-advertisement-groups=ALL_SUBNETS \ --set-advertisement-ranges=CUSTOM_RANGES
すでに Cloud Router の
CUSTOM
アドバタイズ モードを使用している場合は、新しいアドバタイズ範囲を追加できます。これにより、カスタム BGP アドバタイズ自体を使用する BGP セッションを除き、すべての Cloud Router の BGP セッションでルート アドバタイズ モードが更新されます。gcloud compute routers update ROUTER_NAME \ --region=REGION \ --add-advertisement-ranges=CUSTOM_RANGES
または、
compute routers update-bgp-peer
を使用して、特定の BGP ピアを Cloud Router で構成します。IPv6 カスタム範囲を追加し、BGP セッションで IPv6 トラフィックが無効になっている場合は、
--enable-ipv6
フラグを使用して有効にできます。gcloud compute routers update-bgp-peer ROUTER_NAME \ --region=REGION \ --peer-name=PEER_NAME \ --advertisement-mode=CUSTOM \ --set-advertisement-groups=ALL_SUBNETS \ --set-advertisement-ranges=CUSTOM_RANGES
Cloud Router の BGP セッションですでに
CUSTOM
アドバタイズ モードを使用している場合は、新しいアドバタイズ範囲を追加できます。IPv6 カスタム範囲を追加し、BGP セッションで IPv6 トラフィックが無効になっている場合は、
--enable-ipv6
フラグを使用して有効にできます。gcloud compute routers update-bgp-peer ROUTER_NAME \ --region=REGION \ --peer-name=PEER_NAME \ --add-advertisement-ranges=CUSTOM_RANGES
上記のコマンドで、次の値を有効な値に置き換えます。
ROUTER_NAME
: Cloud Router の名前REGION
: Cloud Router のリージョンPEER_NAME
: Dedicated Interconnect に VLAN アタッチメントを作成する場合、Partner Interconnect に VLAN アタッチメントを作成する場合、HA VPN トンネルを作成する場合、または動的ルーティングを使用して Classic VPN トンネルを作成する場合に構成した BGP ピアの名前。- Cloud Router で使用可能なすべてのサブネット ルートをアドバタイズするために、
--set-advertisement-groups=ALL_SUBNETS
のままにします。これは Cloud Router のデフォルトの動作です。 CUSTOM_RANGES
: アドバタイズするカスタム範囲のカンマ区切りリスト。private.googleapis.com
:- IPv4 接続の場合:
199.36.153.8/30
- IPv4 接続と IPv6 接続の両方の場合:
199.36.153.8/30,2600:2d00:0002:2000::/64
- IPv4 接続の場合:
restricted.googleapis.com
:- IPv4 接続の場合:
199.36.153.4/30
- IPv4 接続と IPv6 接続の両方の場合:
199.36.153.4/30,2600:2d00:0002:1000::/64
- IPv4 接続の場合:
ファイアウォールに関する考慮事項
オンプレミス ネットワークに接続する VPC ネットワーク内の Google Cloud ファイアウォール ルールは、次のパケットに対しては効果がありません。
- VPC ネットワークに接続された Cloud VPN トンネル経由で送信されたパケット
- VPC ネットワークに接続された VLAN アタッチメント経由で送信されたパケット
- VPC ネットワーク内の Cloud DNS インバウンド フォワーダーの IP アドレスへの受信パケット
オンプレミス システムのファイアウォール構成で、適切な IP アドレスへのアウトバンド トラフィックと、適切な IP アドレスからの確立されたレスポンスを確実に許可する必要があります。
private.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.8/30
- IPv6 接続の場合:
2600:2d00:0002:2000::/64
- IPv4 接続の場合:
restricted.googleapis.com
を使用する場合:- IPv4 接続の場合:
199.36.153.4/30
- IPv6 接続の場合:
2600:2d00:0002:1000::/64
- IPv4 接続の場合:
- DNS 構成に Cloud DNS を使用している場合は、Cloud DNS インバウンド フォワーダーの IP アドレス
次のステップ
- Google Cloud VPC ネットワーク内の VM が Google API とサービスにアクセスする必要がある場合は、VPC の限定公開の Google アクセスを構成するをご覧ください。