AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

FAQ:接続文字列オプション

Atlas には複数の接続文字列が用意されています。これらの文字列により、パブリックとプライベートの両方のコンテキストからクラスターに接続できます。Atlas は常にクラスターにユニークな接続文字列を割り当てるため、2 つのクラスターがAtlasとの間でホスト名や接続文字列を共有することはありません。

接続文字列の URI の構造は、文字列のタイプを示します。ピアリング接続またはプライベートエンドポイントを作成した場合、Atlas にはこれらのオプションが複数表示されます。

Atlas に接続するには、アプリケーションをクラスターと通信するための URI に向けます。Atlas は、複数のノードまたはホストを持つクラスターを作成します。各ノードが持つ独自のホスト名により IP アドレスが解決されます。Atlas が接続する接続文字列と呼ばれる URI には、複数のホスト名が含まれる場合があります。許可された IP アドレスからクラスター ホストへの接続を受け入れるように、Atlas を設定します。

Atlas は、認証とTLS を通じてパブリック IP アドレスからの接続を保護します。プライベート IP アドレスに接続する場合は、以下を使用できます。

これらの機能はすべて、安全なネットワーク内の内部IPアドレスを介した通信を管理します。

Atlas は、安全なネットワークを使用する場合に複数の接続ストリングを提供します。各ネットワークは、異なる IP に解決される文字列を提供します。

すべてのクラスターには標準の接続文字列があります。これは、クラスターの以下に解決されます。

  • インターネット接続用のパブリック IP アドレスと

  • AWS クラスターに対する VPC プライベート IP アドレスがピアリングされた VPC によって解決される場合。

この文字列は、インターネット経由で接続するアプリケーション、または AWS 内のピアリングされたクラスターに接続するアプリケーションに使用します。

ピアリングされたネットワークのあるクラスターには、ピアリング接続文字列のプライベート IPがあります。この文字列は、次で利用可能な IP アドレスに解決されます。

  • Azure または Google Cloud のピアリングされたネットワーク

  • AWS のピアリングされたクラスターでカスタム DNS サービスを使用する。

この接続文字列は、右記に接続するアプリケーションで使用します。

  • Azure または Google Cloud のピアリングされたネットワーク内

  • AWS でカスタム DNS サービスを使用する場合の AWS クラスターへの接続。

プライベートエンドポイントが設定されているリージョンの AWS または Azure クラスターには、1 つ以上の接続文字列があります。各文字列は、Atlas VPC または VNet 内のロード バランサーに直接接続する VPC または VNet 内の、ネットワーク インターフェイスのプライベート IP アドレスに解決されます。これらの接続文字列は、プライベートエンドポイントに接続するアプリケーションで使用します。

はい、MongoDB AtlasのPrivate Linkを使用してマルチリージョンクラスターに単一のSRV接続文字列を使用できます。SRV接続文字列は、リージョン全体の適切なノードに自動的に解決されます。ただし、ネットワーク設定がプライベートエンドポイントを介したクロスリージョン接続が許可されていることを確認します。 AWSとAzureの場合、リージョン間でVPC/VNet ピアリングを設定することが含まれます。Google Cloud Platform の場合は、Private Service Connect の グローバル アクセス を構成する必要があります。

詳細については、プライベートエンドポイントのドキュメントを参照してください。

31 年 3 月 2020 より前は、ピアネットワーク化されたAzureまたは Google Cloud クラスター上のデータベースに接続するには、ピアリング専用モードを有効にする必要がありました。このモード:

  • 影響を受けるグローバルDNS 解決と

  • ピアリングされたネットワーク外のデータベース接続を制限します。

複数ホライズンではこれらの制限を解除し、次の追加機能のロックを解除します。

複数ホライゾンを活用するには、以下のタスクを実行します。

注意

現時点では、既存のピアリング対応接続文字列を使用してクラスターに接続し続けることが可能です。ピアリング専用モードでは、複数ホライズンで改善された機能と緩和された制限を利用できなくなります。新機能を使用してレガシー制限を取り除くには、MongoDB では新しい接続文字列を使用する必要があります。

