Docs Menu
Docs Home
/
MongoDB Atlas
/ /

Atlas のプライベートエンドポイントについて学ぶ

項目一覧

  • プライベートエンドポイントの概念
  • プライベートエンドポイントの概念
  • プライベートエンドポイントの概念
  • 必要なアクセス権
  • Considerations
  • 制限
  • 前提条件

注意

この機能は、 M0無料クラスター、 M2 、およびM5クラスターでは使用できません。 利用できない機能について詳しくは、「 Atlas M 0 (無料クラスター)、M 2 、M 5の制限 を参照してください。

MongoDB Atlas では、専有クラスターとサーバーレスインスタンス上のプライベートエンドポイントをサポートしています。お使いのクラスターのタイプを選択すると、Atlas がサポートしているクラウドプロバイダーを確認できます。

  • Amazon Web Servicesを使用するAWS PrivateLink 機能。

  • AzureAzure Private Link 機能を使用しています。

  • Google Cloud Platform は GCP Private Service Connect 機能を使用しています。

オンライン アーカイブのプライベートエンドポイントを設定することもできます。詳しくは、「オンライン アーカイブ用のプライベートエンドポイントの設定」を参照してください。

AWSで PrivateLink を有効にし、Atlas でプライベートエンドポイントを有効にすると、AWS と Atlas では VPC 経由の安全な接続をサポートするために次のリソースが作成されます。

Resource
作成者
説明
プライベートエンドポイント サービス

Atlas

MongoDB Atlas VPC 内のプライベートエンドポイント リソースのコレクションで、ネットワーク ロード バランサーの背後にあるリージョン内にクラスターを配置します。AWS ではエンドポイントサービスは「VPC endpoint service」と呼ばれています。
インターフェイスエンドポイント

Amazon Web Services

Amazon Web Services プライベート IP アドレスを持つ VPC エンドポイントで、AWS PrivateLink 経由でプライベートエンドポイント サービスにトラフィックを送信します。AWS ではインターフェイスエンドポイントは「VPC endpoint」と呼ばれています。
プライベートエンドポイント
AWS と Atlas の連携
Atlas とクラウドプロバイダー間で確立されるプライベート接続の総称です。AWS では PrivateLink を使用して確立されます。
AWS PrivateLink がアプリケーションの VPC から |service| VPC のリソースまでの接続を確立する方法を示す画像。
|aws| Direct Connect を使用して、データセンターからピアリングされた |aws| VPC 、|service| VPC のリソースまでの推移的接続を確立する方法を示す画像。

プライベートエンドポイントを使用した Atlas クラスターへの接続には、他のネットワーク アクセス管理オプションに比べて次のような利点があります。

  • プライベートエンドポイントを使用する接続は一方向であり、Atlas VPC からは VPC への接続を開始できません。この仕組みにより、認識済みネットワークの信頼境界の拡張を防止しています。

  • VPC 内のプライベートエンドポイントへの接続は、以下から推移的に行うことができます。

    • 別の VPC がプライベートエンドポイントに接続済みの VPC にピアリングしました。

    • プライベートエンドポイントに接続済みの VPCDirectConnect 経由で接続されるオンプレミスのデータセンター。この接続方式では、Atlas IP アクセス リストにパブリック IP アドレスを追加することなく、オンプレミスのデータセンターから Atlas に直接接続できます。

この機能を有効にすると、VNet 経由の安全な接続をサポートするために Azure と Atlas で次のリソースが作成されます。

Resource
作成者
説明
プライベートエンドポイント サービス

Atlas

Atlas VNet 内のプライベートエンドポイント リソースのコレクションで、ネットワーク ロード バランサーの背後にあるリージョン内にクラスターを配置します。
プライベートエンドポイント
Azure と Atlasの連携
Atlas とクラウドプロバイダー間で確立されるプライベート接続の総称です。Azureでは Private Link を使用して確立されます。

Atlas は Private Link サービスを作成し、リージョン内のクラスターを Atlas VNet のロード バランサーの背後に配置します。

次に、プライベートエンドポイントを使用して、VNet から Atlas VNet 内の Private Link サービス への一方向接続を確立するリソースを作成します。Private Link サービスは、Atlas VNet 内のクラスターの前面にあるロード バランサーにトラフィックをルーティングします。

プライベートエンドポイントを使用した Atlas クラスターへの接続には、他のネットワーク アクセス管理オプションに比べて次のような利点があります。

  • プライベートエンドポイントを使用する接続は一方向であり、Atlas VNet からは VNet への接続を開始できません。この仕組みにより、認識済みネットワークの信頼境界の拡張を防止しています。

  • VNet 内のプライベートエンドポイントへの接続は、以下から推移的に行うことができます。

    • 別の VNet がプライベートエンドポイントに接続済みの VNet にピアリングしました。

    • プライベートエンドポイントに接続済みの VNet へ ExpressRoute で接続されるオンプレミスのデータセンター。この接続方式では、Atlas IP アクセス リストにパブリック IP アドレスを追加することなく、オンプレミスのデータセンターから Atlas に直接接続できるようになります。

この機能を有効にすると、VPC 経由の安全な接続をサポートするために Google Cloud と Atlas で次のリソースが作成されます。

Resource
作成者
説明
プライベートエンドポイント サービス

Atlas

Atlas VPC 内のプライベートエンドポイント リソースのコレクションで、ネットワーク ロード バランサーの背後のリージョン内にクラスターを配置します。
プライベートエンドポイント
Google Cloud Platform と Atlas の連携
Atlas とクラウドプロバイダー間で確立されるプライベート接続の総称です。Google Cloud Platform では、Private Service Connect を使用して確立されます。

Google Cloud で GCP Private Service Connect を有効にすると、Atlas ではサービス アタッチメントとロード バランサーを使用してプライベートエンドポイント サービスが作成されます。

次に、プライベートエンドポイントを使用して、VPC から Atlas のプライベートエンドポイント サービスへの一方向接続を確立するリソースを作成します。このプライベートエンドポイント サービスでは、Atlas VPC 内のクラスターのロード バランサーにトラフィックがルーティングされます。

この機能を有効にすると、現在のクラスターと将来のクラスターの両方でリソースの可用性を確保するために、Atlasは次のアクションを実行します。

  • そのリージョン向けに 50 個のロード バランサーとサービス アタッチメントを作成します。次に、Atlas ではリージョン内の既存クラスターが Atlas VPC のロード バランサーの背後に配置されます。GCP Private Service Connect では、すべてのクラスター内の各ノードに個別のロード バランサーが必要です。

  • 残りのロード バランサーとサービス アタッチメントを、そのリージョン内の将来のクラスター用に予約します。

