リージョンのフェールオーバーの優先度を変更する

完了

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