はい。

IPピアリング接続文字列 用のプライベート を 使用して接続するようにアプリケーションを変更します。この変更により、アプリケーションは UI または API を使用してピアリングされたネットワークから接続できるようになります。

より多くのリージョンに拡張するには、まず既存の Azure クラスターでピアリング専用モードを無効にします。

ピアリング専用モードを無効にするには、以下を使用します。

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

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

  3. サイドバーで、 Database見出しの下のClustersをクリックします。

[ Clusters (クラスター) ] ページが表示されます。

2

Atlas クラスターを使用するアプリケーション内のすべての URL を変更して、ピアリング接続文字列用のプライベート IP を使用します。

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

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

  3. サイドバーで、 アイコンを Project Overview の横にあるをクリックします。

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

4

Connect via Peering Only (GCP and Azure) をオフに切り替えます。

1

すべてのクラスターとそれらの MongoDB バージョンを返すには、get all API エンドポイントを呼び出します。

注意

このcurl コマンドは、 APIキーの代わりにサービス アカウント アクセス トークン( OAuth.2 0)を使用して認証します。詳細については、「 Atlas Administration APIの使い始める 」を参照してください。

例

curl --header "Authorization: Bearer {ACCESS-TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/clusters?pretty=true"

成功した場合、応答には以下の内容が含まれます。

{
"results": [{
...
"mongoDBMajorVersion": "6.0",
"mongoDBVersion": "6.0.14",
...
},{
...
"mongoDBMajorVersion": "6.0",
"mongoDBVersion": "6.0.12",
... }
]
}
2

Atlas クラスターを使用するアプリケーション内のすべての URL を変更して、ピアリング接続文字列用のプライベート IP を使用します。

3

プライベートIPモードを無効にする には、 APIエンドポイントを呼び出します。

例

curl を使うと、このコマンドを実行することになります。

curl --header "Authorization: Bearer {ACCESS-TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request PATCH "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateIpMode?pretty=true" \
--data '
{
"enabled" : false
}'

{GROUP-ID}を、該当するプロジェクトのプロジェクト ID に変更します。

成功した場合、応答には次のように表示されます。

1{
2 "enabled" : false
3}

31 年 3 月 2020 より前は、カスタム DNS サービスと Atlas とピアリングされたVPCを使用してAWS内に配置されたアプリケーションは、プライベートIPアドレスで接続することはできませんでした。

  • カスタム DNS はパブリック IP アドレスに解決されました。

  • AWS の内部 DNS がプライベート IP アドレスに解決されました。

AWS にカスタム DNS サービスを使用して展開されたアプリケーションでは、ピアリング接続文字列にプライベート IP を使用する必要があります。

これらの文字列を表示するには、

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

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

  3. サイドバーで、 アイコンを Project Overview の横にあるをクリックします。

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

2
  1. Using Custom DNS on AWS with VPC Peering を On に切り替えます。

  2. AWSクラスターのconnectモーダルを表示します。

  3. Private IP for Peering 接続文字列を選択します。

標準の接続文字列は、次の形式に従います。

mongodb://xyz456-shard-00-00.ab123.mongodb.net:27017
mongodb+srv://xyz456.ab123.mongodb.net

ab123 の前のドットは重要です。この形式を使用する URI は、VPC ピアリングが設定された AWS 内から接続する場合を除き、パブリック IP アドレスに解決されます。

重要

この形式では、レガシー接続文字列から 1- 文字が変更されます。クラスター名の後のハイフン () がピリオド (). になります。

たとえば、このレガシー接続文字列は次のようになります。

mongodb+srv://xyx456-ab123.mongodb.net

はこの標準接続文字列として記述されます。

mongodb+srv://xyx456.ab123.mongodb.net

新しいクラスターの場合、レプリカセットとシャードの名前がクラスターの名前から派生することはありません。新しい名前には、6 文字の英数字 ID が使用されます。

プライベート接続文字列は次の形式に従います。