以下の図では、1 つのリージョンに 1 つのクラスターがある場合での GCP Private Service Connect の接続確立方法が示されています。

1 つのリージョンに 1 つのクラスターがある場合に、GCP Private Service Connect がアプリケーション VPC から |service| VPC のリソースへの接続を確立する方法を示す画像。明るめの色の線は、|service| が予約するアドレスへの潜在的な接続を表します。

以下の図では、1 つのリージョンに 2 つのクラスターがある場合での GCP Private Service Connect の接続確立方法が示されています。

1 つのリージョンに 2 つのクラスターがある場合に、GCP Private Service Connect がアプリケーション VPC から |service| VPC のリソースへの接続を確立する方法を示す画像。明るめの色の線は、|service| が予約するアドレスへの潜在的な接続を表します。

プライベートエンドポイントを使用した Atlas クラスターへの接続には、他のネットワーク アクセス管理オプションに比べて次のような利点があります。

  • プライベートエンドポイントへの接続は一方向であり、Atlas VPC からは Google Cloud Platform VPC への接続を開始できません。この仕組みにより、認識済みネットワークの信頼境界の拡張を防止しています。

  • Google Cloud Platform VPN に接続されたオンプレミスのデータセンターからプライベートエンドポイントに接続された VPC まで、VPC 内のプライベートエンドポイントに推移的に接続できます。この接続方式では、Atlas アクセス リストにパブリック IP アドレスを追加することなく、オンプレミスのデータセンターから Atlas に直接接続できます。

重要

サーバーレスインスタンスは GCP Private Service Connect をサポートしていません。

注意

MongoDB は、サーバーレスインスタンスでサポートされる構成と機能を徐々に増やしていく予定です。 MongoDB がサーバーレスインスタンスでサポートする予定の機能については、「サーバーレスインスタンスの制限 」を参照してください。

オンライン アーカイブのプライベートエンドポイントを設定することもできます。詳しくは、「オンライン アーカイブ用のプライベートエンドポイントの設定」を参照してください。

この機能を有効にすると、Atlas ではエンドポイントごとに、サーバーレスインスタンスと同じ VPC とリージョン内の既存のエンドポイント サービスが予約されます。

プライベートエンドポイントを使用した Atlas クラスターへの接続には、他のネットワーク アクセス管理オプションに比べて次のような利点があります。

  • プライベートエンドポイントを使用する接続は一方向であり、Atlas VPC からは VPC への接続を開始できません。この仕組みにより、認識済みネットワークの信頼境界の拡張を防止しています。

  • VPC 内のプライベートエンドポイントへの接続は、以下から推移的に行うことができます。

    • 別の VPC がプライベートエンドポイントに接続済みの VPC にピアリングしました。

    • プライベートエンドポイントに接続済みの VPCDirectConnect 経由で接続されるオンプレミスのデータセンター。この接続方式では、Atlas IP アクセス リストにパブリック IP アドレスを追加することなく、オンプレミスのデータセンターから Atlas に直接接続できます。

この機能を有効にすると、Atlas ではエンドポイントごとに、サーバーレスインスタンスと同じ VPC とリージョン内の既存のエンドポイント サービスが予約されます。

プライベートエンドポイントを使用した Atlas クラスターへの接続には、他のネットワーク アクセス管理オプションに比べて次のような利点があります。

  • プライベートエンドポイントを使用する接続は一方向であり、Atlas VNet からは VNet への接続を開始できません。この仕組みにより、認識済みネットワークの信頼境界の拡張を防止しています。

  • VNet 内のプライベートエンドポイントへの接続は、以下から推移的に行うことができます。

    • 別の VNet がプライベートエンドポイントに接続済みの VNet にピアリングしました。

    • プライベートエンドポイントに接続済みの VNet へ ExpressRoute で接続されるオンプレミスのデータセンター。この接続方式では、Atlas IP アクセス リストにパブリック IP アドレスを追加することなく、オンプレミスのデータセンターから Atlas に直接接続できるようになります。

プライベートエンドポイントをセットアップするには、Organization OwnerまたはProject Ownerとしてのプロジェクトへのアクセス権が必要です。

Atlas へのプライベートエンドポイント接続がアベイラビリティーゾーンの停止時に耐えられるようにするには、リージョン内の複数のアベイラビリティーゾーンにサブネットを配置する必要があります。

アベイラビリティーゾーンが停止しても、Azure プライベートエンドポイントの Atlas への接続が持続するように、追加のアクションを実行する必要はありません。

Atlas への Google Cloud Platform プライベートエンドポイント接続がアベイラビリティーゾーンの停止時に耐えられるようにするために、追加のアクションを講じる必要はありません。

GCP Private Service Connect で、Atlas クラスターのマルチリージョン サポートが提供されるようになりました。別の Google Cloud Platform リージョンからプライベートエンドポイントに接続するために、グローバル アクセス を構成できます。グローバル アクセスを使用すると、マルチリージョンクラスター、自分のリージョンとは異なるリージョンでホストされている単一リージョン配置、マルチクラウド配置の Google Cloud Platform ノードの高可用性を確保できます。

詳しくは、「MongoDB Atlas の PSC 相互接続とグローバル アクセスの紹介」を参照してください。

Atlas へのプライベートエンドポイント接続がアベイラビリティーゾーンの停止時に耐えられるようにするには、リージョン内の複数のアベイラビリティーゾーンにサブネットを配置する必要があります。

Atlas へのプライベートエンドポイント接続がアベイラビリティーゾーンの停止時に耐えられるようにするには、リージョン内の複数のアベイラビリティーゾーンにサブネットを配置する必要があります。

AWS PrivateLink はアドレス指定可能なターゲットを 50 個サポートしており、Atlas はポート 1024 からポート 65535 まで使用できますが、通常はポート 1024 から開始します。ポートは、クラスターの変更など(ただしこれらに限定されない)特定の状況下で変更される可能性があります。

重要

MongoDB では、AWS PrivateLink が使用するポートが変更された場合に DNS が自動的に更新されるように、DNS シードリストのプライベートエンドポイントで認識される接続文字列を使用することを強くおすすめしています。同じ理由で、特定のポートでなく、ポート範囲全体を許可リストに登録することも強くおすすめしています。

Azure Private Link では、アドレス指定可能なターゲットを 150 個サポートします。Atlas はポート 1024 からポート 2524 まで使用できますが、通常はポート 1024 から開始します。ポートは、クラスターの変更など(ただしこれらに限定されない)特定の状況下で変更される可能性があります。

