Azure Backup を使用して Azure Kubernetes Service のバックアップを管理する
この記事では、バックアップ拡張機能と信頼されたアクセスを使用するために、サブスクリプションにリソース プロバイダーを登録する方法について説明します。 また、それらを管理するための Azure CLI コマンドも提供します。
Azure Backup では、クラスターにインストールする必要があるバックアップ拡張機能を使用して、AKS クラスター (クラスター リソースとクラスターにアタッチされている永続ボリューム) をバックアップできるようになりました。 AKS クラスターでは、バックアップ コンテナーで信頼されたアクセスが有効になっている必要があります。これにより、コンテナーはバックアップ拡張機能と通信してバックアップと復元の操作を実行できます。
さらに、Azure portal から Azure Kubernetes Service クラスターのバックアップを管理する方法を説明するのに役立ちます。
リソース プロバイダーの登録
- バックアップと復元の操作を開始する前に、これらのリソース プロバイダーをサブスクリプションに登録する必要があります。
- 登録が完了したら、サブスクリプションのすべてのクラスターでバックアップと復元の操作を実行できます。
バックアップ拡張機能を登録する
バックアップ拡張機能をインストールするには、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 を作成します。 この ID には、次のコマンドを実行してストレージ アカウントに対する "ストレージ BLOB データ共同作成者アクセス許可" を指定する必要があります。
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
信頼されたアクセスに関連するその他のコマンドの詳細を参照してください。
バックアップ操作を監視する
スケジュールされたバックアップの実行時、またはオンデマンド バックアップ操作をトリガーすると、追跡用のジョブが Azure Backup サービスによって作成されます。 バックアップ ジョブの状態を表示するには、次の手順に従います。
Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。
[保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。
次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。 ここでは、過去 7 日間のバックアップ ジョブを確認できます。
バックアップ操作の状態を表示するには、 [すべて表示] を選択して、このバックアップ インスタンスの進行中および過去のジョブを表示します。
バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。
復元操作の確認
復元操作をトリガーすると、追跡用のジョブがバックアップ サービスによって作成されます。 Azure Backup は、ジョブに関する通知をポータルに表示します。 復元ジョブの進行状況を表示するには、次の手順を実行します。
Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。
[保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。
次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。 ここでは、過去 7 日間のバックアップ ジョブを確認できます。
復元操作の状態を表示するには、 [すべて表示] を選択して、このバックアップ インスタンスの進行中のジョブと過去のジョブを表示します。
バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。
警告の状態で完了した AKS バックアップ関連のジョブを監視する
スケジュール済みまたはオンデマンドのバックアップまたは復元操作が実行されると、その進行状況を追跡するために操作に対応するジョブが作成されます。 失敗した場合、これらのジョブを使用すると、エラー コードを特定して問題を修正し、後でジョブを正常に実行できます。
AKS バックアップの場合、バックアップおよび復元ジョブで [完了 (警告あり)] という状態を表示できます。 この状態は、ユーザー定義の構成またはワークロードの内部状態の問題が原因で、バックアップおよび復元操作が完全には成功しなかった場合に表示されます。
たとえば、AKS クラスターのバックアップ ジョブが [完了 (警告あり)] の状態で完了する場合、復元ポイントは作成されますが、バックアップ構成に従ってクラスター内のすべてのリソースがバックアップされるわけではありません。 ジョブには警告の詳細が表示され、操作中に影響を受けた "問題" と "リソース" が示されます。
これらの警告を表示するには、[警告の詳細] の横にある [詳細の表示] を選択します。
エラーを特定して解決する方法について確認してください。
Azure portal を使用して操作を管理する
このセクションでは、Azure Kubernetes Service クラスター バックアップの管理を簡単にする、Azure Backup でサポートされているいくつかの管理操作について説明します。
保護の停止
Azure ディスクの保護を停止するには、次の 3 つの方法があります。
保護を停止してデータを保持する (無期限に保持): このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止されます。 ただし、無期限にバックアップされている復旧ポイントは Azure Backup サービスによって保持されます。 コンテナー内の復旧ポイントを保持するには、料金を支払う必要があります (詳細については、Azure Backup の価格を参照してください)。 必要に応じて、ディスクを復元できます。 クラスターの保護を再開するには、[バックアップの再開] オプションを使用します。
保護を停止してデータを保持する (ポリシーに従って保持): このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止されます。 復旧ポイントはポリシーに従って保持され、Azure Backup の価格に従って課金されます。 ただし、最新の復旧ポイントは無期限に保持されます。
保護を停止してデータを削除する: このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止され、すべての回復ポイントが削除されます。 ディスクを復元することも、 [バックアップの再開] オプションを使用することもできなくなります。
保護を停止してデータを保持する
Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。
[保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。
次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。
[バックアップの停止] を選択します。
次のデータ保持オプションから 1 つを選びます。
- 無期限に保持する
- ポリシーに基づいて保持する
バックアップを停止する理由もドロップダウン リストから選択できます。
[バックアップの停止] を選択します。
[確認] を選択してデータ保護を停止します。
保護を停止してデータを削除する
Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。
[保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。
次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。
[バックアップの停止] を選択します。
[Delete Backup Data](バックアップ データの削除) を選択します。
バックアップ インスタンスの名前、削除理由、その他のコメントを入力します。
[バックアップの停止] を選択します。
[確認] を選択してデータ保護を停止します。
保護を再開する
保護を停止してデータを保持するオプションを選択した場合は、クラスターの保護を再開できます。
Note
クラスターの保護を開始すると、バックアップ ポリシーは保持されているデータにも適用されます。 ポリシーに従って有効期限が切れた回復ポイントはクリーンアップされます。
次の手順に従います。
Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。
[保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。
次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。
[バックアップの再開] を選択します。
[Resume backup](バックアップの再開) をクリックします。
バックアップ インスタンスを削除する
スケジュールされたバックアップ ジョブをすべて停止し、既存のすべてのバックアップを削除する場合は、 [バックアップ インスタンスの削除] を使用します。
AKS クラスターのバックアップ インスタンスを削除するには、次の手順に従います。
バックアップ インスタンス画面上で [削除] を選択します。
バックアップ インスタンスの名前、削除の理由、その他のコメントなど、確認の詳細を入力します。
[削除] を選択し、バックアップ インスタンスの削除を確認して続行します。