次の方法で共有


クイックスタート: PowerShell を使用して Azure Kubernetes Service (AKS) クラスターのコンテナー バックアップを構成する

このクイックスタートでは、PowerShell を使用して Azure Kubernetes Service (AKS) クラスターのコンテナー バックアップを構成する方法について説明します。

Azure Backup for AKS は、AKS クラスターのバックアップをすばやく構成できる、クラウドネイティブかつエンタープライズ対応で、アプリケーション中心のバックアップ サービスです。

開始する前に

AKS クラスターのコンテナーバックアップを構成する前に、次の前提条件が満たされていることを確かめてください。

  • AKS バックアップのバックアップや復元操作を開始する前に、すべての前提条件を実行します。

バックアップ コンテナーの作成

Backup コンテナーを作成するには、次のコマンドを実行します。

$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type GloballyRedundant -DataStoreType VaultStore

New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting

$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault

新しく作成されたコンテナーにはストレージ設定がグローバル冗長として設定されているため、コンテナー層に格納されているバックアップは、Azure のペアになっているリージョンで使用できます。 コンテナーの作成が完了したら、AKS クラスターを保護するバックアップ ポリシーを作成します。

バックアップ ポリシーの作成

コマンド Get-AzDataProtectionPolicyTemplate を使用してポリシー テンプレートを取得します。

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesService

ポリシー テンプレートは、トリガー条件 (バックアップ ジョブをトリガーする要因を決定する) とライフサイクル (バックアップを削除、コピー、または移動するタイミングを決定する) で構成されます。 AKS バックアップでは、トリガーの既定値は、"4 時間ごと (PT4H)" にスケジュールされた時間単位のトリガーであり、各バックアップのリテンション期間は "7日間" です。 コンテナー バックアップの場合は、コンテナー データストアのリテンション期間を追加します。

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name aksBkpPolicy -Policy $policyDefn

$aksBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "aksBkpPolicy"

ポリシーの JSON に必要な値をすべて設定したら、ポリシー オブジェクトから新しいポリシーを作成する手順に進みます。

az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy policy.json

バックアップ用に AKS クラスターを準備する

コンテナーとポリシーの作成が完了したら、AKS クラスターのバックアップの準備を整えるために、次の前提条件を実行する必要があります。

  1. ストレージ アカウントと BLOB コンテナーを作成します

    AKS のバックアップでは、Kubernetes リソースがバックアップとして BLOB コンテナーに保存されます。 AKS クラスターのバックアップの準備を整えるには、クラスターに拡張機能をインストールする必要があります。 この拡張機能には、ストレージ アカウントと BLOB コンテナーが入力として必要です。

    新しいストレージ アカウントと BLOB コンテナーを作成するには、 次の手順を参照してください。

  2. バックアップ拡張機能をインストールします

    バックアップと復元の操作を実行するには、AKS クラスターに Backup 拡張機能をインストールする必要があります。 Backup 拡張機能は、クラスター内に名前空間 dataprotection-microsoft を作成し、同じものを使用してそのリソースをデプロイします。 この拡張機能には、インストール用の入力としてストレージ アカウントと BLOB コンテナーが必要です。 拡張機能のインストール コマンドについて説明します。

    拡張機能のインストールの一環として、AKS クラスターのノード プールのリソース グループにユーザー ID が作成されます。 拡張機能がストレージ アカウントにアクセスするには、この ID に ストレージ アカウント共同作成者ロールを指定する必要があります。 必要なロールを割り当てるには、次のコマンドを実行します。

  3. 信頼されたアクセスを有効にする

    Backup コンテナーが AKS クラスターに接続するには、Backup コンテナーが AKS クラスターに直接接続できるように、信頼されたアクセスを有効にする必要があります。 信頼されたアクセスを有効にする方法について確認してください。

Note

Backup 拡張機能のインストールと信頼されたアクセスの有効化の場合、コマンドは Azure CLI でのみ使用できます。

バックアップを構成する

作成された Backup コンテナーおよびバックアップ ポリシーと、AKS クラスターを "バックアップを行える" 状態にして、AKS クラスターのバックアップを開始できるようになりました。

主なエンティティ

  • 保護する AKS クラスター

    保護する AKS クラスターの Azure Resource Manager ID をフェッチします。 これは、クラスターの識別子として機能します。 この例では、別のサブスクリプションで、リソース グループ "aksrg" の下で "PSTestAKSCluster" という名前の AKS クラスターを使用します。

    $sourceClusterId = "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/aksrg /providers/Microsoft.ContainerService/managedClusters/ PSTestAKSCluster "
    
  • スナップショット リソース グループ

    永続ボリューム スナップショットは、サブスクリプションのリソース グループに保存されます。 Azure Backup サービスで使用されるスナップショット データストアとして専用のリソース グループを作成することをお勧めします。

    $snapshotrg = "/subscriptions/00001111-aaaa-2222-bbbb-3333cccc4444/resourcegroups/snapshotrg"
    

要求を準備する

バックアップの構成は、次の 2 つの手順で実行されます。

バックアップの構成は、次の 2 つの手順で実行されます。

  1. New-AzDataProtectionBackupConfigurationClientObject コマンドレットを使用して、バックアップするクラスター リソースを定義するために、バックアップ構成を準備します。 この例では、既定の構成を使用し、クラスターの完全バックアップを実行します。

    $backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"
    
  2. Initialize-AzDataProtectionBackupInstance コマンドレットを使用して、関連するコンテナー、ポリシー、AKS クラスター、バックアップ構成、スナップショットリソース グループを使用する、関連する要求を準備します。

    $backupInstance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureKubernetesService  -DatasourceLocation $dataSourceLocation -PolicyId $ aksBkpPol.Id -DatasourceId $sourceClusterId -SnapshotResourceGroupId $ snapshotrg -FriendlyName $friendlyName -BackupConfiguration $backupConfig
    

必要なアクセス許可を割り当てて検証する

要求を準備したら、まず、次のコマンドを実行して、関連するリソースに必要なロールを割り当てる必要があります。

Set-AzDataProtectionMSIPermission -BackupInstance $backupInstance -VaultResourceGroup $rgName -VaultName $vaultName -PermissionsScope "ResourceGroup"

アクセス許可が割り当てられたら、次のコマンドレットを実行して、作成されたインスタンスの準備状況をテストします。

test-AzDataProtectionBackupInstanceReadiness -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstance  $backupInstance.Property 

検証が成功したら、New-AzDataProtectionBackupInstance コマンドレットを使用して AKS クラスターを保護する要求を送信できます。

New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $backupInstance

次のステップ