重要

MongoDB では、Azure Private Link が使用するポートが変更された場合に DNS が自動的に更新されるように、DNS シードリストのプライベートエンドポイントで認識される接続文字列を使用することを強くおすすめしています。同じ理由で、特定のポートでなく、ポート範囲全体を許可リストに登録することも強くおすすめしています。

Atlas サービスには、ポート 27015 から 27017 の GCP Private Service Connect エンドポイントを介してアクセスします。ポートはクラスターの変更など、いくつかの特定状況下で変更可能です。

重要

MongoDB では、DNS シードリストのプライベートエンドポイントで認識される接続文字列の使用を強くお勧めしています。GCP Private Service Connect の使用ポートが変更した場合、DNS によって使用ポートが自動更新されるためです。同じ理由で、特定のポートでなく、ポート範囲全体を許可リストに登録することも強くお勧めしています。

AWS PrivateLink はアドレス指定可能なターゲットを 50 個サポートしており、Atlas はポート 1024 からポート 65535 まで使用できますが、通常はポート 1024 から開始します。ポートは、クラスターの変更など(ただしこれらに限定されない)特定の状況下で変更される可能性があります。

重要

MongoDB では、AWS PrivateLink が使用するポートが変更された場合に DNS が自動的に更新されるように、DNS シードリストのプライベートエンドポイントで認識される接続文字列を使用することを強くおすすめしています。同じ理由で、特定のポートでなく、ポート範囲全体を許可リストに登録することも強くおすすめしています。

Azure Private Link では、アドレス指定可能なターゲットを 150 個サポートします。Atlas はポート 1024 からポート 2524 まで使用できますが、通常はポート 1024 から開始します。ポートは、クラスターの変更など(ただしこれらに限定されない)特定の状況下で変更される可能性があります。

重要

MongoDB では、Azure Private Link が使用するポートが変更された場合に DNS が自動的に更新されるように、DNS シードリストのプライベートエンドポイントで認識される接続文字列を使用することを強くおすすめしています。同じ理由で、特定のポートでなく、ポート範囲全体を許可リストに登録することも強くおすすめしています。

プライベートエンドポイントを設定すると、Atlas は DNS シードリストと標準のプライベートエンドポイント対応接続文字列を生成します。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0-k45tj.mongodb.net
  • 標準接続文字列

    mongodb://pl-0-us-east-1-k45tj.mongodb.net:1024,pl-0-us-east-1-k45tj.mongodb.net:1025,pl-0-us-east-1-k45tj.mongodb.net:1026/?ssl=true&authSource=admin&replicaSet=Cluster0-shard-0-shard-0

VPC 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、インターフェイスエンドポイントのいずれかを経由して Atlas VPC のロード バランサーへの接続を確立しようとします。ホスト名は、お使いのクライアントで使用される DNS 解決メカニズムに従って、インターフェイスエンドポイントに変換されます。あるインターフェイスエンドポイントが使用できない場合は、次のものが使用されます。ドライバーなどの接続メカニズムではこの処理を見通すことはできません。ドライバーが認識するのは、SRV レコード形式または接続文字列形式のホスト名のみです。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

次の例は、AWS PrivateLink が有効化されている単一リージョン クラスターの SRV レコードで、pl-0-us-east-1-k45tj.mongodb.net 3 つの一意なポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1-k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1-k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1-k45tj.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net は、mongodb+srv://cluster0-pl-0-k45tj.mongodb.net 接続文字列が参照する SRV レコードです。

  • pl-0-us-east-1-k45tj.mongodb.net は、AWS PrivateLink を構成済みのあるリージョンに属する 1 つの Atlas クラスター内の各ノードのホスト名です。

  • 102410251026 は、Atlas で AWS PrivateLink を有効化したリージョンに属する各 Atlas レプリカセット ノードのロード バランサーに割り当てられる固有のポートです。Atlas レプリカセット内のどのノードにも同じホスト名でアクセスでき、個々のノードはロード バランサーによって固有のポート別に解決されます。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は、DNS 正規名(CNAME)レコードとして AWS でインターフェイスエンドポイント向けに生成されるエンドポイント固有のリージョン別 DNS 名です。インターフェイスエンドポイントを配置した VPC の各サブネットには DNS ALIAS レコードがあり、各 ALIASレコードには、そのサブネット向けインターフェイスエンドポイントのプライベート IP アドレスが含まれています。

以下に例示されているのは、SRV レコードと標準接続文字列のホスト名向けの DNS ルックアップであり、インターフェイスエンドポイントとその DNS ALIAS レコード向けのエンドポイント固有のリージョン別 DNS 名が含まれています。

$ nslookup pl-0-us-east-1-k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
pl-0-us-east-1-k45tj.mongodb.net
canonical name = vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com.
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.30.194
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.20.54

プライベートエンドポイントを構成すると、Atlas は DNS シードリスト接続文字列を生成します。

DNS シードリスト接続

mongodb+srv://serverlessinstance0-pl-0-k45tj.mongodb.net

VPC 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、インターフェイスエンドポイントのいずれかを経由して Atlas VPC のロード バランサーへの接続を確立しようとします。ホスト名は、お使いのクライアントで使用される DNS 解決メカニズムに従って、インターフェイスエンドポイントに変換されます。あるインターフェイスエンドポイントが使用できない場合は、次のものが使用されます。ドライバーなどの接続メカニズムではこの処理を見通すことはできません。ドライバーが認識するのは、SRV レコード形式または接続文字列形式のホスト名のみです。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

以下の例示では、AWS PrivateLink が有効化されているサーバーレスインスタンスの SRV レコードで、serverlessinstance0-pe-1.oqg5v.mongodb.netに 1 つのポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 pe-1-serverlessinstance0.oqg5v.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net は、mongodb+srv://serverlessinstance0-pe-1.oqg5v.mongodb.net 接続文字列が参照する SRV レコードです。

  • serverlessinstance0-pe-1.oqg5v.mongodb.net は、AWS PrivateLink を構成済みの Atlas サーバーレスインスタンスのホスト名です。

  • 27017 は、AWS PrivateLink を有効にした Atlas サーバーレスインスタンスのロード バランサーに Atlas が割り当てる固有のポートです。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は、DNS 正規名(CNAME)レコードとして AWS でインターフェイスエンドポイント向けに生成されるエンドポイント固有のリージョン別 DNS 名です。インターフェイスエンドポイントを配置した VPC の各サブネットには DNS ALIAS レコードがあり、各 ALIASレコードには、そのサブネット向けインターフェイスエンドポイントのプライベート IP アドレスが含まれています。

