👋

AKS のバックアップを実行する -バックアップ設定-

2023/12/26に公開

ごきげんよう!mihohoi です。
Azure バックアップセンターを使った AKS のバックアップが少し前に GA となりました。どのような動きをするのか、検証しつつ事前の準備や注意点などもまとめていきます。

🥳GA のニュース🥳
General Availability - Azure Backup for AKS | Azure updates | Microsoft Azure

バックアップ センター

バックアップ センター自体は、AKS だけの機能ではありません。仮想マシンなどの他のサービスで使われている、Azure のバックアップを総合的に管理するための機能です。
その中で、「ポリシー」と「コンテナー」の2つをバックアップセンターの中で使っていきますが、こちらもバックアップセンターのエンティティの名称です。”コンテナー”という名前が Kubernetes の機能と同じですが、異なるものです。

「コンテナー」の役割は、時間の経過とともに作成されるバックアップと復元ポイントを格納するエンティティであり、保護された仮想マシンに関連付けられているバックアップ ポリシーも格納されます。「何の対象」を「どのリソースグループ」で作るか、を作成します。

「ポリシー」はデータソース(対象のリソース)を選択し、格納するエンティティとバックアップのスケジュールや保持期間を設定します。

バックアップ センターについての詳細は以下の URL にも詳しく載っています。
Azure Backup と Azure Site Recovery のバックアップ センターの概要 - Azure Backup | Microsoft Learn

バックアップセンターでの作業

まず、AKS をバックアップするまでの流れとしては、以下の通りです。

  1. バックアップセンターでコンテナーを作成する
  2. バックアップセンターでポリシーを作成する
  3. AKS に拡張機能をインストールする
  4. バックアップを構成する

1. バックアップセンターでコンテナーを作成する

ではまず、バックアップセンターから開始します。
※ポリシーを以下作成していますが、最初はコンテナーを作成します。間違えも含めてあたたかくご覧いただければ。

バックアップセンターから「ポリシー」を作成して、Kubernetesサービスを選択します。

ポリシーの作成画面

選択した画面はこちら。
ポリシー作成画面後

その後、バックアップコンテナーがないと怒られたので、先にコンテナーを作成することにしました。
コンテナーを作成します。
コンテナーの作成画面

コンテナーの作成画面で、作成するリソースグループを選択します。今回は、AKS のリソースと同じリソースグループにしました。
画面下部の冗長性の説明の部分では、コストと信頼性のトレードオフについて注意書きが記載されています。
コンテナーの作成画面2

Vault Properties では、論理的な削除の有効化や削除する間隔などを設定します。今回は特に変更しませんが、運用するアプリケーションに合わせて変更しましょう。
Vault Properties

タグと確認まで進んで、バックアップコンテナーを作成します。
作成後の画面

2. バックアップセンターでポリシーを作成する

それでは、バックアップポリシーを作成します。先ほど作成していなかった「コンテナー」を選択します。
バックアップポリシーの作成1

スケジュールと保持期間は好きなように変更します。今回はそのまま進みます。
バックアップポリシーの作成2

作成します。

AKS 側での設定

3. AKS に拡張機能をインストールする

AKS のリソースに移動し、メニューから「バックアップ」を選択します。
AKSメニュー

初めてそのリソースにバックアップを設定する場合は、拡張機能のインストールが必要です。
「拡張機能のインストール」をクリックします。
拡張機能のインストール1

AKSと同じリソースグループの中に、ストレージアカウントとBlobコンテナーが必要です。

画面に従い、拡張機能のインストールを行なっていきます。
拡張機能のインストール2

体感ですが、インストールが完了するまで10分ほどかかりました。
画面が、以下の表示となったので、意気揚々と「バックアップの作成」をクリックします。
バックアップ開始

4. バックアップを構成する

バックアップの構成画面に遷移します。
バックアップの構成1
赤字のコメントが出ています。確認してみましょう。

ということで、アクセス権の付与を行います。表示されている通り「アクセス許可の付与」をクリックします。
付与されたのち、「次へ」をクリックするとバックアップポリシーに遷移します。
バックアップの構成3

最初に作成した「バックアップポリシー」を選択します。
その後、「次へ」をクリックし「データソース」に移動します。
バックアップの構成4

「追加」をクリックすると、バックアップする対象のリソースを選択することができます。「すべて」で namespace 全てをバックアップすることはできますが、プロジェクトごとだったり、役割ごとに取りたい場合が多いでしょう。
今回は、"petclinic" namespace を対象にしてみます。
バックアップのリソースを選択する1

petclinic のみを選択した画面
バックアップのリソースを選択する2

確認をし、検証ボタンを押下します。
バックアップのリソースを選択する3

エラーが出ました。
エラー画面

さて、エラーに内容を見るとロールの割り当てに失敗しているようです。以下に表示されている推奨事項に則って対応を行います。
推奨

対応を行い、成功した場合は、以下の表示となります。
成功画面

最終確認を行い、構成します。
最終確認

構成が行われると、以下の画面となります。追加でバックアップの設定を行うこともできます。
バックアップ設定後画面

バックアップが取得されたのかを確認する

しばらく置いていると、バックアップが時間の経過とともに取得されます。
取得されると、以下の表示になります。
バックアップ成功後

バックアップが取得されていました。これで、簡単に AKS のバックアップが設定&取得できるようになりました。
以前は、yaml ファイルから戻したりしていましたが、Azure ポータルからバックアップをすることで、よりポータル側で管理しやすくなったと思います。
また、シークレットを含めたり、永続ボリュームもバックアップのスコープとして選択することができるので、柔軟なバックアップができます。

次回は、リストア編に進みます。

参考

https://learn.microsoft.com/ja-jp/azure/backup/azure-kubernetes-service-cluster-backup

GitHubで編集を提案
Microsoft (有志)

Discussion