Azure Backup を使用して Azure Kubernetes Service のバックアップを管理する

この記事では、バックアップ拡張機能と信頼されたアクセスを使用するために、サブスクリプションにリソース プロバイダーを登録する方法について説明します。 また、それらを管理するための Azure CLI コマンドも提供します。

Azure Backup では、クラスターにインストールする必要があるバックアップ拡張機能を使用して、AKS クラスター (クラスター リソースとクラスターにアタッチされている永続ボリューム) をバックアップできるようになりました。 AKS クラスターでは、バックアップ コンテナーで信頼されたアクセスが有効になっている必要があります。これにより、コンテナーはバックアップ拡張機能と通信してバックアップと復元の操作を実行できます。

リソース プロバイダーの登録

  • バックアップと復元の操作を開始する前に、これらのリソース プロバイダーをサブスクリプションに登録する必要があります。
  • 登録が完了したら、サブスクリプションのすべてのクラスターでバックアップと復元の操作を実行できます。

バックアップ拡張機能を登録する

バックアップ拡張機能をインストールするには、Microsoft.KubernetesConfiguration リソース プロバイダーをサブスクリプションに登録する必要があります。 登録を実行するには、次のコマンドを実行します。

az provider register --namespace Microsoft.KubernetesConfiguration

登録には最大で "10 分" かかる場合があります。 登録プロセスを監視するには、次のコマンドを実行します。

az provider show -n Microsoft.KubernetesConfiguration -o table

信頼されたアクセスを登録する

バックアップ コンテナーと AKS クラスターの間で信頼されたアクセスを有効にするには、サブスクリプションを介して Microsoft.ContainerServiceTrustedAccessPreview 機能フラグを登録する必要があります。 登録を実行するには、次のコマンドを実行します。

機能フラグを有効にする

機能フラグを有効にするには、次のステップを実行します。

  1. aks-preview 拡張機能をインストールします。

    az extension add --name aks-preview
    
  2. リリースされた拡張機能の最新バージョンに更新します。

    az extension update --name aks-preview
    
  3. TrustedAccessPreview 機能フラグを登録します。

    az feature register --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"
    

    状態が [登録済み] と表示されるまでに数分かかります。

  4. 登録状態を確認します。

    az feature show --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"
    
  5. 状態に "Registered" が表示されたら、Microsoft.ContainerService リソース プロバイダーの登録を更新します。

    az provider register --namespace Microsoft.ContainerService
    

このセクションでは、バックアップ拡張機能に対する操作を実行、作成、更新、削除するための 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 \
-g <aksclusterrg> \
--cluster-name <aksclustername> \
-n <randomRoleBindingName> \
--source-resource-id $(az dataprotection backup-vault show -g <vaultrg> --vault <VaultName> --query id -o tsv) \
--roles Microsoft.DataProtection/backupVaults/backup-operator   

信頼されたアクセスに関連するその他のコマンドの詳細を参照してください。

警告付きで完了した AKS バックアップ ジョブを監視する

スケジュール済みまたはオンデマンドのバックアップまたは復元操作が実行されると、その進行状況を追跡するために操作に対応するジョブが作成されます。 エラーが発生した場合、これらのジョブを使用してエラー コードを特定し、問題を修正することで、後で正常なジョブを実行できます。

AKS バックアップの場合、バックアップおよび復元ジョブで [完了 (警告あり)] という状態を表示できます。 この状態は、ユーザー定義の構成またはワークロードの内部状態の問題が原因で、バックアップおよび復元操作が完全には成功しなかった場合に表示されます。

Screenshot shows the backup and restore jobs completed with warnings.

たとえば、AKS クラスターのバックアップ ジョブが状態 [完了 (警告あり)] で完了した場合、復元ポイントが作成されますが、バックアップ構成に従ってクラスター内のすべてのリソースをバックアップできなかった可能性があります。 ジョブには警告の詳細が表示され、操作中に影響を受けた "問題" と "リソース" が示されます。

これらの警告を表示するには、[警告の詳細] の横にある [詳細の表示] を選択します。

Screenshot shows the job warming details.

エラーを特定して解決する方法について確認してください。

次のステップ