Azure Backup を使用した Azure Kubernetes Service バックアップの前提条件

この記事では、Azure Kubernetes Service (AKS) バックアップの前提条件について説明します。

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

Note

Azure Backup を使用した AKS のボールトへのバックアップとリージョンをまたがる復元は、現在プレビュー段階にあります。

予備の内線

  • この拡張機能により、AKS クラスターで実行されているワークロードによって使用されるコンテナー化されたワークロードと永続ボリュームのバックアップと復元の機能が有効になります。

  • バックアップ拡張機能は、既定では、独自の名前空間 dataprotection-microsoft にインストールされます。 拡張機能がすべてのクラスター リソースにアクセスできるようにするクラスター全体のスコープでインストールされます。 拡張機能のインストール中に、ノード プール リソース グループにユーザー割り当てマネージド ID (拡張機能 ID) も作成されます。

  • バックアップ拡張機能では、バックアップ ストレージの既定の場所として BLOB コンテナー (インストール時に入力で指定) が使用されます。 この BLOB コンテナーにアクセスするために、拡張機能 ID には、コンテナーを所持するストレージ アカウントに対する Storage Blob Data 共同作成者ロールが必要です。

  • バックアップするソース クラスターと、バックアップが復元されるターゲット クラスターの両方にバックアップ拡張機能をインストールする必要があります。

  • バックアップ拡張機能は、AKS ポータル ブレードの [バックアップ] タブの [設定] から、クラスターにインストールできます。 Azure CLI コマンドを使用して、バックアップ拡張機能のインストールやその他の操作を管理することもできます。

  • AKS クラスターに拡張機能をインストールする前に、Microsoft.KubernetesConfiguration リソース プロバイダーをサブスクリプション レベルで登録する必要があります。 リソース プロバイダーの登録方法について説明します。

  • 拡張エージェントと拡張オペレーターは、AKS のコア プラットフォーム コンポーネントであり、いずれかの種類の拡張機能が AKS クラスターに初めてインストールされるときにインストールされます。 これらは、1P および 3P 拡張機能を展開する機能を提供します。 バックアップ拡張機能も、インストールとアップグレードの際にこれらに依存します。

    Note

    これらのコア コンポーネントはどちらも、CPU とメモリに厳しいハード制限を設定して展開されており、CPU はコアの 0.5% 未満、メモリ制限は 50 ~ 200 MB の範囲にあります。 したがって、これらのコンポーネントの COGS への影響は非常に低くなります。 これらはコア プラットフォーム コンポーネントであるため、クラスターにインストールされると削除する回避策はありません。

  • 拡張機能のインストールの入力として指定するストレージ アカウントが Virtual Network/ファイアウォールの下にある場合は、BackupVault をストレージ アカウント ネットワーク設定で信頼されたアクセスとして追加する必要があります。 信頼された Azure サービスへのアクセス権を付与する方法に関する説明は、Vault データストアにバックアップを格納するのに役立ちます

Azure CLI を使用してバックアップ拡張機能をインストールする操作を管理する方法について確認してください。

信頼されたアクセス

多くの Azure サービスは、AKS クラスターにアクセスするために clusterAdmin kubeconfig と "パブリックにアクセス可能な kube-apiserver エンドポイント" に依存しています。 AKS の信頼されたアクセス機能を使用すると、プライベート エンドポイントの制限をバイパスできます。 この機能を使用すると、Microsoft Entra アプリケーションを使用せずに、Azure リソース RoleBinding を使用して AKS クラスターへアクセスすることを許可されたリソースのシステム割り当て ID に明示的に同意できます。 この機能を使用すると、非公開のクラスター、ローカル アカウントが無効になっているクラスター、Microsoft Entra ID クラスター、承認された IP 範囲のクラスターを始めとするさまざまな構成の AKS クラスターにアクセスできます。

お使いの Azure リソースは、システム割り当てマネージド ID 認証を使用して、AKS リージョン ゲートウェイ経由で AKS クラスターにアクセスします。 このマネージド ID には、Azure リソース ロールを介して割り当てられた適切な Kubernetes アクセス許可が必要です。

AKS バックアップの場合、Backup コンテナーは、信頼されたアクセスを介して AKS クラスターにアクセスして、バックアップと復元を構成します。 Backup コンテナーには、AKS クラスターで事前に定義されたロール Microsoft.DataProtection/backupVaults/backup-operator が割り当てられ、特定のバックアップ操作のみを実行できるようにします。

バックアップ コンテナーと AKS クラスターの間で信頼されたアクセスを有効にするには、サブスクリプション レベルで Microsoft.ContainerServiceTrustedAccessPreview 機能フラグを登録する必要があります。 リソース プロバイダーを登録するための詳細を確認してください。

信頼されたアクセスを有効にする方法について確認してください。

Note

  • バックアップ拡張機能は、Azure portal から直接、AKS ポータルの [バックアップ] セクションの下で、AKS クラスターにインストールできます。
  • Azure portal でのバックアップまたは復元操作中に、バックアップ コンテナーと AKS クラスターの間で信頼されたアクセスを有効にすることもできます。

AKS クラスター

