ApsaraDB for MongoDB のシャードクラスターインスタンスは、Mongos、Shard、ConfigServer 各コンポーネント向けに個別のエンドポイントを提供します。また、高可用性を実現する ConnectionStringURI および ConnectionStringURI SRV アドレスも利用可能です。
エンドポイントの取得
-
「ApsaraDB for MongoDBシャードクラスタインスタンス」ページに移動します。上部ナビゲーションバーで、リソースグループとリージョンを選択します。次に、ターゲットインスタンスのIDをクリックします。
-
インスタンス詳細ページの左側ナビゲーションウィンドウで、データベース接続をクリックして、対象ノードのエンドポイントを取得します。
エンドポイントの詳細
エンドポイントのネットワークタイプ
|
ネットワークタイプ |
説明 |
|
プライベートネットワーク |
|
|
パブリックネットワーク |
パブリックネットワーク経由でのインスタンス接続にはセキュリティリスクがあります。デフォルトでは、ApsaraDB for MongoDB インスタンスはパブリックエンドポイントを提供しません。パブリックネットワーク経由で接続する必要がある場合は、手動でパブリックエンドポイントを申請できます。 |
エンドポイントタイプ
|
エンドポイントタイプ |
説明 |
|
ConnectionStringURI SRV アドレス(推奨) |
SRV レコードは DNS レコードタイプの一種で、接続文字列を簡素化し、クラスターメンバーの自動検出を可能にします。
重要
|
|
ConnectionStringURI アドレス |
ApsaraDB for MongoDB は、Mongos コンポーネントおよび Shard コンポーネント向けに ConnectionStringURI アドレスを提供します。 本番環境では、シングルノード接続文字列ではなく ConnectionStringURI アドレスを使用してください。これにより、クライアントは複数の Mongos ノード間でリクエストを自動的に分散(負荷分散)し、いずれかのノードが利用不可になった場合には、正常な Mongos ノードに自動的にフェールオーバーします。 説明
|
|
Mongos アドレス |
Mongos コンポーネントのエンドポイント(プライマリノードのエンドポイントを含む)です。 説明
日常的なテストでは、単一の Mongos ノードに接続するだけで十分です。 |
|
Shard アドレス |
Shard コンポーネントのエンドポイント(プライマリノード、セカンダリノード、読み取り専用ノードのエンドポイントを含む)です。 説明
|
|
ConfigServer アドレス |
ConfigServer コンポーネントのエンドポイント(プライマリノードおよびセカンダリノードのエンドポイントを含む)です。 説明
|
以下のセクションでは、各エンドポイントタイプのフォーマット、パラメーター、および使用例を示します。
ConnectionStringURI SRV アドレス
フォーマット:
mongodb+srv://<username>:<password>@<srv-host>/<database>?[authSource=<authenticationDatabase>]<other_options>
パラメーター:
|
パラメーター |
説明 |
|
|
DNS SRV レコードを使用したサービス検出を示すプレフィックスです。 |
|
|
データベースアカウントのユーザー名です。デフォルト値:root。 |
|
|
データベースアカウントのパスワードです。 |
|
|
ホスト名です。 |
|
|
アクセスするデータベースの名前です。デフォルト値:admin。 |
|
|
データベースアカウントが属するデータベースです。 説明
ApsaraDB for MongoDB の SRV 接続文字列では、TXT レコードにより |
|
|
その他の省略可能なパラメーターです。 説明
SRV 接続では、SSL オプションがデフォルトで有効になります。SSL 暗号化を使用しない場合は、接続文字列に |
使用例:
データベースアカウントは test で、admin データベースに属しています。
mongodb+srv://test:****@dds-2zef4c23****-srv.mongodb.pre.nosql.aliyuncs.com/admin?ssl=false
ConnectionStringURI アドレス
ConnectionStringURI アドレスは、Mongos コンポーネントおよび Shard コンポーネントの両方で利用可能です。
Mongos
フォーマット:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]
|
パラメーター |
説明 |
|
|
データベースアカウントのユーザー名です。デフォルト値:root。 |
|
|
データベースアカウントのパスワードです。 |
|
|
Mongos ノードのDomain Informationです。 |
|
|
Mongos ノードの ポート。 |
|
|
アクセスするデータベースの名前です。デフォルト値:admin。 |
|
|
データベースアカウントが属するデータベースです。 |
使用例:
データベースアカウントは test で、admin データベースに属しています。
mongodb://test:****@s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717,s-bp1773180e38****.mongodb.rds.aliyuncs.com:3717/admin
Shard
Shard コンポーネントの ConnectionStringURI アドレスには、レプリカセット内のすべてのノードのエンドポイントが含まれており、高可用性を実現します。本番環境ではこのアドレスを使用してください。
本番環境では、常に ConnectionStringURI アドレスを使用して接続してください。これにより、クライアントは常に現在のプライマリノードを検出して接続でき、フェールオーバー後に読み書きの問題が発生することを防ぎます。
フォーマット:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]
パラメーター:
|
パラメーター |
説明 |
|
|
データベースアカウントのユーザー名です。デフォルト値:root。 |
|
|
データベースアカウントのパスワードです。 |
|
|
プライマリノード、セカンダリノード、および読み取り専用ノードのDomain Informationです。 |
|
|
プライマリノード、セカンダリノード、および読み取り専用ノードの ポート。 |
|
|
アクセスするデータベースの名前です。デフォルト値:admin。 |
|
|
データベースアカウントが属するデータベースです。 |
|
|
読み書き分離時の読み取りプリファレンスを制御します。書き込みリクエストはプライマリノードにルーティングされ、読み取りリクエストは選択されたモードに従ってルーティングされます。有効な値:
説明
セカンダリノードおよび読み取り専用ノードに読み取りリクエストを送信する場合、負荷分散が不均等になる可能性があります。特定のノードをさらにターゲットにするには、readPreferenceTags パラメーターを設定します。 |
|
|
特定のタグに一致するノードに読み取りリクエストをルーティングします。通常、readPreference と一緒に使用され、
|
readPreference および readPreferenceTags パラメーターを組み合わせて、さまざまなシナリオに対応できます。
|
フェールオーバー動作 |
優先ノード |
パラメーターの組み合わせ |
|
優先ノードからの読み取りが失敗した場合、読み取りリクエストをプライマリノードにルーティングする |
プライマリノードを優先 |
|
|
セカンダリノードおよび読み取り専用ノードを優先 |
|
|
|
セカンダリノードを優先 説明
セカンダリノードが利用不可の場合、読み取りリクエストはプライマリノードにフェールオーバーします。 |
|
|
|
読み取り専用ノードを優先 説明
読み取り専用ノードが利用不可の場合、読み取りリクエストはプライマリノードにフェールオーバーします。 |
|
|
|
優先ノードからの読み取りが失敗した場合、読み取りリクエストをプライマリノードにルーティングしない |
セカンダリノードおよび読み取り専用ノードからのみ読み取り |
|
|
セカンダリノードからのみ読み取り 説明
セカンダリノードが利用不可の場合、読み取り操作は失敗します。 |
|
|
|
読み取り専用ノードからのみ読み取り 説明
読み取り専用ノードが利用不可の場合、読み取り操作は失敗します。 |
|
使用例:
mongodb://test:****@d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717,d-bp1586cb62bf53b****.mongodb.rds.aliyuncs.com:3717/admin
Mongos アドレス
フォーマット:
<host>:<port>
パラメーター:
|
パラメーター |
説明 |
|
|
Mongos ノードのDomain Informationです。 |
|
|
Mongos ノードの ポート。 |
使用例:
s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
Shard アドレス
フォーマット:
<host>:<port>
パラメーター:
|
パラメーター |
説明 |
|
|
Shard ノードのDomain Informationです。 |
|
|
Shard ノードのポートです。 |
使用例:
d-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
ConfigServer アドレス
フォーマット:
<host>:<port>
パラメーター:
|
パラメーター |
説明 |
|
|
ConfigServer ノードのDomain Informationです。 |
|
|
ConfigServer ノードのポート。 |
使用例:
cs-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
MongoDB データベースへの接続
-
以下の情報を収集します。
-
データベースアカウント。デフォルトのアカウントは root です。
重要セキュリティの観点から、本番環境でルートアカウントの使用は避けてください。データベースアカウントを作成し、権限を付与することができます。
-
データベースアカウントのパスワード。パスワードを設定していない場合や忘れた場合は、パスワードを設定または再設定することができます。
-
アクセスするデータベース。データベースアカウントが root の場合、対応するデータベースは admin です。
-
次のいずれかの方法でデータベースに接続します。