mongodb://xyx456-shard-00-00-pri.ab123.mongodb.net:27017
mongodb+srv://xyx456-pri.ab123.mongodb.net

ab123 の前の -pri は重要です。この形式を使用する URI は、ピアリングされたネットワーク内でアクセス可能なプライベート IP アドレスに解決されます。クラスターにネットワークピアリングを設定する場合、ピアリングを利用するには、クラスターに接続する際に新しいホスト名を使用する必要があります。

重要

新しいクラスターの場合、レプリカセットとシャードの名前がクラスターの名前から派生することはありません。新しい名前には、6 文字の英数字 ID が使用されます。

注意

AWS環境では、ネットワークピアリングが有効になっている場合でも、-pri接続文字列は任意です。AWS は、プライベート接続文字列を使用するか、標準接続文字列を使用するかにかかわらず、クラスターのプライベートIPアドレスを解決します。

AWS PrivateLink 接続文字列は次の形式に従います。

mongodb://pl-0-us-east-1a.ab123.mongodb.net:1024
mongodb+srv://pl-0-us-east-1a.ab123.mongodb.net

プライベートエンドポイントのリージョン化設定を有効にすると、AWS PrivateLink 接続文字列は次の形式に従います。

mongodb://pl-0-us-west-1.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-us-west-1.ab123.mongodb.net

この形式を使用するURIは、PrivateLink が設定された AWS VPC 経由でアクセスできますが、ピアリングされた他の VPC からもアクセスが順次可能となります。

Azure Private Link 接続文字列は次の形式に従います。

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://pl-0-eastus2.ab123.mongodb.net

プライベートエンドポイントのリージョン化設定を有効にすると、Azure Private Link 接続文字列は次の形式に従います。

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-eastus2.ab123.mongodb.net

この形式を使用するURIは、Private Link が設定された Azure VNet 経由でアクセスできますが、ピアリングされた他の VNet からもアクセスが順次可能となります。

2020 年 3 月 31 日より前は、Atlas の接続文字列は次のように記述されていました。

Amazon Web Services

foo-shard-00-00-ab123.mongodb.net
foo-ab123.mongodb.net

Azure

foo-shard-00-00-ab123.azure.mongodb.net
foo-ab123.azure.mongodb.net

Google Cloud

foo-shard-00-00-ab123.gcp.mongodb.net
foo-ab123.gcp.mongodb.net

プライベート専用モードを有効にした場合、これらのホスト名はピアリングされたネットワーク IP アドレスに解決されます。このモードを無効にすると、ホスト名はパブリック IP アドレスに解決されます。

アプリケーションがピアリング専用モードでレガシー接続文字列を使用している場合、ピアリング接続文字列用のプライベート IP に切り替えます。

Atlas can generate an optimized SRV connection string for sharded clusters using the load balancers from your private endpoint service. When you use an optimized connection string, Atlas limits the number of connections per mongos between your application and your sharded cluster. The limited connections per mongos improve performance during spikes in connection counts.

最適化された接続文字列を使用するには、次のすべての条件を満たす必要があります。

注意

If your cluster meets the criteria for optimized SRV strings, Atlas generates an Optimized SRV Connection string for you. If your cluster ever had legacy connection strings, Atlas maintains those strings indefinitely and includes a Legacy SRV Connection string when you select the Private Endpoint connection type. Consider switching to the Optimized SRV Connection for optimal performance and update your connection string wherever you use it.

Atlas がこの機能をリリースした後にクラスターを作成し、プライベート エンドポイントを有効にした場合、Private Endpoint 接続型を選択すると、Atlas はデフォルトで最適化された接続文字列を表示します。次の例に示すように、接続文字列に lb を追加することで、最適化された接続文字列を識別できます。

mongodb+SRV://User1:P@ssword@cluster0-pl-0-lb.oq123.mongodb-dev.net/

Legacy SRV Connectionオプションがないクラスターの最適化された接続文字列を無効にするには、サポートまでお問い合わせください。

警告

マルチリージョンクラスターへの移行

