Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

addShardToZone

項目一覧

  • 定義
  • 互換性
  • 構文
  • 動作
  • セキュリティ
addShardToZone

シャードをゾーンに関連付けます。 MongoDB はこのシャードを指定されたゾーンに関連付けます。 ゾーンによってカバーされる チャンク は、そのゾーンに関連付けられているシャードに割り当てられます。

Tip

mongoshでは、このコマンドはsh.addShardToZone()ヘルパー メソッドを通じて実行することもできます。

ヘルパー メソッドはmongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。

データベースではmongos addShardToZoneインスタンスからのみadmin を実行できます。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドはサーバーレスインスタンスではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

db.adminCommand(
{
addShardToZone: <string>,
zone: <string>
}
)

このコマンドは、次のフィールドを使用します。

フィールド
タイプ
説明

string

ゾーンに関連付けるシャードの名前。

string

mongoshはヘルパー メソッドsh.addShardToZone()を提供します。

ゾーンを複数のシャードに関連付けることができ、シャードは複数のゾーンに関連付けらることができます。

シャーディングされたクラスター内のゾーンの詳細については、ゾーンのマニュアル ページを参照してください。

MongoDB は、関連付けられているシャードキー値が少なくとも 1 つの範囲ではないゾーンを実質的に無視します。

シャードキー値の範囲をゾーンに関連付けるには、 updateZoneKeyRangeデータベースコマンドまたはsh.updateZoneKeyRange() shellヘルパーを使用します。

updateZoneKeyRangeデータベースコマンドとそのヘルパーsh.updateZoneKeyRange()およびsh.addTagRange()は、シャーディングされていないコレクションまたは存在しないコレクションで実行できます。

Tip

空のコレクションまたは存在しないコレクションをシャーディングする前にゾーンとゾーン範囲を定義することで、シャード コレクション操作は定義されたゾーン範囲のチャンクと、シャードキー値の全範囲をカバーする追加のチャンクを作成し、初期化を実行しますゾーン範囲に基づく チャンク分散 。 このように初期チャンクを作成して分散することで、ゾーン シャーディングの設定を迅速に行うことができます。 初期分散後、バランサーは今後のチャンク分散を管理します。

例については、「 空または存在しないコレクションのゾーンとゾーン範囲の事前定義」を参照してください。

アクセス制御を強制するシャーディングされたクラスターの場合は、次のいずれかの特権を持つユーザーとして認証する必要があります。

  • データベース内のupdate shardsコレクションにある { または、あるいは、config

  • enableShardingクラスター リソースの

clusterAdminまたはclusterManagerの組み込みロールには、 addShardToZoneを発行するための適切な権限があります。 詳細については、ロールベースのアクセス制御に関するドキュメントページを参照してください。

次の例えでは、 shard0000とゾーンJFKを関連付けます。

db.adminCommand( { addShardToZone : "shard0000" , zone : "JFK" } )

シャードは複数のゾーンに関連付けることができます。 次の例えでは、 LGAshard0000に関連付けます。

db.adminCommand( { addShardToZone : "shard0000" , zone : "LGA" } )

shard0000 は、 LGAゾーンとJFKゾーンの両方に関連付けられています。 MongoDB はバランスの取れたクラスター内で、いずれのゾーンでカバーされる読み取りと書込みをshard0000にルーティングします。

戻る

addShard