プライベートエンドポイントを設定すると、Atlas は DNS シードリストと標準のプライベートエンドポイント対応接続文字列を生成します。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net
  • 標準接続文字列

    mongodb://pl-0-eastus2.uzgh6.mongodb.net:1024,pl-0-eastus2.uzgh6.mongodb.net:1025,pl-0-eastus2.uzgh6.mongodb.net:1026/?ssl=truereplicaSet=atlas-18bndf-shard-0

VNet 内のクライアントは、これらのプライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、プライベートエンドポイントのネットワーク インターフェイス経由で Atlas VNet 内の Private Link Service への接続を確立しようとします。Private Link Service では、Azure Standard Load Balancer から、該当リージョンに配置した Atlas クラスター ノードへトラフィックが送信されます。クライアントで使用される DNS 解決メカニズムでは、ホスト名はネットワーク インターフェイスのプライベート IP アドレスに変換されます。ドライバーは接続文字列形式のホスト名のみを認識し、クラスターのレプリカセット内の各ノードにつき 1 つのポートでリッスンします。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

次の例では、Azure Private Link が有効化されている単一リージョン クラスターの SRV レコードで、pl-0-eastus2.uzgh6.mongodb.net に 3 つの一意なポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1024 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1025 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1026 pl-0-eastus2.uzgh6.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net とは
    接続文字列が参照する SRV レコードです。
  • pl-0-eastus2.uzgh6.mongodb.net は次のホスト名です:
    これは、AWS PrivateLink を設定した 1 つのリージョン内の 1 つの Atlas クラスター内の各ノードのものです。
  • 102410251026 は固有のポートとして、
    Atlas は、Azure Private Link を有効にしたリージョン内の各 Atlas レプリカセットのノードに対してロード バランサーを割り当てます。Atlas レプリカセット内のすべてのノードには同じホスト名でアクセスでき、ロード バランサーは個々のノードを固有のポートで解決します。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は DNS A レコードであり、プライベートエンドポイントのネットワーク インターフェイスのプライベート IP アドレスに変換されます。

以下に例示されているのは、SRV レコードと標準接続文字列のホスト名向けの DNS ルックアップです。

$ nslookup pl-0-eastus2.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: pl-0-eastus2.uzgh6.mongodb.net
Address: 10.0.0.4

プライベートエンドポイントを構成すると、Atlas では次の DNS シードリスト接続文字列が生成されます。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net

VNet 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して MongoDB Atlas に接続する際、プライベートエンドポイントのネットワーク インターフェイス経由で Atlas VNet 内の Private Link Service への接続を確立しようとします。Private Link Service では、Azure Standard Load Balancer から、該当リージョンに配置した Atlas クラスターへトラフィックが送信されます。クライアントで使用される DNS 解決メカニズムでは、ホスト名はネットワーク インターフェイスのプライベート IP アドレスに変換されます。ドライバーでは、接続文字列形式のホスト名のみが認識されます。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

以下の例示では、Azure Private Link が有効化されているサーバーレスインスタンスの SRV レコードで、pl-0-eastus2.uzgh6.mongodb.netに 1 つのポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 serverlessinstance0-pe-1.oqg5v.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net は、接続文字列が参照する SRV レコードです。

  • serverlessinstance0-pe-1.oqg5v.mongodb.net は、Azure Private Link を構成済みの Atlas サーバーレスインスタンスのホスト名です。

  • 27017 は、Azure Private Link を有効にした Atlas サーバーレスインスタンスのロード バランサーに Atlas が割り当てる固有のポートです。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は DNS A レコードであり、プライベートエンドポイントのネットワーク インターフェイスのプライベート IP アドレスに変換されます。

プライベートエンドポイントを設定すると、Atlas は DNS シードリストと標準のプライベートエンドポイント対応接続文字列を生成します。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net
  • 標準接続文字列

    mongodb://pl-00-000-eastus2.uzgh6.mongodb.net:27017,pl-00-001-eastus2.uzgh6.mongodb.net:27017,pl-00-002-eastus2.uzgh6.mongodb.net:27017/?ssl=truereplicaSet=atlas-18bndf-shard-0

ネットワーク内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、プライベートエンドポイントから Atlas VPC のサービス アタッチメントへの接続を確立しようとします。サービス アタッチメントでは、Google Cloud Platform 内部のロード バランサーから、該当リージョンに配置した Atlas クラスター ノードへトラフィックが送信されます。クライアントで使用される DNS 解決メカニズムでは、ホスト名はネットワーク インターフェイスのプライベート IP アドレスに変換されます。

プライベートエンドポイントを設定すると、Atlas は DNS シードリストと標準のプライベートエンドポイント対応接続文字列を生成します。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0-k45tj.mongodb.net
  • 標準接続文字列

    mongodb://pl-0-us-east-1-k45tj.mongodb.net:1024,pl-0-us-east-1-k45tj.mongodb.net:1025,pl-0-us-east-1-k45tj.mongodb.net:1026/?ssl=true&authSource=admin&replicaSet=Cluster0-shard-0-shard-0

VPC 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、インターフェイスエンドポイントのいずれかを経由して Atlas VPC のロード バランサーへの接続を確立しようとします。ホスト名は、お使いのクライアントで使用される DNS 解決メカニズムに従って、インターフェイスエンドポイントに変換されます。あるインターフェイスエンドポイントが使用できない場合は、次のものが使用されます。ドライバーなどの接続メカニズムではこの処理を見通すことはできません。ドライバーが認識するのは、SRV レコード形式または接続文字列形式のホスト名のみです。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

次の例は、AWS PrivateLink が有効化されている単一リージョン クラスターの SRV レコードで、pl-0-us-east-1-k45tj.mongodb.net 3 つの一意なポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1-k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1-k45tj.mongodb.net.
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1-k45tj.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net は、mongodb+srv://cluster0-pl-0-k45tj.mongodb.net 接続文字列が参照する SRV レコードです。

  • pl-0-us-east-1-k45tj.mongodb.net は、AWS PrivateLink を構成済みのあるリージョンに属する 1 つの Atlas クラスター内の各ノードのホスト名です。

  • 102410251026 は、Atlas で AWS PrivateLink を有効化したリージョンに属する各 Atlas レプリカセット ノードのロード バランサーに割り当てられる固有のポートです。Atlas レプリカセット内のどのノードにも同じホスト名でアクセスでき、個々のノードはロード バランサーによって固有のポート別に解決されます。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は、DNS 正規名(CNAME)レコードとして AWS でインターフェイスエンドポイント向けに生成されるエンドポイント固有のリージョン別 DNS 名です。インターフェイスエンドポイントを配置した VPC の各サブネットには DNS ALIAS レコードがあり、各 ALIASレコードには、そのサブネット向けインターフェイスエンドポイントのプライベート IP アドレスが含まれています。

