次の方法で共有


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

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

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

さらに、Azure portal から Azure Kubernetes Service クラスターのバックアップを管理する方法を説明するのに役立ちます。

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

バックアップ拡張機能をインストールし、バックアップと復元の操作を開始するには、リソース プロバイダーの登録が必要です。 この登録は、サブスクリプション所有者として行うことができます。 一般に、リソース プロバイダーは既に Azure サブスクリプションに登録されています。 そうでない場合は、 Microsoft.KubernetesConfiguration リソース プロバイダーを登録します。

登録が完了したら、サブスクリプションの下にあるすべてのクラスターに対してバックアップ操作と復元操作を実行できます。

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

バックアップ拡張機能をインストールするには、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 portal を使用して操作を管理する

このセクションでは、Azure Kubernetes Service クラスター バックアップの管理を簡単にする、Azure Backup でサポートされているいくつかの管理操作について説明します。

AKS 用 Azure Backup の CPU とメモリの調整

AKS 用 Azure Backup は、名前空間 dataprotection-microsoftのバックアップ拡張機能の一部として AKS クラスター内にデプロイされたポッドに依存します。 バックアップと復元の操作を実行するために、これらのポッドには特定の CPU とメモリの要件があります。

既定のリソース予約

       1. Memory: requests - 256Mi, limits - 1280Mi
       2. CPU: requests - 500m, limits - 1000m

ただし、クラスター内のリソースの数が 1000 を超える場合、拡張機能ポッド dataprotection-microsoft-kubernetes-agent では、既定の予約を超える追加の CPU とメモリが必要になる場合があります。 必要なリソースが割り当てられた制限を超えた場合、バックアップまたは復元操作中に OOMKilled (メモリ不足) エラーが原因で UserErrorBackupPluginPodRestartedDuringBackup または UserErrorBackupPluginPodRestartedDuringRestore エラーが発生する可能性があります。

CPU とメモリの増加による OOMKilled エラーの解決

バックアップ操作と復元操作を確実に成功させるには、次の手順に従って拡張機能ポッドのリソース設定を手動で更新します。

  1. Azure portal で AKS クラスターを開きます。

    Azure portal の AKS クラスターを示すスクリーンショット。

  2. 左側のウィンドウの [設定] の下にある [拡張機能とアプリケーション] に移動します。

    [拡張機能とアプリケーション] を選択する方法を示すスクリーンショット。

  3. "azure-aks-backup" というタイトルの拡張機能をクリックします。

    バックアップ拡張機能の設定を開く方法を示すスクリーンショット。

  4. 下にスクロールし、[構成設定] で新しい値を追加し、[保存] をクリックします。

    resources.limits.memory : 4400Mi

    構成設定で値を追加する方法を示すスクリーンショット。

拡張機能ポッドがプロビジョニングされているノードに必要な CPU またはメモリがない場合、リソースの制限のみを更新した場合、ポッドは繰り返し強制終了される可能性があります。 これを解決するには、 resources.requests.cpuresources.requests.memoryを使用して構成設定を更新します。 これにより、要求されたリソース要件を満たすノードでポッドがスケジュールされます。

変更の確認

変更を適用した後、スケジュールされたバックアップが実行されるまで待つか、オンデマンド バックアップを開始します。 OOMKilled エラーがまだ発生する場合は、上記の手順を繰り返してメモリ制限を徐々に増やしてください。それでも問題が続く場合は、resources.limits.cpu の対応するパラメーターも増加してください。

バックアップ操作を監視する