シャーディングされたクラスターのリージョンを単一からマルチリージョンに変換する場合、リージョン化されたプライベートエンドポイントを有効にしていないと、最適な接続文字列を引き続き使用できなくなります。クラスターを変換する前に、接続文字列を上記「注意」で説明されている Legacy SRV Connection 文字列に更新してください。

ドライバーと最適化された接続文字列を使用した接続方法について詳しくは、「アプリケーションの接続手順」で [Private Endpoint Connection] タブを選択します。

Compass と最適化された接続文字列を使用して接続する方法については、クラスターへの接続手順の Private Endpoint Connection タブを選択してください。

mongosh と最適化された接続文字列を使用して接続する方法については、クラスターへの接続手順で Private Endpoint Connection タブを選択してください。

レガシー接続文字列が存在しており、クラウドプロバイダーを変更する場合は、接続文字列に.gcp または.azure を含める必要があります。次のいずれかを実行します。

  • Google Cloud または Azure への移行

  • Google Cloud または Azure からの移行

    注意

    どちらの操作でも、接続文字列を変更する場合があります。Atlas UI で、アップグレード完了後にクラスターのConnectをクリックし、アップデートされた接続文字列を表示します。

下記の条件によって異なります。

  • 現在のクラスターが使用しているクラウドプロバイダー

  • クラスターを作成したとき

If you created your cluster before multi-cloud clusters were introduced on November 3, 2020, and your cluster runs on Google Cloud or Azure:

  1. Atlas で、プロジェクトの [Clusters] ページに移動します。

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

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

    3. サイドバーで、 Database見出しの下のClustersをクリックします。

      [ Clusters (クラスター) ] ページが表示されます。

  2. クラスタービルダを開きます。

  3. クラスターを編集します。

  4. ターゲットのクラウドプロバイダーから読み取り専用ノードを追加します。

    注意

    レガシーバックアップを使用している場合は、現在のクラウドプロバイダーに 1 つのノードを残し、残りをターゲットのクラウドプロバイダーに移動させます。

  5. 変更内容を確認して送信します。

  6. 生成されたカンマ区切りの URI 接続文字列をコピーします。

  7. アプリケーション内の接続文字列をこの新しい標準接続文字列に置き換えます。

    これにより、アプリケーションは複数のクラウドプロバイダーのノードに接続できるようになります。

  8. アプリケーションを再起動します。

  9. アプリケーションが Atlas に接続できることを確認します。

  10. 最初の変更が完了したら、クラスターを再構成します。

    • 元のクラウドプロバイダーを使用して、選挙可能なノードをすべて削除します。

    • ターゲットのクラウドプロバイダーの読み取り専用ノードを削除します。

    • ターゲットのクラウドプロバイダーを使用して、同じ数の選挙可能なノードを追加します。

    注意

    レガシーバックアップを使用している場合は、新しいバックアップが作成されるまで待ってから、残りのノードを対象のクラウドプロバイダーに移動します。

  11. 変更内容を確認して送信します。

  12. 生成されたカンマ区切りの URI 接続文字列をコピーします。

  13. アプリケーション内の URI 接続文字列を、この新しい URI 接続文字列に置き換えます。

  14. アプリケーションを再起動します。

  15. アプリケーションが Atlas に接続できることを確認します。

次のいずれかに当てはまる場合は、接続文字列は変更されず、クラスターのダウンタイムは発生しません。

  • クラスターはAWSで実行されます。

  • クラスターは任意のクラウドプロバイダーで実行されますが、作成されたのは 11 月 112 日、2020 以降です。

クラスターのクラウドプロバイダーを変更するには、以下の手順を行います。

  1. Atlas で、プロジェクトの [Clusters] ページに移動します。

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

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

    3. サイドバーで、 Database見出しの下のClustersをクリックします。

      [ Clusters (クラスター) ] ページが表示されます。

  2. クラスタービルダを開きます。

  3. クラスターを編集します。

  4. クラウドプロバイダーを変更します。

  5. 変更内容を確認して送信します。

このページを評価