Azure Cosmos DB の定期バックアップ ストレージの冗長性を更新する
- [アーティクル]
-
-
適用対象: NoSQL MongoDB Cassandra Gremlin Table
Azure Cosmos DB 期間モードのバックアップ データは、さまざまな方法でレプリケートされます。 プライマリ リージョンがペアのリージョンをサポートしている場合、通常、Azure Cosmos DB では、定期的なバックアップデータは、ペアのリージョンに複製される geo 冗長 BLOB ストレージに保存されます。 既定のバックアップ ストレージの冗長性をオーバーライドできます。 または、 ペアでないリージョンを使用する場合、バックアップ ストレージの冗長性を明示的に選択する必要があります。 この記事では、Azure CLI と PowerShell を使用してバックアップ ストレージの冗長性を更新する方法について説明します。 また、必要なストレージ冗長性を適用するための Azure ポリシーをアカウントで構成する方法も示します。
必須コンポーネント
- 既存の Azure Cosmos DB アカウント。
ストレージの冗長性を更新する
以下の手順を使用して、バックアップ ストレージの冗長性を更新します。
Azure Portal にサインインし、Azure Cosmos DB アカウントに移動します。
[バックアップと復元] ペインを開き、バックアップ ストレージの冗長性を更新して、[送信] を選択します。 この操作の完了には数分かかります。
ご使用の Azure CLI が最新バージョン、または 2.30.0 以降のバージョンであることを確認します。 cosmosdb-preview
拡張機能がインストールされている場合は、必ず削除してください。
az cosmosdb locations show
コマンドを使用して、アカウントが存在するリージョンで利用できるバックアップ冗長性オプションを取得します。
az cosmosdb locations show \
--location <region-name>
出力には、次の例のような JSON が含まれているはずです。
{
"id": "subscriptionId/<Subscription_ID>/providers/Microsoft.DocumentDB/locations/eastus/",
"name": "East US",
"properties": {
"backupStorageRedundancies": [
"Geo",
"Zone",
"Local"
],
"isResidencyRestricted": false,
"supportsAvailabilityZone": true
},
"type": "Microsoft.DocumentDB/locations"
}
Note
前のコマンドでは、特定のリージョンで利用できるバックアップ冗長性の一覧が示されます。 サポートされる値が、backupStorageRedundancies
プロパティで表示されます。 たとえば、一部のリージョンでは、最大 3 つの冗長性オプション (Geo、Zone、Local) がサポートされています。 その他のリージョンでは、これらのオプションのサブセットがサポートされています。 更新する前に、Azure Cosmos DB アカウントで使用するすべてのリージョンでサポートされているバックアップ ストレージの冗長性オプションを選択します。
選択したバックアップ冗長性オプションを指定して az cosmosdb update
コマンドを使用し、既存のアカウントのバックアップの冗長性を更新します。
az cosmosdb update \
--resource-group <resource-group-name> \
--name <account_name> \
--backup-redundancy Zone
あるいは、選択したバックアップ冗長性オプションを指定して az cosmosdb create
コマンドを使用し、新しいアカウントを作成します。
az cosmosdb create \
--resource-group <resource-group-name> \
--name <account-name> \
--backup-redundancy Geo \
--locations regionName=<azure-region>
Azure PowerShell の最新バージョンまたは 1.4.0 以降のバージョンをインストールします。
$parameters = @{
Name = "Az.CosmosDB"
RequiredVersion = "1.4.0"
}
Install-Module @parameters
Get-AzCosmosDBLocation
コマンドレットを使用して、アカウントが存在するリージョンで利用できるバックアップ冗長性オプションを取得します。
$parameters = @{
Location = "<azure-region>"
}
(Get-AzCosmosDBLocation @parameters).Properties
出力には、次の例のようなコンテンツが含まれているはずです。
SupportsAvailabilityZone IsResidencyRestricted BackupStorageRedundancies
------------------------ --------------------- -------------------------
True False {Geo, Zone, Local}
Note
前のコマンドでは、特定のリージョンで利用できるバックアップ冗長性の一覧が示されます。 サポートされる値が、BackupStorageRedundancies
プロパティで表示されます。 たとえば、一部のリージョンでは、最大 3 つの冗長性オプション (Geo、Zone、Local) がサポートされています。 その他のリージョンでは、これらのオプションのサブセットがサポートされています。 更新する前に、Azure Cosmos DB アカウントで使用するすべてのリージョンでサポートされているバックアップ ストレージの冗長性オプションを選択します。
選択したバックアップ冗長性オプションを指定して Update-AzCosmosDBAccount
コマンドレットを使用し、既存のアカウントのバックアップの冗長性を更新します。
$parameters = @{
ResourceGroupName "<resource-group-name>"
Name = "<account-name>"
BackupStorageRedundancy = "Zone"
}
Update-AzCosmosDBAccount @parameters
あるいは、選択したバックアップ冗長性オプションを指定して New-AzCosmosDBAccount
コマンドレットを使用し、新しいアカウントを作成します。
$parameters = @{
ResourceGroupName = "<resource-group-name>"
Name = "<account-name>"
Location = "<azure-region>"
BackupPolicyType = "Periodic"
BackupStorageRedundancy = "Geo"
}
New-AzCosmosDBAccount @parameters
バックアップ ストレージの冗長性に関する Azure Policy を追加する
Azure Policy は、組織の標準を適用し、コンプライアンスを大規模に評価するのに役立ちます。 詳細については、「Azure Policy とは」を参照してください。
次のサンプルでは、Azure Cosmos DB アカウントに対して、バックアップの冗長性が Local
に設定されていることを (audit
を使用して) 検証する Azure ポリシーを追加する方法を示しています。
"parameters": {},
"policyRule": {
"if": {
"allOf": [
{
"field": "Microsoft.DocumentDB/databaseAccounts/backupPolicy.periodicModeProperties.backupStorageRedundancy",
"match": "Local"
}
]
},
"then": {
"effect": "audit"
}
}
次のステップ