スケジュールされたバックアップの実行時、またはオンデマンド バックアップ操作をトリガーすると、追跡用のジョブが Azure Backup サービスによって作成されます。 バックアップ ジョブの状態を表示するには、次の手順に従います。

  1. Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。

    [保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。

    ジョブ ダッシュボードのスクリーンショット。

  2. 次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。 ここでは、過去 7 日間のバックアップ ジョブを確認できます。

  3. バックアップ操作の状態を表示するには、 [すべて表示] を選択して、このバックアップ インスタンスの進行中および過去のジョブを表示します。

    [すべて表示] オプションを選択する方法のスクリーンショット。

  4. バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。

    ジョブを選択して詳細を表示する方法のスクリーンショット。

復元操作の確認

復元操作をトリガーすると、追跡用のジョブがバックアップ サービスによって作成されます。 Azure Backup は、ジョブに関する通知をポータルに表示します。 復元ジョブの進行状況を表示するには、次の手順を実行します。

  1. Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。

    [保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。

    ジョブ ダッシュボードのスクリーンショット。

  2. 次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。 ここでは、過去 7 日間のバックアップ ジョブを確認できます。

  3. 復元操作の状態を表示するには、 [すべて表示] を選択して、このバックアップ インスタンスの進行中のジョブと過去のジョブを表示します。

    [すべて表示] を選択する方法のスクリーンショット。

  4. バックアップおよび復元ジョブとそれらの状態の一覧を確認します。 ジョブの一覧からジョブを選択すると、そのジョブの詳細が表示されます。

    ジョブの一覧のスクリーンショット。

警告の状態で完了したバックアップと復元ジョブを監視する

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

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

スクリーンショットでは、警告で完了したバックアップと復元のジョブが示されています。

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

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

スクリーンショットでは、ジョブのウォーミングの詳細が示されています。

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

ポリシーを変更する

バックアップ インスタンスに関連付けられているポリシーを変更できます。

  1. [バックアップ インスタンス] ->[ポリシーの変更] を選択します。

    ポリシーを変更するオプションのスクリーンショット。

  2. データベースに適用する新しいポリシーを選択します。

    ポリシーを再割り当てするオプションのスクリーンショット。

バックアップ インスタンスに割り当てられたバックアップ ポリシーを変更しても、既存の復旧ポイントとその保持期間には影響しません。 更新された保持設定は、ポリシー変更後に作成された新しい復旧ポイントにのみ適用されます。

保護の停止

Azure ディスクの保護を停止するには、次の 3 つの方法があります。

  • 保護を停止してデータを保持する (無期限に保持): このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止されます。 ただし、Azure Backup サービスは、永続的にバックアップされる復旧ポイントを保持します。 コンテナー内の復旧ポイントを保持するには、料金を支払う必要があります (詳細については、Azure Backup の価格を参照してください)。 必要に応じて、ディスクを復元できます。 クラスターの保護を再開するには、[バックアップの再開] オプションを使用します。

  • 保護を停止してデータを保持する (ポリシーに従って保持): このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止されます。 復旧ポイントはポリシーに従って保持され、Azure Backup の価格に従って課金されます。 ただし、最新の復旧ポイントは無期限に保持されます。

  • 保護を停止してデータを削除する: このオプションを使用すると、クラスターを保護する将来のすべてのバックアップ ジョブが停止され、すべての回復ポイントが削除されます。 ディスクを復元することも、 [バックアップの再開] オプションを使用することもできなくなります。

AKS バックアップが停止したりバックアップが失敗したりした場合でも、最後の復元ポイントは定義されたリテンション期間を超えて常に保持され、少なくとも 1 つの復元ポイントを使用できます。

保護を停止してデータを保持する

  1. Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。

    [保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。

    ジョブ ダッシュボードのスクリーンショット。

  2. 次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。

  3. [バックアップの停止] を選択します。

    停止する Azure ディスク バックアップ インスタンスの選択を示すスクリーンショット。

  4. 次のデータ保持オプションから 1 つを選びます。

    1. 無期限に保持する
    2. ポリシーに基づいて保持する

    ディスク バックアップ インスタンスの保護を停止するオプションを示すスクリーンショット。

    バックアップを停止する理由もドロップダウン リストから選択できます。

  5. [バックアップの停止] を選択します。

  6. [確認] を選択してデータ保護を停止します。

    ディスク バックアップ インスタンス保持オプションの選択を示すスクリーンショット。

保護を停止してデータを削除する

  1. Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。

    [保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。

    ジョブ ダッシュボードのスクリーンショット。

  2. 次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。

  3. [バックアップの停止] を選択します。

  4. [Delete Backup Data](バックアップ データの削除) を選択します。

    バックアップ インスタンスの名前、削除理由、その他のコメントを入力します。

    ディスク バックアップ停止の確認のスクリーンショット。

  5. [バックアップの停止] を選択します。

  6. [確認] を選択してデータ保護を停止します。

    ディスク バックアップ インスタンス保持オプションの選択を示すスクリーンショット。

保護を再開する

保護を停止してデータを保持するオプションを選択した場合は、クラスターの保護を再開できます。

バックアップ インスタンスの保護を再開すると、既存のバックアップ ポリシーが新しい復旧ポイントにのみ適用されるようになります。 作成時に有効なバックアップ ポリシーによって定義された、元の保持期間に基づいて既に期限切れになった復旧ポイントはクリーンアップされます。

次の手順に従います。

  1. Azure ビジネス継続性センターにアクセスして、[保護インベントリ] の下にある [保護された項目] を選択します。

    [保護された項目] ブレードには、サブスクリプション全体で作成されたすべてのバックアップ インスタンスが表示されます。 フィルターを使用して、確認するバックアップ インスタンスにアクセスします。 保護された項目を選択して開きます。

    ジョブ ダッシュボードのスクリーンショット。

  2. 次に、[関連付けられた項目] を選択して、バックアップ インスタンスのダッシュボードを開きます。

  3. [バックアップの再開] を選択します。

    ディスクの保護を再開するオプションを示すスクリーンショット。

  4. [Resume backup](バックアップの再開) をクリックします。

    ディスクのバックアップを再開するオプションを示すスクリーンショット。

バックアップ インスタンスを削除する

スケジュールされたバックアップ ジョブをすべて停止し、既存のすべてのバックアップを削除する場合は、 [バックアップ インスタンスの削除] を使用します。

AKS クラスターのバックアップ インスタンスを削除するには、次の手順に従います。

  1. バックアップ インスタンス画面上で [削除] を選択します。

    バックアップ インスタンスを削除するプロセスを示すスクリーンショット。

  2. バックアップ インスタンスの名前、削除の理由、その他のコメントなど、確認の詳細を入力します。

    バックアップ インスタンスの削除の確認を示すスクリーンショット。

  3. [削除] を選択し、バックアップ インスタンスの削除を確認して続行します。

次のステップ