以下に例示されているのは、SRV レコードと標準接続文字列のホスト名向けの DNS ルックアップであり、インターフェイスエンドポイントとその DNS ALIAS レコード向けのエンドポイント固有のリージョン別 DNS 名が含まれています。

$ nslookup pl-0-us-east-1-k45tj.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
pl-0-us-east-1-k45tj.mongodb.net
canonical name = vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com.
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.30.194
Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com
Address: 10.0.20.54

プライベートエンドポイントを構成すると、Atlas は DNS シードリスト接続文字列を生成します。

DNS シードリスト接続

mongodb+srv://serverlessinstance0-pl-0-k45tj.mongodb.net

VPC 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、インターフェイスエンドポイントのいずれかを経由して Atlas VPC のロード バランサーへの接続を確立しようとします。ホスト名は、お使いのクライアントで使用される DNS 解決メカニズムに従って、インターフェイスエンドポイントに変換されます。あるインターフェイスエンドポイントが使用できない場合は、次のものが使用されます。ドライバーなどの接続メカニズムではこの処理を見通すことはできません。ドライバーが認識するのは、SRV レコード形式または接続文字列形式のホスト名のみです。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

以下の例示では、AWS PrivateLink が有効化されているサーバーレスインスタンスの SRV レコードで、serverlessinstance0-pe-1.oqg5v.mongodb.netに 1 つのポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 pe-1-serverlessinstance0.oqg5v.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net は、mongodb+srv://serverlessinstance0-pe-1.oqg5v.mongodb.net 接続文字列が参照する SRV レコードです。

  • serverlessinstance0-pe-1.oqg5v.mongodb.net は、AWS PrivateLink を構成済みの Atlas サーバーレスインスタンスのホスト名です。

  • 27017 は、AWS PrivateLink を有効にした Atlas サーバーレスインスタンスのロード バランサーに Atlas が割り当てる固有のポートです。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は、DNS 正規名(CNAME)レコードとして AWS でインターフェイスエンドポイント向けに生成されるエンドポイント固有のリージョン別 DNS 名です。インターフェイスエンドポイントを配置した VPC の各サブネットには DNS ALIAS レコードがあり、各 ALIASレコードには、そのサブネット向けインターフェイスエンドポイントのプライベート IP アドレスが含まれています。

プライベートエンドポイントを設定すると、Atlas は DNS シードリストと標準のプライベートエンドポイント対応接続文字列を生成します。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net
  • 標準接続文字列

    mongodb://pl-0-eastus2.uzgh6.mongodb.net:1024,pl-0-eastus2.uzgh6.mongodb.net:1025,pl-0-eastus2.uzgh6.mongodb.net:1026/?ssl=truereplicaSet=atlas-18bndf-shard-0

VNet 内のクライアントは、これらのプライベートエンドポイントを認識する接続文字列を使用して Atlas クラスターに接続する際、プライベートエンドポイントのネットワーク インターフェイス経由で Atlas VNet 内の Private Link Service への接続を確立しようとします。Private Link Service では、Azure Standard Load Balancer から、該当リージョンに配置した Atlas クラスター ノードへトラフィックが送信されます。クライアントで使用される DNS 解決メカニズムでは、ホスト名はネットワーク インターフェイスのプライベート IP アドレスに変換されます。ドライバーは接続文字列形式のホスト名のみを認識し、クラスターのレプリカセット内の各ノードにつき 1 つのポートでリッスンします。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

次の例では、Azure Private Link が有効化されている単一リージョン クラスターの SRV レコードで、pl-0-eastus2.uzgh6.mongodb.net に 3 つの一意なポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1024 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1025 pl-0-eastus2.uzgh6.mongodb.net.
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1026 pl-0-eastus2.uzgh6.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net とは
    接続文字列が参照する SRV レコードです。
  • pl-0-eastus2.uzgh6.mongodb.net は次のホスト名です:
    これは、AWS PrivateLink を設定した 1 つのリージョン内の 1 つの Atlas クラスター内の各ノードのものです。
  • 102410251026 は固有のポートとして、
    Atlas は、Azure Private Link を有効にしたリージョン内の各 Atlas レプリカセットのノードに対してロード バランサーを割り当てます。Atlas レプリカセット内のすべてのノードには同じホスト名でアクセスでき、ロード バランサーは個々のノードを固有のポートで解決します。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は DNS A レコードであり、プライベートエンドポイントのネットワーク インターフェイスのプライベート IP アドレスに変換されます。

以下に例示されているのは、SRV レコードと標準接続文字列のホスト名向けの DNS ルックアップです。

$ nslookup pl-0-eastus2.uzgh6.mongodb.net
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: pl-0-eastus2.uzgh6.mongodb.net
Address: 10.0.0.4

プライベートエンドポイントを構成すると、Atlas では次の DNS シードリスト接続文字列が生成されます。

  • DNS シードリスト接続

    mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net

VNet 内のクライアントは、プライベートエンドポイントを認識する接続文字列を使用して MongoDB Atlas に接続する際、プライベートエンドポイントのネットワーク インターフェイス経由で Atlas VNet 内の Private Link Service への接続を確立しようとします。Private Link Service では、Azure Standard Load Balancer から、該当リージョンに配置した Atlas クラスターへトラフィックが送信されます。クライアントで使用される DNS 解決メカニズムでは、ホスト名はネットワーク インターフェイスのプライベート IP アドレスに変換されます。ドライバーでは、接続文字列形式のホスト名のみが認識されます。

DNS シードリストのプライベートエンドポイント対応接続文字列の SRV レコード

以下の例示では、Azure Private Link が有効化されているサーバーレスインスタンスの SRV レコードで、pl-0-eastus2.uzgh6.mongodb.netに 1 つのポートが定義されています。

$ nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 serverlessinstance0-pe-1.oqg5v.mongodb.net.

前の例では、次のようになります。

  • _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net は、接続文字列が参照する SRV レコードです。

  • serverlessinstance0-pe-1.oqg5v.mongodb.net は、Azure Private Link を構成済みの Atlas サーバーレスインスタンスのホスト名です。

  • 27017 は、Azure Private Link を有効にした Atlas サーバーレスインスタンスのロード バランサーに Atlas が割り当てる固有のポートです。

プライベートエンドポイント対応接続文字列と SRV レコードでのホスト名 DNS 解決

