Azure Backup を使用して Azure Kubernetes Service のバックアップを管理する
この記事では、バックアップ拡張機能と信頼されたアクセスを使用するために、サブスクリプションにリソース プロバイダーを登録する方法について説明します。 また、それらを管理するための Azure CLI コマンドも提供します。
Azure Backup では、クラスターにインストールする必要があるバックアップ拡張機能を使用して、AKS クラスター (クラスター リソースとクラスターにアタッチされている永続ボリューム) をバックアップできるようになりました。 AKS クラスターでは、バックアップ コンテナーで信頼されたアクセスが有効になっている必要があります。これにより、コンテナーはバックアップ拡張機能と通信してバックアップと復元の操作を実行できます。
リソース プロバイダーの登録
- バックアップと復元の操作を開始する前に、これらのリソース プロバイダーをサブスクリプションに登録する必要があります。
- 登録が完了したら、サブスクリプションのすべてのクラスターでバックアップと復元の操作を実行できます。
バックアップ拡張機能を登録する
バックアップ拡張機能をインストールするには、Microsoft.KubernetesConfiguration
リソース プロバイダーをサブスクリプションに登録する必要があります。 登録を実行するには、次のコマンドを実行します。
az provider register --namespace Microsoft.KubernetesConfiguration
登録には最大で "10 分" かかる場合があります。 登録プロセスを監視するには、次のコマンドを実行します。
az provider show --name Microsoft.KubernetesConfiguration --output table
バックアップ拡張機能に関連する操作
このセクションでは、バックアップ拡張機能に対する操作を実行、作成、更新、削除するための Azure CLI コマンドのセットについて説明します。 update コマンドを使用して、基になるバックアップ拡張機能ポッド用のコンピューティング制限を変更できます。
バックアップ拡張機能をインストールする
バックアップ拡張機能をインストールするには、次のコマンドを実行します。
az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>
拡張機能のインストール状態を表示する
バックアップ拡張機能のインストールの進行状況を表示するには、次のコマンドを使用します。
az k8s-extension show --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>
バックアップ拡張機能のリソースを更新する
バックアップ拡張機能で BLOB コンテナー、CPU、メモリを更新するには、次のコマンドを使用します。
az k8s-extension update --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings [blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>] [cpuLimit=1] [memoryLimit=1Gi]
[]: denotes the 3 different sub-groups of updates possible (discard the brackets while using the command)
バックアップ拡張機能のインストール操作を削除する
バックアップ拡張機能のインストール操作を停止するには、次のコマンドを使用します。
az k8s-extension delete --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>
ストレージ アカウントに対するアクセス許可を付与する
ストレージ アカウントに対する "ストレージ アカウント共同作成者のアクセス許可" を拡張機能 ID に付与するには、次のコマンドを実行します。
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name <aksclustername> --resource-group <aksclusterrg> --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/<subscriptionid>/resourceGroups/<storageaccountrg>/providers/Microsoft.Storage/storageAccounts/<storageaccountname>
信頼されたアクセスに関連する操作
Backup コンテナーと AKS クラスターの間で信頼されたアクセスを有効にするには、次の Azure CLI コマンドを使用します。
az aks trustedaccess rolebinding create \
--resource-group <aksclusterrg> \
--cluster-name <aksclustername> \
--name <randomRoleBindingName> \
--source-resource-id $(az dataprotection backup-vault show --resource-group <vaultrg> --vault <VaultName> --query id -o tsv) \
--roles Microsoft.DataProtection/backupVaults/backup-operator
信頼されたアクセスに関連するその他のコマンドの詳細を参照してください。
警告付きで完了した AKS バックアップ ジョブを監視する
スケジュール済みまたはオンデマンドのバックアップまたは復元操作が実行されると、その進行状況を追跡するために操作に対応するジョブが作成されます。 エラーが発生した場合、これらのジョブを使用してエラー コードを特定し、問題を修正することで、後で正常なジョブを実行できます。
AKS バックアップの場合、バックアップおよび復元ジョブで [完了 (警告あり)] という状態を表示できます。 この状態は、ユーザー定義の構成またはワークロードの内部状態の問題が原因で、バックアップおよび復元操作が完全には成功しなかった場合に表示されます。
たとえば、AKS クラスターのバックアップ ジョブが状態 [完了 (警告あり)] で完了した場合、復元ポイントが作成されますが、バックアップ構成に従ってクラスター内のすべてのリソースをバックアップできなかった可能性があります。 ジョブには警告の詳細が表示され、操作中に影響を受けた "問題" と "リソース" が示されます。
これらの警告を表示するには、[警告の詳細] の横にある [詳細の表示] を選択します。
エラーを特定して解決する方法について確認してください。