リージョンのフェールオーバーの優先度を変更する
az cosmosdb update コマンドを使用して、Azure Cosmos DB アカウントの特性を変更します。 これらの特性には、リージョンの変更、フェールオーバーの優先度の変更、複数リージョンの書き込みの有効化が含まれます。
このコマンドを使用して米国東部リージョンで作成した Azure Cosmos DB アカウントを持っているとします。 このアカウントを前提に、次の一連の例全体を考慮していきます。
az cosmosdb create \
--name '<account-name>' \
--resource-group '<resource-group>' \
--locations regionName='eastus'
アカウント リージョンを追加する
Azure Cosmos DB アカウントに含まれるデータが 1 つのリージョン (米国東部) のみであると想定して、az cosmosdb update コマンドを使用してリージョンを追加できます。 新しいリージョンを追加する場合は、このコマンドの一意の構文を使用して、各リージョンのフェールオーバーの優先度を構成することが重要です。 この例では、米国東部リージョンを 1 番目の優先度として構成し、データを米国西部リージョンにレプリケートしてそれを 2 番目の優先度として設定した後、最後にデータを米国中部リージョンにレプリケートしてフェールオーバーの 3 番目の優先度として設定しました。
az cosmosdb update \
--name '<account-name>' \
--resource-group '<resource-group>' \
--locations regionName='eastus' failoverPriority=0 isZoneRedundant=False \
--locations regionName='westus2' failoverPriority=1 isZoneRedundant=False \
--locations regionName='centralus' failoverPriority=2 isZoneRedundant=False
注意
アカウント リージョンに関係する何らかの操作を実行している場合、アカウントに他の変更を行うことはできず、操作が完了するまで待つ必要があります。
自動フェールオーバーを有効にする
複数のリージョンにデータがレプリケートされている場合でも、Azure Cosmos DB で自動フェールオーバー メカニズムを有効にする必要があります。 --enable-automatic-failover 引数は、この機能を有効または無効にするブール値を受け取ります。 この例では、前の例で設定した優先順位を使用して機能を有効にします。
az cosmosdb update \
--name '<account-name>' \
--resource-group '<resource-group>' \
--enable-automatic-failover 'true'
フェールオーバーの優先度の変更
現在、Azure Cosmos DB アカウントは、自動フェールオーバーについて次の優先順位で構成されています。
| [リージョン] | フェールオーバーの優先度 |
|---|---|
| 米国東部 | 0 |
| 米国西部 2 | 1 |
| 米国中部 | 2 |
優先度の値を変更するには、failover-policies 引数を指定して az cosmosdb failover-priority-change コマンドを使用します。 failover-policies 引数には、<リージョン名>=<値> という独特な構文があります。 この例では、米国西部 2 リージョンと米国中部リージョンで優先順位を切り替えます。
az cosmosdb failover-priority-change \
--name '<account-name>' \
--resource-group '<resource-group>' \
--failover-policies 'eastus=0' 'centralus=1' 'westus2=2'
注意
すべてのリージョンの優先順位を変更しない場合でも、すべてのリージョンを failover-policies 引数に含める必要があります。
その後、Azure Cosmos DB アカウントは、次の新しい優先度の値を使って自動フェールオーバー用に構成されます。
| [リージョン] | フェールオーバーの優先度 |
|---|---|
| 米国東部 | 0 |
| 米国中部 | 1 |
| 米国西部 2 | 2 |
複数リージョンの書き込みを有効にする
az cosmosdb update コマンドは、ブール値を使用して複数リージョンの書き込みを有効または無効にできる --enable-multiple-write-locations 引数と一緒に使用できます。 次の例では、アカウントで複数リージョンの書き込みを有効にしています。
az cosmosdb update \
--name '<account-name>' \
--resource-group '<resource-group>' \
--enable-multiple-write-locations 'true'
アカウント リージョンを削除する
Azure Cosmos DB アカウントからリージョンを削除するには、az cosmosdb update コマンドを使用して、--locations 引数を 1 回以上使用して残す場所を指定します。 一覧に含まれていない場所は、アカウントから削除されます。
az cosmosdb update \
--name '<account-name>' \
--resource-group '<resource-group>' \
--locations regionName='eastus' failoverPriority=0 isZoneRedundant=False \
--locations regionName='westus2' failoverPriority=1 isZoneRedundant=False