SRV レコードと標準接続文字列のホスト名は DNS A レコードであり、プライベートエンドポイントのネットワーク インターフェイスのプライベート IP アドレスに変換されます。

Tip

以下も参照してください。

プライベート エンドポイントを有効にした場合でも、IP アクセス リストへのパブリック IP 追加やネットワーク ピアリングといった他のメソッドを使って Atlas クラスターへのアクセスを有効にできます。

他の方法を使用して Atlas クラスターに接続するクライアントは、標準の接続文字列を使用します。クライアントは、プライベートエンドポイント対応の接続文字列と標準接続文字列をいつ使用するかを識別する必要がある場合があります。

マルチリージョンおよびグローバルなシャーディングされたクラスターでは、相互にピアリングできないネットワークからプライベートエンドポイントを使用して Atlas に接続する必要がある場合、複数のプライベートエンドポイントを 1 つのリージョンに配置できます。

クラスターを配置したリージョンに、任意の数のプライベートエンドポイントを配置できます。 各リージョン プライベートエンドポイントは、そのリージョンのmongosインスタンスに接続します。

警告:この設定を有効にすると、既存のマルチリージョン クラスターとグローバルなシャーディングされたクラスターへの接続文字列が変更されます。

新しい接続文字列を使用するには、アプリケーションをアップデートする必要があります。これにより、ダウンタイムが発生する可能性があります。

この設定を有効にできるのは、Atlas プロジェクトにシャーディングされていないレプリカセットが含まれていない場合のみです。

次の場合は、この設定を無効にすることはできません。

  • 複数のリージョンに複数のプライベートエンドポイントがある場合、または

  • 1 つのリージョンに複数のプライベートエンドポイントがあり、かつ 1 つ以上のリージョンに 1 つのプライベートエンドポイントがある場合

リージョン化されたプライベートエンドポイント設定を有効にすると、シャーディングされたクラスターのみを作成できます。レプリカセットは作成できません。

この機能を使用するには、リージョン化されたプライベートエンドポイント設定を有効にする必要があります。

リージョン化されたプライベートエンドポイント設定を有効または無効にするには、以下のようにします。

Atlas CLI を使用してプロジェクトのリージョン化されたプライベートエンドポイント設定を有効にするには、次のコマンドを実行します。

atlas privateEndpoints regionalModes enable [options]

コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints regionalModes enable を参照してください。

Atlas CLI を使用してプロジェクトのリージョン化されたプライベートエンドポイント設定を無効にするには、次のコマンドを実行します。

atlas privateEndpoints regionalModes disable [options]

コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints regionalModes disable を参照してください。

Atlas CLI を使用してプロジェクトのリージョン化されたプライベートエンドポイント設定を返すには、次のコマンドを実行します。

atlas privateEndpoints regionalModes describe [options]

コマンド構文とパラメーターの詳細については、Atlas CLI ドキュメントの atlas privateEndpoints regionalModes describe を参照してください。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. Projects メニューの横にある Options メニューをクリックし、 Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

Multiple Regionalized Private Endpoints 設定を Yes に切り替えます。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. Projects メニューの横にある Options メニューをクリックし、 Project Settings をクリックします。

    [ Project Settings ]ページが表示されます。

2

Multiple Regionalized Private Endpoints 設定を No に切り替えます。

Atlas は、プライベートエンドポイント サービスのロード バランサーを使用して、シャーディングされたクラスター用に最適化された SRV 接続文字列を生成できます。最適化された接続文字列を使用する場合、Atlas はアプリケーションとシャーディングされたクラスター間の接続数を mongos ごとに制限します。mongos ごとの接続数を制限すると、接続数が急増したときのパフォーマンスが向上します。

注意

Atlas は、Google Cloud または Azure で実行されるクラスターの最適化された接続文字列をサポートしていません。

プライベートエンドポイントの背後にあるシャーディングされたクラスターに最適化された接続文字列の詳細については、「プライベートエンドポイントの背後にあるシャーディングされたクラスターの接続パフォーマンスの向上」を参照してください。

AWS PrivateLink を使用しており、かつ異なるリージョンにエンドポイントがあるものの、リージョン化されたプライベートエンドポイントを使用していない場合は、マルチリージョンクラスターに接続しているアプリケーションが他のリージョンのエンドポイントに確実にアクセスできるようにします。たとえば、AWS でアクセスできるようにするには、エンドポイントを含む VPCピアリングします。

プライベートエンドポイントを有効にした場合でも、IP アクセス リストへのパブリック IP 追加といった他のメソッドを使って Atlas クラスターへのアクセスを有効にできます。

専用クラスターのプライベートエンドポイントの請求について詳しくは、「専用クラスターのプライベートエンドポイント」を参照してください。

