MongoDB 互換の Firestore でプライベート Google アクセスを構成する

このページでは、MongoDB 互換の Firestore でプライベート Google アクセスを有効にして構成する方法について説明します。

MongoDB 互換の Firestore のプライベート Google アクセスについて

デフォルトでは、Compute Engine VM がネットワーク インターフェースに割り当てられた外部 IP アドレスを持たない場合、他の内部 IP アドレスの宛先にのみパケットを送信できます。VM のネットワーク インターフェースが使用するサブネットで限定公開の Google アクセスを有効にすると、MongoDB 互換の Firestore サービスで使用される一連の外部 IP アドレスに VM を接続できます。

適用可能なサービスとプロトコル

  • このガイドの手順は、MongoDB 互換の Firestore にのみ適用されます

  • MongoDB 互換の Firestore で使用されるデフォルト ドメインと VIP ドメイン、およびそれらの IP 範囲は、TcpProxy MongoDB プロトコルのみをサポートします。他のプロトコルはサポートされていません。

ネットワークの要件

次のすべての条件が満たされている場合、VM インターフェースは限定公開の Google アクセスを使用して Google API とサービスの外部 IP アドレスにパケットを送信できます。

  • 限定公開の Google アクセスが有効なサブネットに VM インターフェースが接続している。

  • VM インターフェースに外部 IP アドレスが割り振られていない。

  • VM から送信されたパケットの送信元 IP アドレスが、次のいずれかの IP アドレスと一致する。

    • VM インターフェースのプライマリ内部 IPv4 アドレス
    • エイリアス IP 範囲からの内部 IPv4 アドレス

ネットワーク インターフェースに割り当てられた外部 IPv4 アドレスを持つ VM には、Google API とサービスに接続する限定公開の Google アクセスは必要ありません。ただし、VPC ネットワークは Google API とサービスのアクセス要件を満たしている必要があります。

IAM の権限

プロジェクト オーナー、編集者、ネットワーク管理者のロールを持つ IAM プリンシパルは、サブネットを作成または更新し、IP アドレスを割り当てることができます。

ロールの詳細については、IAM ロールのドキュメントをご覧ください。

ロギング

Cloud Logging は、限定公開の Google アクセスが有効になっているサブネット内の VM インスタンスからの API リクエストをすべてキャプチャします。ログエントリは、API リクエストのソースを呼び出し元インスタンスの内部 IP アドレスとして識別します。

日次使用状況レポートや月次ロールアップ レポートが Cloud Storage バケットに配信されるよう構成できます。詳細については、使用状況レポートを表示するをご覧ください。

構成の概要

次の表は、MongoDB 互換の Firestore でプライベート Google アクセスを構成するさまざまな方法をまとめたものです。詳細な手順については、ネットワーク構成をご覧ください。

ドメイン オプション IP 範囲 DNS 構成 ルーティング構成 ファイアウォール構成

