Azure Backup を使用して Azure Kubernetes Service を復元する
この記事では、バックアップされた Azure Kubernetes Service (AKS) を復元する方法について説明します。
Azure Backup では、クラスターにインストールする必要があるバックアップ拡張機能を使用して、AKS クラスター (クラスター リソースとクラスターにアタッチされている永続ボリューム) をバックアップできるようになりました。 バックアップ コンテナーは、このバックアップ拡張機能を介してクラスターと通信し、バックアップ操作と復元操作を実行します。
Note
Azure Backup を使用した AKS のボールトへのバックアップとリージョンをまたがる復元は、現在プレビュー段階にあります。
開始する前に
AKS バックアップを使用すると、(バックアップされた) 元の AKS クラスターおよび代替 AKS クラスターに復元できます。 AKS バックアップでは、完全復元と項目レベルの復元を実行できます。 復元構成を使い、復元されるクラスター リソースに基づいてパラメーターを定義できます。
ターゲット AKS クラスターにバックアップ拡張機能をインストールする必要があります。 また、Backup コンテナーと AKS クラスターの間で信頼されたアクセスを有効にする必要があります。
コンテナー レベルに格納されたバックアップを復元しようとする場合、ステージングの場所として入力にストレージ アカウントを提供する必要があります。 バックアップ データは、Microsoft テナント内の BLOB としてバックアップ コンテナーに保存されます。 復元操作中、バックアップ データは 1 つのコンテナーからテナント間のステージング ストレージ アカウントにコピーされます。 復元用のステージング ストレージ アカウントで AllowCrossTenantReplication プロパティが true に設定されていることを確認します。
制限事項およびサポートされているシナリオの詳細については、サポート マトリックスを参照してください。
AKS クラスターを復元する
バックアップされた AKS クラスターを復元するには、次の手順に従います。
バックアップ センターに移動し、[復元] を選択します。
次のページで、[バックアップ インスタンスの選択] を選択し、復元するインスタンスを選択してください。
プライマリ リージョンとセカンダリ リージョンの両方でインスタンスを使用できる場合は、復元する リージョンを選択し、[続行] を選択します。
[復元ポイントを選択する] をクリックして、復元する "復元ポイント" を選択してください。
復元ポイントがコンテナーおよび運用データストアの両方から入手できる場合は、復元元のポイントを選択してください。
[復元パラメーター] セクションで、[Kubernetes サービスの選択] をクリックし、バックアップの復元先の "AKS クラスター" を選択します。
復元対象の "バックアップされたクラスター リソース" を選択するために、[リソースの選択] をクリックします。
復元構成の詳細については、こちらを参照してください。
コンテナー標準データストアからの復元の復旧ポイントを選択した場合は、ステージング場所として [スナップショット リソース グループ] と [ストレージ アカウント] を指定してください。
Note
現時点では、ステージング場所で作成されたリソースはプライベート エンドポイントに属することはできません。 ステージングの場所として指定されたストレージ アカウントで "パブリック アクセス" を有効にしていることを確認します。
[検証] を選択して、バックアップされたクラスターの選択に対して検証を実行してください。
検証が成功したら、[確認と復元] を選択し、選択したクラスターにバックアップを復元します。
構成を復元する
AKS バックアップの項目レベルの復元機能の一部として、複数の復元構成フィルターを使用して復元を実行できます。
一覧から復元する "名前空間" を選択します。 一覧には、バックアップされた名前空間のみが表示されます。
クラスター スコープのリソースと永続ボリューム (Azure Disk のみ) を復元する場合は、チェック ボックスを選択することもできます。
特定のクラスター リソースを復元するには、それらに添付されているラベルをテキストボックスで使用します。 入力されたラベルを持つリソースのみがバックアップされます。
"API グループ" と "種類" を指定して、特定のリソースの種類を復元できます。 "API グループ" と "種類" の一覧については、"付録" を参照してください。 "複数の API グループ" を入力できます。
API グループを使用したバックアップからのデプロイなど、ワークロードを復元するには、エントリを次のようにする必要があります。
種類: [デプロイ] を選択します。
グループ: [グループ] を選択します。
名前空間マッピング: バックアップされたクラスター リソースを別の "名前空間" に移行するには、"バックアップされた名前空間" を選択し、リソースを移行する "名前空間" を入力します。
その "名前空間" が AKS クラスターに存在しない場合は、作成されます。 クラスター リソースの復元中に競合が発生した場合は、競合するリソースをスキップまたは修正することができます。
現在、Azure Backup for AKS では、(バックアップ リソースがターゲット AKS クラスター内の該当リソースと同じ名前を持ち) リソース クラッシュが起きた際の復元操作のオプションとして以下の 2 つがサポートされています。 復元構成を定義するときに、これらのオプションのいずれかを選択できます。
スキップ: 既定では、このオプションが選択されます。 たとえば、pvc-azuredisk という名前の PVC をバックアップし、それを同じ名前の PVC を持つターゲット クラスター内に復元する場合、バックアップ拡張機能はバックアップされた永続ボリューム要求 (PVC) の復元をスキップします。 このようなシナリオでは、クラスターからリソースを削除してから、復元操作を実行することをお勧めします。
パッチ: このオプションを使用すると、ターゲット クラスター内のリソース上のバックアップ リソースの変更可能な変数にパッチを適用できます。 ターゲット クラスター内のレプリカの数を更新したい場合は、操作としてパッチ適用を選択できます。
Note
AKS バックアップは現在、ターゲット クラスター内にリソースが既に存在する場合はリソースの削除と再作成を行いません。 元の場所にある永続ボリュームの復元を試みる場合は、既存の永続ボリュームを削除してから、復元操作を実行します。
セカンダリ リージョンに復元する (プレビュー)
セカンダリ リージョンで AKS クラスターを復元するには、Backup ボールトで geo 冗長とリージョン間の復元を構成し、復元をトリガーします。