サーバーレスインスタンス向けプライベートエンドポイントの請求の詳細については、「サーバーレスインスタンスのプライベートエンドポイント」を参照してください。

  • AWS PrivateLink は、マルチリージョンクラスターを配置するすべてのリージョンでアクティブである必要があります。AWS PrivateLink が、全リージョンでなく一部の対象リージョンでアクティブになっている場合は、エラーが表示されます。AWS または Azure にマルチクラウド クラスターがある場合は、各プロバイダーまたはリージョンにエンドポイントをプロビジョニングし、サイト間 VPN をセットアップする必要があります。

  • 次のいずれかの操作のみを実行できます。

    • 単一のリージョンに複数のプライベートエンドポイントを作成可能

    • ノードが複数のリージョンに配置されている場合、リージョンごとにプライベートエンドポイントを 1つだけ作成可能

      重要

      この制限は、クラウドプロバイダー全体に適用されます。たとえば、AWS の 1 つのリージョンに複数のプライベートエンドポイントを作成した場合は、Azure の複数のリージョンにプライベートエンドポイントを作成できません。

      マルチリージョンとグローバルなシャーディングされたクラスターの例外については、「(任意)マルチリージョンのシャーディングされたクラスターのリージョン別プライベートエンドポイント」を参照してください。

  • プライベートエンドポイント接続を配置していないリージョンから AWS PrivateLink を使用して Atlas クラスターに接続するには、それらのリージョンの VPC を、プライベートエンドポイント接続を配置したリージョンの VPC にピアリングする必要があります。

    リージョン間での VPC ピアリングの詳細については、「AWS ドキュメント」を参照してください。

  • AWS PrivateLinkは、リージョンごとにアドレス指定可能なターゲットを最大 50 個持つ Atlas で使用することができます。リージョン内にアドレス指定可能なターゲットが 50 個を超えて必要な場合には、次のようにします。

    • MongoDB サポートに問い合わせるか、

    • この制限を超えてアドレス指定可能なターゲットに接続するには、追加のプロジェクトまたはリージョンを利用します。

    アドレス指定可能なターゲットには、以下のものがあります。

    • レプリカセット配置内の各 mongod インスタンス(シャーディングされたクラスターは除く)。

    • 最適化された接続文字列を使用する各シャーディングされたクラスターの配置。

    • 最適化されていない接続文字列を使用するシャーディングされたクラスター配置の各 mongos インスタンス。

    • プロジェクト内のすべての専用クラスターにわたる Atlas 用 BI Connector の各インスタンス。

    注意

    AWS PrivateLink の使用数を 1 度限り増加するには、Atlas プロジェクト 1 件につき、アドレス指定可能なターゲット 100 個を上限として、MongoDB サポートにリクエストしてください。

  • Azure Private Link を使用して、MongoDB バージョン 4.0 以降を実行する Atlas クラスターに接続できます。

    重要

    2020 年 10 月 16 日より前に作成された Azure 上の一部の Atlas クラスターでは、Azure Private Link と互換性のない Azure ネットワーク ハードウェアが使用されています。これらのクラスターを使用して Atlas プロジェクト用の Azure Private Link を構成し、プロジェクトでサポートされているクラスターで使用することはできますが、Azure Private Link を介して互換性のないクラスターに接続することはできません。

    すべての新しい Atlas クラスターは Azure Private Link と互換性があります。Azure Private Link のみを使用してクラスターに接続する必要がある場合は、同じ Atlas プロジェクトに新しいクラスターを作成し、データを移行できます。

  • Azure Private Link は、マルチリージョンクラスターを配置するすべてのリージョンでアクティブである必要があります。Azure Private Link が全リージョンでなく一部のターゲット リージョンでアクティブになっている場合は、エラーが表示されます。AWS または Azure にマルチクラウド クラスターがある場合は、各プロバイダーまたはリージョンにエンドポイントをプロビジョニングし、サイト間 VPN をセットアップする必要があります。

  • 次のいずれかの操作のみを実行できます。

    • 単一のリージョンに複数のプライベートエンドポイントを作成可能

    • ノードが複数のリージョンに配置されている場合、リージョンごとにプライベートエンドポイントを 1つだけ作成可能

      重要

      この制限は、クラウドプロバイダー全体に適用されます。たとえば、Azure の 1 つのリージョンに複数のプライベートエンドポイントを作成した場合は、AWS の複数のリージョンにプライベートエンドポイントを作成できません。

    マルチリージョンとグローバルなシャーディングされたクラスターの例外については、「(任意)マルチリージョンのシャーディングされたクラスターのリージョン別プライベートエンドポイント」を参照してください。

  • プライベートエンドポイント接続を配置していないリージョンから Azure Private Link を使用して Atlas クラスターに接続するには、それらのリージョンの VNets を、プライベートエンドポイント接続を配置したリージョンの VNets にピアリングする必要があります。

    グローバル VNet ピアリングの詳細については、Azure のドキュメントを参照してください。

  • Azure Private Linkは、リージョンごとにアドレス指定可能なターゲットを最大 150 個持つ Atlas で使用することができます。リージョン内にアドレス指定可能なターゲットが 150 個を超えて必要な場合には、次のようにします。

    • MongoDB サポートに問い合わせるか、

    • この制限を超えてアドレス指定可能なターゲットに接続するには、追加のプロジェクトまたはリージョンを利用します。

    アドレス指定可能なターゲットには、以下のものがあります。

    • レプリカセット配置内の各 mongod インスタンス(シャーディングされたクラスターは除く)。

    • シャーディングされたクラスター配置内の各 mongos インスタンス。

    • プロジェクト内のすべての専用クラスターにわたる Atlas 用 BI Connector の各インスタンス。

  • Azure Private Link でターゲットごとに許可される最大 TCP 接続数は 64k(6 万 4,000)です。この数はクラスターで持続可能な最大接続数より少ない可能性があります。

  • GCP Private Service Connect を使用して、MongoDB バージョン 4.0 以降を実行する Atlas クラスターに接続できます。

  • GCP Private Service Connect は、マルチリージョンクラスターを配置するすべてのリージョンでアクティブである必要があります。GCP Private Service Connect が、全リージョンでなく一部のターゲット リージョンでアクティブになっている場合は、エラーが表示されます。

  • 次のいずれかの操作のみを実行できます。

    • 単一のリージョンに複数のプライベートエンドポイントを作成可能

    • ノードが複数のリージョンに配置されている場合、リージョンごとにプライベートエンドポイントを 1つだけ作成可能

      重要

      この制限は、クラウドプロバイダー全体に適用されます。たとえば、Google Cloud Platform の 1 つのリージョンに複数のプライベートエンドポイントを作成した場合は、AWS の複数のリージョンにプライベートエンドポイントを作成できません。

    マルチリージョンとグローバルなシャーディングされたクラスターの例外については、「(任意)マルチリージョンのシャーディングされたクラスターのリージョン別プライベートエンドポイント」を参照してください。

  • Atlas は、サブネット マスク値が 27 である サービス アタッチメントを 50 個作成します。Atlas が作成するサービス アタッチメントの数とサブネットマスクを変更するには、Set One Project Limit Atlas Administration API エンドポイントで次の制限を設定します。

    • サービス アタッチメントの数を変更するには、atlas.project.deployment.privateServiceConnectionsPerRegionGroup 制限を設定します。

    • 各サービス アタッチメントのサブネット マスクを変更するには、atlas.project.deployment.privateServiceConnectionsSubnetMask 制限を設定します。

    詳しくは、「1 つのプロジェクト制限を設定」を参照してください。

  • 単一リージョンで GCP Private Service Connect を使用する Atlas プロジェクトを作成する場合、最大 50 のノードを使用できます。ノード数の変更が必要な場合は、以下のいずれかのアクションを実行します。

    • 既存のプライベートエンドポイントを削除し、Set One Project Limit Atlas Administration API エンドポイントを使用して制限を変更します。

    • MongoDB サポートにお問い合わせください。

    • この制限を超えてノードに接続するには、追加のプロジェクトまたはリージョンを使用します。

  • Google Cloud Platform の各プライベートエンドポイントでは、Google Cloud VPC 内に IP アドレスが予約され、エンドポイントの IP アドレスからのトラフィックはサービス アタッチメントに転送されます。プライベートエンドポイントは、サービス アタッチメントと同数(デフォルトでは 50)作成する必要があります。

    アドレス指定可能なターゲットには、以下のものがあります。

    • レプリカセット配置内の各 mongod インスタンス(シャーディングされたクラスターは除く)。

    • シャーディングされたクラスター配置内の各 mongos インスタンス。

    • プロジェクト内のすべての専用クラスターにわたる Atlas 用 BI Connector の各インスタンス。

  • M10+Google Cloud Platformの任意のリージョンでAtlas クラスター専用の 検索ノード を構成すると、 はアドレス指定可能なターゲットの総数にこれらのノードをカウントしません。

  • GCP Private Service Connect の使用数を 1 度限り増加するには、Atlas プロジェクト 1 件につき 100 ノードを上限として、MongoDB サポートにリクエストしてください。

  • 複数のリージョンにわたって GCP Private Service Connect を使用する Atlas プロジェクトを作成する場合、最大 40 のノードを使用できます。この合計数には次のインスタンスは含まれません。

    • Google Cloud の相互に通信するリージョン

    • 無料クラスターまたは共有クラスター

  • Google Cloud Private Service Connect は、仮想マシンごとに最大 1024 の送信接続をサポートします。そのため、単一の Google Cloud 仮想マシンから Atlas クラスターへの接続は 1024 までしか確立できません。

    詳しくは、Google Cloud クラウド NAT のドキュメントを参照してください。

  • Google Cloud Private Service Connect はリージョン固有です。ただし、グローバル アクセスを設定して、異なるリージョンからプライベートエンドポイントにアクセスすることは可能です。

    詳しくは、「マルチリージョン サポート」を参照してください。

    注意

    VPC ピアリングを使用して、異なるリージョンからプライベートエンドポイントにアクセスすることはできません。

  • Private Service Connect を使用してマルチリージョンクラスターに接続する場合、プライベートエンドポイントと同じリージョンにあるクラスターノードにのみ接続できます。エンドポイントとプライマリ ノードが異なるリージョンにある場合は、次を行う必要があります。

    1. アプリケーションの読み込み設定 (read preference) 設定を、セカンダリ ノードからの接続を許可するように設定します。

      たとえば、アプリケーションの読み込み設定 (read preference) を secondaryPreferred に設定できます。

    2. 少なくとも1つのセカンダリ ノードがエンドポイントと同じ地域にあるようにします。

  • プライベートエンドポイントをリージョンにデプロイする前に、まずプロジェクトで一時停止中のクラスターを、そのリージョンに配置されたノードで再開する必要があります。

  • プライベートエンドポイント接続を配置していないリージョンから AWS PrivateLink を使用して Atlas クラスターに接続するには、それらのリージョンの VPC を、プライベートエンドポイント接続を配置したリージョンの VPC にピアリングする必要があります。

    リージョン間での VPC ピアリングの詳細については、「AWS ドキュメント」を参照してください。

  • サーバーレスインスタンスのプライベートエンドポイントはクラスター レベルで適用されます。サーバーレスインスタンスにプライベートエンドポイントを設定した場合、そのプライベートエンドポイントを同じプロジェクト内の他のサーバーレスインスタンスやクラスターに使用することはできません。サーバーレスインスタンスごとに個別のプライベートエンドポイントを設定する必要があります。

  • 1つのサーバーレスインスタンスにつき最大2つのプライベートエンドポイントを接続できます。