AKS クラスターのバックアップを有効にするには、次の前提条件を参照してください。

  • AKS バックアップでは、CSI ドライバーのスナップショット機能を使用して、永続ボリュームのバックアップを実行します。 CSI ドライバーのサポートは、Kubernetes バージョン 1.21.1 以降の AKS クラスターで利用できます。

    注意

    • 現在、AKS のバックアップでは、Azure Disk ベースの永続ボリュームのバックアップ (CSI ドライバーによって有効) のみがサポートされています。 AKS クラスターで Azure ファイル共有と Azure BLOB の種類の永続ボリュームを使用している場合は、Azure ファイル共有Azure BLOB で使用できる Azure Backup ソリューションを使用して、それらのバックアップを構成できます。
    • ツリーでは、ボリュームは AKS バックアップではサポートされていません。CSI ドライバー ベースのボリュームのみをバックアップできます。 ツリー ボリュームから CSI ドライバー ベースの永続ボリュームに移行できます。
  • AKS クラスターにバックアップ拡張機能をインストールする前に、クラスターに対して CSI ドライバーとスナップショットが有効になっていることを確認します。 無効になっている場合は、これらの手順を参照して有効にします

  • Azure Backup for AKS では、バックアップ操作にシステム ID またはユーザー ID を使用する AKS クラスターがサポートされています。 サービス プリンシパルを使用するクラスターはサポートされていませんが、このような AKS クラスターを更新してマネージド システム ID を使用することができます。

  • バックアップ拡張機能は、インストール中に、Microsoft Container Registry (MCR) に格納されているコンテナー イメージをフェッチします。 AKS クラスターでファイアウォールが有効になっている場合、レジストリのアクセスの問題が原因で拡張機能のインストール プロセスが失敗する可能性があります。 ファイアウォールから MCR アクセスを許可する方法について確認してください。

  • プライベート仮想ネットワークとファイアウォールにクラスターがある場合は、次の FQDN/アプリケーション規則を適用します: *.microsoft.com*.azure.com*.core.windows.net*.azmk8s.io*.digicert.com*.digicert.cn*.geotrust.com*.msocsp.comFQDN 規則を適用する方法について説明します。

  • AKS クラスターに Velero を以前にインストールしたことがある場合は、バックアップ拡張機能をインストールする前に削除する必要があります。

必要なロールとアクセス許可

AKS のバックアップと復元の操作をユーザーとして実行するには、AKS クラスター、Backup コンテナー、ストレージ アカウント、スナップショット リソース グループに対する特定のロールが必要です。

Scope 優先ロール 説明
AKS クラスター 所有者 バックアップ拡張機能をインストールし、"信頼されたアクセス" を有効にし、クラスター経由で Backup コンテナーにアクセス許可を付与できます。
Backup コンテナー リソース グループ Backup Contributor リソース グループに Backup コンテナーを作成し、バックアップ ポリシーを作成し、バックアップを構成し、Backup の操作に必要な不足しているロールを復元して割り当てることができます。
ストレージ アカウント 所有者 ストレージ アカウントに対して読み取りと書き込みの操作を実行し、バックアップ操作の一部として必要なロールを他の Azure リソースに割り当てることができます。
スナップショット リソース グループ 所有者 スナップショット リソース グループに対して読み取りと書き込みの操作を実行し、バックアップ操作の一部として必要なロールを他の Azure リソースに割り当てることができます。

注意

Azure リソースの所有者ロールを使用すると、そのリソースに対する Azure RBAC 操作を実行できます。 使用できない場合、"リソース所有者" は、バックアップ操作または復元操作を開始する前に、Backup コンテナーと AKS クラスターに必要なロールを指定する必要があります。

また、バックアップと復元の操作の一環として、AKS クラスター、バックアップ拡張機能 ID、Backup コンテナーに次のロールが割り当てられます。

Role 割り当て先 割り当て場所 説明
Reader バックアップ資格情報コンテナー AKS クラスター Backup コンテナーで AKS クラスターに対して List 操作と Read 操作を実行できるようにします。
Reader バックアップ資格情報コンテナー スナップショット リソース グループ Backup コンテナーでスナップショット リソース グループに対して List 操作と Read 操作を実行できるようにします。
Contributor AKS クラスター スナップショット リソース グループ AKS クラスターが永続ボリューム スナップショットをリソース グループに格納できるようにします。
ストレージ BLOB データ共同作成者 拡張機能 ID ストレージ アカウント バックアップ拡張機能で、クラスター リソースのバックアップを BLOB コンテナーに格納できるようにします。
マネージド ディスクのデータ演算子 バックアップ資格情報コンテナー スナップショット リソース グループ Backup ボールト サービスが、増分スナップショット データをボールトに移動できるようにします。
Disk Snapshot Contributor バックアップ資格情報コンテナー スナップショット リソース グループ Backup ボールトが、ディスク スナップショットにアクセスし、ボールトの格納操作を実行できるようにします。
ストレージ BLOB データ閲覧者 バックアップ資格情報コンテナー ストレージ アカウント Backup ボールトが、ボールトに移動するバックアップ格納データのある BLOB コンテナーにアクセスできるようにします。
共同作成者 バックアップ資格情報コンテナー ステージング リソース グループ Backup ボールトが、ボールト層に格納されているディスクとしてのバックアップをハイドレートできるようにします。
Storage Account Contributor バックアップ資格情報コンテナー ステージング ストレージ アカウント Backup ボールトが、ボールト層に格納されているバックアップをハイドレートできるようにします。
ストレージ Blob データ所有者 バックアップ資格情報コンテナー ステージング ストレージ アカウント Backup ボールトが、ボールト層に格納されている BLOB コンテナー内のクラスターの状態をコピーできるようにします。

Note

AKS バックアップを使用すると、Azure portal を使用して、1 回のクリックでバックアップおよび復元プロセス中にこれらのロールを割り当てることができます。

次のステップ