デフォルト ドメイン(firestore.goog

デフォルト ドメインは、restricted.firestore.goog の DNS レコードを構成していない場合に使用されます。

136.124.0.0/23 Firestore with MongoDB compatibility サービスにはパブリック IP アドレスを介してアクセスするため、特別な DNS 構成は必要ありません。

VPC ネットワークが、MongoDB 互換性サービスを備えた Firestore で使用される IP アドレス範囲にトラフィックをルーティングできることを確認します。

  • 基本構成: ネクストホップが default-internet-gateway、宛先の範囲が 0.0.0.0/0 のデフォルト ルートがあることを確認します。このようなルートがない場合は作成してください。
  • カスタム構成: 136.124.0.0/23 IP アドレス範囲へのルートを作成します。

ファイアウォール ルール136.124.0.0/23 IP アドレス範囲への下り(外向き)が許可されていることを確認します。

デフォルトの下り(外向き)許可のファイアウォール ルールでは、このトラフィックをブロックする優先度の高いルールがない限り、このトラフィックが許可されます。

restricted.firestore.goog

restricted.firestore.goog を使用して、 Google Cloud内からのみルーティング可能な一連の IP アドレスを使用して、MongoDB 互換の Firestore サービスにアクセスします。VPC Service Controls のシナリオで使用できます。

199.36.153.2/31 199.36.153.2/31 IP アドレス範囲にリクエストを送信するように DNS レコードを構成します。 VPC ネットワークに 199.36.153.2/31 IP アドレス範囲へのルートがあることを確認します。 ファイアウォール ルール199.36.153.2/31 IP アドレス範囲への下り(外向き)が許可されていることを確認します。

ネットワークの構成

このセクションでは、プライベート Google アクセスを使用して MongoDB 互換性のある Firestore にアクセスするようにネットワークを構成する方法について説明します。

DNS 構成

他の Google API とは異なり、MongoDB 互換の Firestore API は、プライベート Google アクセスに異なるドメイン名と IP アドレスを使用します。

  • restricted.firestore.goog は、MongoDB 互換の Firestore API への API アクセスを有効にします。

    • IP アドレス: 199.36.153.2199.36.153.3

    • Firestore with MongoDB compatibility は VPC Service Controls に準拠しているため、VPC Service Controls のシナリオでこのドメインを使用できます。

MongoDB 互換の Firestore の DNS ゾーンとレコードを作成するには:

  1. firestore.goog の限定公開 DNS ゾーンを作成します。

    この目的のために、Cloud DNS プライベート ゾーンの作成を検討します。

  2. firestore.goog ゾーンで、次のレコードを作成します。

    1. 次の IP アドレス(199.36.153.2199.36.153.3)を指す restricted.firestore.googA レコード。

    2. restricted.firestore.goog を指す *.firestore.googCNAME レコード。

    Cloud DNS でこれらのレコードを作成するには、レコードを追加するをご覧ください。

ルーティング構成

VPC ネットワークには、ネクストホップがデフォルトのインターネット ゲートウェイである適切なルートが必要です。 Google Cloud は、他の VM インスタンスまたはカスタム ネクストホップ経由での Google API とサービスへのトラフィックのルーティングをサポートしていません。デフォルトのインターネット ゲートウェイと呼ばれてはいますが、VPC ネットワーク内の VM から Google API とサービスに送信されるパケットは、Google のネットワーク内に残ります。

  • デフォルト ドメイン オプションを選択した場合、VM インスタンスは次のパブリック IP アドレス範囲 136.124.0.0/23 を使用して、MongoDB 互換性サービスを備えた Firestore に接続します。この IP アドレスは一般公開され、ルーティング可能ですが、VPC ネットワーク内の VM からこれらのアドレスへのパスが Google のネットワーク内に残ります。

  • Google は、restricted.firestore.goog ドメインで使用されているいずれの IP アドレス範囲のインターネット上のルートも公開していません。したがって、このドメインにアクセスできるのは、VPC ネットワーク内の VM または VPC ネットワークに接続されているオンプレミス システムの場合のみです。

ネクストホップがデフォルトのインターネット ゲートウェイであるデフォルト ルートが VPC ネットワークに含まれている場合、そのルートを使用すると、カスタムルートを作成しなくても、MongoDB 互換性サービスで Firestore にアクセスできます。詳細については、デフォルト ルートでのルーティングをご覧ください。

デフォルト ルート(宛先 0.0.0.0/0 または ::0/0)を、ネクストホップがデフォルトのインターネット ゲートウェイではないカスタムルートに置き換えた場合は、代わりにカスタム ルーティングを使用して、Firestore with MongoDB compatibility サービスのルーティング要件を満たすことができます。

デフォルト ルートでのルーティング

各 VPC ネットワークには、作成時に IPv4 のデフォルト ルート(0.0.0.0/0)が含まれます。

デフォルトのルートは、次の宛先の IP アドレスへのパスを提供します。

  • デフォルト ドメイン(firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

特定のネットワークのデフォルト ルートの構成を確認する Google Cloud コンソールと Google Cloud CLI の手順については、限定公開の Google アクセスを構成するをご覧ください。

カスタムルートを使用したルーティング

デフォルト ルートの代わりに、宛先がより狭く、デフォルトのインターネット ゲートウェイ ネクストホップを使用するカスタム静的ルートを使用することもできます。ルートの宛先 IP アドレスは、選択したドメインによって異なります。

  • デフォルト ドメイン(firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

特定のネットワークでカスタムルートの構成を確認する Google Cloud コンソールと Google Cloud CLI の手順については、限定公開の Google アクセスを構成するをご覧ください。

ファイアウォール構成

VPC ネットワークのファイアウォール構成では、VM から MongoDB 互換の Firestore サービスで使用される IP アドレスへのアクセスを許可する必要があります。暗黙の allow egress ルールは、この要件を満たしています。

一部のファイアウォール構成では、特定の下り(外向き)許可ルールを作成する必要があります。たとえば、すべての宛先(IPv4 の場合は 0.0.0.0)へのトラフィックをブロックする下り(外向き)拒否ルールを作成したとします。この場合、選択したドメインが使用する各 IP アドレス範囲の下り(外向き)拒否ルールよりも優先順位が高い下り(外向き)許可のファイアウォール ルールを 1 つ作成する必要があります。

  • デフォルト ドメイン(firestore.goog: 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

ファイアウォール ルールを作成するには、ファイアウォール ルールの作成をご覧ください。各下り(外向き)許可ルールのターゲットを定義するときに、ファイアウォール ルールが適用される VM を制限できます。

限定公開の Google アクセスの構成

限定公開の Google アクセスは、VPC ネットワーク内のネットワーク要件を満たした後で有効にできます。 Google Cloud コンソールと Google Cloud CLI の手順については、限定公開の Google アクセスを有効にするの手順に沿って操作します。

次のステップ