プライベートエンドポイントを使用して Atlas への接続を有効にするには、次の条件を満たす必要があります。

  • 組織内で有効な支払い方法がすでに設定されている。

  • 接続先の Atlas クラスターと同じリージョンにプライベートエンドポイントを構成します。

  • Atlas でProject Owner または Organization Owner ロールのいずれかを持ちます。

  • エンドポイントを作成、変更、説明、削除する権限を付与する IAM ユーザーポリシーを持つ AWS ユーザーアカウントを持っていること。インターフェースエンドポイントの使用を制御する方法の詳細については、 AWS ドキュメントを参照してください。

  • (推奨): AWS CLI をインストールする。

  • VPCまだ作成していない場合は、 Amazon Web Servicesでと EC2 インスタンスを作成します。 のドキュメント を参照してくださいAmazon Web Services 作成ガイダンスは利用できません。

  • Atlas でProject Owner または Organization Owner ロールのいずれかを持ちます。

  • Azure CLI をインストールします。

  • まだ作成していない場合は、Azure で VNet とコンピュート インスタンスを作成します。作成ガイダンスについては、Azure ドキュメントを参照してください。

  • Atlas でProject Owner または Organization Owner ロールのいずれかを持ちます。

  • IAM ユーザー ポリシーが定められ、かつコンピュート ネットワーク管理者ロール(ネットワーク リソースの作成、変更、削除が可能)を持つ Google Cloud ユーザー アカウントがある。プライベートエンドポイントと接続の管理の詳細については、「GCP ドキュメント」を参照してください。

  • gcloud CLI をインストールします。

  • まだ作成していない場合は、Google Cloud で VPC とコンピュートインスタンスを作成します。作成ガイダンスについては、「GCP ドキュメント」を参照してください。

  • GCP Private Service Connect エンドポイントの内部 IP アドレスへのトラフィックがEgress ファイアウォール ルールで許可されていることを確認します。

  • (任意)VPC サービス コントロール(VPC-SC)を使用してセキュリティ境界を強制する場合、GCP Private Service Connect エンドポイントと Atlas クラスター間の接続を確立するための Igress ルールと Egress ルールを作成する必要があります。作成ガイダンスについては、「GCP ドキュメント」を参照してください。

  • Private Service Connect を使用して異なるリージョンで Atlas クラスターに接続するには、グローバル アクセスを有効にします。

  • 接続先の Atlas クラスターと同じリージョンにプライベートエンドポイントを構成します。

  • Atlas でProject Owner または Organization Owner ロールのいずれかを持ちます。

  • エンドポイントを作成、変更、説明、削除する権限を付与する IAM ユーザーポリシーを持つ AWS ユーザーアカウントを持っていること。インターフェースエンドポイントの使用を制御する方法の詳細については、 AWS ドキュメントを参照してください。

  • (推奨): AWS CLI をインストールする。

  • VPCまだ作成していない場合は、 Amazon Web Servicesでと EC2 インスタンスを作成します。 のドキュメント を参照してくださいAmazon Web Services 作成ガイダンスは利用できません。

  • Atlas でProject Owner または Organization Owner ロールのいずれかを持ちます。

  • Azure CLI をインストールします。

  • まだ作成していない場合は、Azure で VNet とコンピュート インスタンスを作成します。作成ガイダンスについては、Azure ドキュメントを参照してください。

戻る

プライベートエンドポイント