Azure Backup for AKSをAzure CLI 1コマンドで構成する意味と運用設計のポイント

Azure Backup for AKS の構成は、Azure CLI の単一コマンドで開始できるようになりました。これにより、AKS のバックアップ設定は「担当者が手順書を見ながら個別に作業するもの」から、「CI/CD、プラットフォームテンプレート、Day 2 operations に組み込む標準プロセス」へ近づきます。結論から言うと、重要なのはコマンド数の削減そのものではありません。バックアップ拡張機能、Backup Vault、ポリシー、Trusted Access、バックアップインスタンス作成までを一つの流れにまとめられることで、AKS 運用のばらつきと設定漏れを減らしやすくなる点が本質です。(マイクロソフト アジュール)

ただし、1コマンド化は「バックアップ設計が不要になる」という意味ではありません。対象の名前空間、永続ボリューム、Vault 層の利用有無、復元テスト、権限、リージョン、タグ設計は引き続き運用チームが決める必要があります。この記事では、Azure Backup for AKS / Azure CLI の最新動向を踏まえ、Platform engineers と Kubernetes administrators が実務でどう取り入れるべきかを整理します。

目次

Azure Backup for AKS のCLI構成は何が変わったのか

2026年4月18日時点の更新として注目すべき点は、Azure Backup for AKS のバックアップ構成を az dataprotection enable-backup trigger で開始できるようになったことです。Microsoft の説明では、従来は az aks、az k8s-extension、az dataprotection など複数の CLI 領域をまたぎ、バックアップ拡張機能、ストレージ、Backup Vault、ポリシー、Trusted Access、バックアップインスタンスを手動でつなぐ必要がありました。新しいフローでは、その一連のセットアップを単一の CLI コマンドに集約します。(TECHCOMMUNITY.MICROSOFT.COM)

基本形は次のようになります。

az dataprotection enable-backup trigger \
  --datasource-type AzureKubernetesService \
  --datasource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ContainerService/managedClusters/<aks-cluster-name>

このコマンドは、AKS クラスターの状態確認、バックアップ用リソースグループの作成または再利用、Backup Extension のインストール、必要なストレージリソースの作成または再利用、Backup Vault とバックアップポリシーの作成または再利用、Trusted Access の有効化、バックアップインスタンスの作成までを自動化します。(Microsoft Learn)

観点従来のCLI構成単一コマンド化後実務上の意味
作業単位拡張機能、Vault、ポリシー、権限、インスタンスを個別に設定az dataprotection enable-backup trigger に集約手順漏れを減らしやすい
自動化複数コマンドをスクリプトでつなぐ必要があるCI/CD の1ステップに組み込みやすいAKS 作成直後に保護を開始しやすい
標準化チームごとに実装差が出やすい戦略と設定ファイルをテンプレート化しやすいPlatform engineering の「標準パス」にしやすい
既存資産の利用手動で Vault やポリシーを指定設定JSONで既存 Vault、ポリシー、ストレージを指定可能ガバナンスと共存しやすい
従来手順引き続き利用可能代替アプローチとして追加既存運用を急に置き換える必要はない

重要なのは、新しいコマンドが従来方式を完全に廃止するものではない点です。Microsoft Learn では、az dataprotection backup-instance initialize-backupconfig を使う従来のバックアップインスタンス作成方法も引き続き動作すると説明されています。(Microsoft Learn)

まず押さえるべきAzure CLIの基本フロー

実務では、最初に dataprotection 拡張機能を更新し、バージョンを確認してから実行するのが安全です。Microsoft Learn では、この単一コマンドを使うために dataprotection 拡張機能 1.9.0 以上が必要とされています。(Microsoft Learn)

az extension add -n dataprotection --upgrade

az extension show -n dataprotection --query version -o tsv

AKS クラスターの ARM ID を取得してから実行すると、スクリプトやパイプラインに組み込みやすくなります。

AKS_ID=$(az aks show \
  --resource-group <aks-resource-group> \
  --name <aks-cluster-name> \
  --query id \
  --output tsv)

az dataprotection enable-backup trigger \
  --datasource-type AzureKubernetesService \
  --datasource-id "$AKS_ID" \
  --backup-strategy Month \
  --yes

--backup-strategy には、用途に応じたプリセットを指定できます。CLI リファレンスでは、Week、Month、DisasterRecovery、Custom が選択肢として示されています。(Microsoft Learn)

バックアップ戦略保持の考え方向いている用途注意点
WeekOperational Store に7日保持開発、検証、短期保護既定値のため、本番でそのまま使う前に要件確認が必要
MonthOperational Store に30日保持一般的な本番環境の初期候補リージョン障害対策として十分かは別途判断
DisasterRecoveryOperational Store 7日 + Vault Store 90日DR を意識した環境Cross Region Restore には Vault 側の冗長性設定も確認が必要
Custom既存 Vault とポリシーを利用統制済みのエンタープライズ環境backupVaultId と backupPolicyId を設定JSONで指定する

本番環境では、Week を既定値のまま使うより、RPO、RTO、保持期間、監査要件に合わせて Month、DisasterRecovery、または Custom を選ぶのが現実的です。

設定JSONで既存のVaultやタグ設計に合わせる

単一コマンド化の価値は、何でも自動作成できることだけではありません。むしろ大規模環境では、既存の Backup Vault、バックアップポリシー、ストレージアカウント、タグルールに合わせて実行できる点が重要です。--backup-configuration-file には、既存 Vault、既存ポリシー、既存ストレージ、Blob コンテナー名、バックアップリソースグループ、タグなどを指定できます。(Microsoft Learn)

例として、プラットフォームチームが管理する Backup Vault とポリシーを使う場合は、次のような config.json を用意します。

{
  "backupVaultId": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.DataProtection/backupVaults/<vault>",
  "backupPolicyId": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.DataProtection/backupVaults/<vault>/backupPolicies/<policy>",
  "storageAccountResourceId": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<storage-account>",
  "blobContainerName": "aks-backup",
  "backupResourceGroupId": "/subscriptions/<sub>/resourceGroups/<rg>",
  "tags": {
    "Owner": "platform-team",
    "Environment": "prod",
    "CostCenter": "cc-1234",
    "ManagedBy": "platform-template"
  }
}

実行コマンドは次の形です。

az dataprotection enable-backup trigger \
  --datasource-type AzureKubernetesService \
  --datasource-id "$AKS_ID" \
  --backup-strategy Custom \
  --backup-configuration-file @config.json \
  --yes

Custom 戦略は、バックアップを各アプリチーム任せにせず、プラットフォーム側で定義した Vault、ポリシー、命名規則、タグを使わせたい場合に特に有効です。自由に自動作成させると、サブスクリプション内に用途不明の Vault やストレージが増え、後からコスト管理や監査が難しくなります。

AKS自動化で重要になる理由

AKS operators が CLI simplification や backup automation guidance を探す理由は明確です。AKS クラスターは、作って終わりではありません。新規環境、ステージング、本番、DR 用クラスター、短命な検証クラスターなどが増えるほど、「すべてのクラスターが同じ保護レベルでバックアップされているか」を人手で確認するのは難しくなります。

単一コマンド化によって、バックアップ構成を AKS プロビジョニング後の標準ステップにできます。

set -euo pipefail

az account set --subscription "<subscription-id>"

AKS_ID=$(az aks show \
  --resource-group "$AKS_RESOURCE_GROUP" \
  --name "$AKS_CLUSTER_NAME" \
  --query id \
  --output tsv)

az dataprotection enable-backup trigger \
  --datasource-type AzureKubernetesService \
  --datasource-id "$AKS_ID" \
  --backup-strategy "$BACKUP_STRATEGY" \
  --backup-configuration-file @aks-backup-config.json \
  --yes

この形にしておくと、Azure DevOps、GitHub Actions、社内のデプロイ基盤、セルフサービスポータルから同じ流れを呼び出せます。AKS 作成時にバックアップ設定を後回しにしないため、クラスター作成から初回バックアップまでの「無保護な時間」を短くできます。

さらに、失敗時の切り分けもしやすくなります。従来のように複数のスクリプトでリソース作成、拡張機能、RBAC、Trusted Access、バックアップインスタンスを順番に処理していると、どの段階で失敗したのかをジョブログと Azure 側の状態から追う必要があります。単一コマンドに寄せることで、少なくともオンボーディング処理の入口を統一できます。

プラットフォームテンプレートに組み込むときの設計ポイント

Platform engineering の文脈では、単一コマンドをそのまま「各チームが好きに実行する便利コマンド」として配るより、AKS platform template の一部として抽象化するほうが効果的です。

たとえば、プラットフォームテンプレート側では次のような入力だけをアプリチームに見せます。

テンプレート入力選択例プラットフォーム側で吸収する内容
backup_enabledtrue / falseバックアップ構成を実行するか
backup_tierdev / prod / drWeek、Month、DisasterRecovery、Custom へのマッピング
data_classificationinternal / confidentialVault、保持期間、タグ、アラートルールの選択
owner_teampayments、platform などタグ、通知先、コスト配賦
restore_test_requiredtrue / false初回復元テストのチケット作成やワークフロー起動

この設計にすると、アプリチームは Backup Vault や Trusted Access の細部を知らなくても、組織標準に沿った保護を受けられます。一方、プラットフォームチームは config.json とバックアップポリシーを管理することで、統制を維持できます。

ここでの判断基準は、次の通りです。

環境推奨アプローチ理由
個人検証、短期PoCWeek から開始構成を軽くし、後片付けしやすい
共有開発環境Week または Month誤削除からの短期復旧を重視
一般的な本番環境Month または Custom保持期間、タグ、監査要件を明示しやすい
規制・監査対象の本番環境Custom既存 Vault、既存ポリシー、承認済み設定を使う
リージョン障害も想定する環境DisasterRecovery または CustomVault Store と Cross Region Restore の設計が必要

IaC との関係にも注意が必要です。Bicep や Terraform で AKS、ネットワーク、ID、ポリシーを宣言的に管理している場合、単一 CLI コマンドは「宣言的リソース定義の代替」というより、「クラスター作成後の保護オンボーディング処理」として扱うほうが自然です。厳格な構成管理を行う組織では、Vault やポリシーは IaC で先に作り、CLI では Custom と設定JSONを使ってバックアップ保護を有効化する構成が扱いやすくなります。

Day 2 operationsで本当に見るべきこと

Day 2 operations とは、初期構築後の日常運用を指します。AKS バックアップでは、初回構成よりも、バックアップが継続して成功しているか、復元できるか、ポリシーが要件に合っているかを確認し続けることが重要です。

Azure Backup for AKS は、Operational Tier と Vault Tier の両方を扱えます。Operational Tier はスナップショットなどを利用したテナント内のバックアップで、Vault Tier はテナント外の Vault 側に保存されるバックアップです。リージョンをまたぐ復元を考える場合は、Vault Tier と Cross Region Restore の設計が重要になります。(Microsoft Learn)

Day 2 operations では、少なくとも次の項目を運用チェックリストに入れてください。

運用項目確認内容実務でのポイント
初回バックアップ確認バックアップインスタンスが作成され、初回ジョブが成功しているか構成直後に必ず確認する
スケジュールジョブ監視ScheduledBackup が継続成功しているかAzure Monitor や運用ダッシュボードに載せる
オンデマンドバックアップ変更前や移行前に手動バックアップできるか重要作業の前に実行する
復元テスト別クラスターまたは検証名前空間へ戻せるかバックアップ成功だけで安心しない
ポリシー見直し保持期間、Vault Store、DR要件が合っているか本番化時や監査前に確認する
権限レビューBackup Vault、AKS、スナップショットリソースグループの権限が維持されているかRBAC変更後の失敗を防ぐ
タグと所有者Owner、Environment、CostCenter などが付いているかコスト管理と問い合わせ対応に効く

バックアップジョブの追跡には az dataprotection job や Resource Graph を使う方法が示されています。オンデマンドバックアップやスケジュールバックアップのジョブを一覧化し、運用監視に組み込むのが現実的です。(Microsoft Learn)

az dataprotection job list-from-resourcegraph \
  --datasource-type AzureKubernetesService \
  --datasource-id "$AKS_ID" \
  --operation ScheduledBackup

実装前に確認すべき制約

単一コマンド化されても、Azure Backup for AKS のサポート条件は無視できません。特に永続ボリューム、ノードプール、リージョン、ID、ネットワーク分離に関する制約は、導入前に確認が必要です。

確認項目注意点見落とした場合の影響
永続ボリュームCSI ドライバーを使う Azure Disk と Azure Files SMB が主な対象。Azure Files NFS や Azure Blob Storage ベースの PV は対象外または個別対応が必要データがバックアップされていると思い込むリスク
静的プロビジョニング静的ボリュームでは StorageClass の明示が必要になる場合があるバックアップ時にボリュームがスキップされる可能性
リージョンBackup Vault と AKS クラスターは同一リージョンが基本構成時に失敗する、または設計変更が必要
ノードプールBackup Extension は Windows ベースや ARM64 ベースのノードプールにはインストールできない対応する Linux x86 ノードプールの準備が必要
マネージドIDAKS 側の ID と Backup Vault 側の権限が必要RBAC不足で検証やバックアップが失敗する
プライベート環境プライベート仮想ネットワーク内の AKS ではバックアップ操作用のプライベートエンドポイント構成が必要になる通信できずバックアップ操作が失敗する
Network Isolated AKS現時点で AKS Backup のサポート対象外とされている対象クラスターでは別設計が必要
整合性Operational Tier の PV スナップショットは基本的にクラッシュ整合性。アプリケーション整合性が必要な場合はフック設計を検討DB系ワークロードで復元後の整合性問題が起きる

これらの条件は、AKS バックアップのサポートマトリックスで明示されています。特に、サポート外の永続ボリュームはバックアッププロセス中にスキップされる可能性があるため、Kubernetes 管理者は PersistentVolume と StorageClass の棚卸しを先に行うべきです。(Microsoft Learn)

失敗しやすいポイントと回避策

単一CLI化は便利ですが、運用設計を省略すると失敗します。よくある落とし穴は次の通りです。

失敗しやすいポイントありがちな状態回避策
既定の Week のまま本番適用する7日保持で要件を満たせない本番化前に RPO、RTO、保持期間を確認する
DR要件を DisasterRecovery 指定だけで満たしたと思うVault の冗長性や Cross Region Restore の設計が不足Backup Vault の GRS、Cross Region Restore、復元先リージョンを確認する
バックアップ成功だけを見ている復元できるか未検証四半期ごと、またはリリース節目で復元演習を行う
すべてのPVが対象だと思い込むAzure Files NFS や Blob ベースPVが含まれるPV種別を棚卸しし、対象外データは別バックアップを設計する
チームごとに自由に実行させるVault、ポリシー、タグが乱立するCustom と設定JSONをプラットフォーム側で管理する
権限反映直後に失敗するRBAC の伝播待ちを考慮していない検証とリトライをパイプラインに入れる
サブスクリプションを間違える別環境のクラスターに対して実行するaz account set と AKS_ID の出力確認を必須にする

特に注意すべきなのは、バックアップは「取ること」より「戻せること」が重要だという点です。Azure Backup for AKS は元のクラスターまたは別の AKS クラスターへの復元をサポートしますが、復元先クラスターにも Backup Extension と Trusted Access が必要です。(Microsoft Learn)

既存環境ではどう移行すべきか

すでに Azure Backup for AKS を構成済みの環境で、急いで新コマンドへ全面移行する必要はありません。Microsoft Learn でも、従来の initialize-backupconfig を使う方法は引き続き利用できると説明されています。(Microsoft Learn)

判断基準は次の通りです。

状況推奨判断
既存スクリプトが安定しており、監査済みすぐに置き換えず、新規クラスターから新フローを試す
手順が属人化している単一コマンドを使った標準スクリプトへ寄せる
複数チームが個別にバックアップ設定しているPlatform template に統合する
Vault、ポリシー、タグを中央管理しているCustom と config.json を使う
DR要件を見直しているDisasterRecovery だけでなく Vault 冗長性と復元手順を含めて再設計する
Terraform/Bicep中心で運用しているVault やポリシーは IaC、バックアップ有効化はパイプラインの後処理として分離する

移行時は、いきなり全本番クラスターに適用するのではなく、代表的なステージングクラスターで次の流れを検証します。

検証ステップ確認内容
事前棚卸しAKS のリージョン、ID、ノードプール、PV種別、StorageClass を確認
コマンド実行enable-backup trigger が成功するか
リソース確認Vault、ポリシー、ストレージ、バックアップインスタンス、タグを確認
初回バックアップスケジュールまたはオンデマンドで復旧ポイントが作られるか
復元テスト別クラスターまたは検証環境へ戻せるか
運用監視ジョブ失敗を検知できるか

次に取るべき行動

Azure Backup for AKS の単一CLI化は、AKS バックアップを「後から手動で設定する作業」から「クラスター作成時に必ず通す標準フロー」へ変えるきっかけになります。Platform engineers は、まず新しい az dataprotection enable-backup trigger を検証環境で試し、Week、Month、DisasterRecovery、Custom のどれを環境別の標準にするか決めるべきです。

Kubernetes administrators は、コマンドを実行する前に PV 種別、CSI ドライバー、ノードプール、リージョン、マネージドID、ネットワーク条件を棚卸ししてください。そのうえで、初回バックアップの成功確認、オンデマンドバックアップ、復元テスト、ジョブ監視までを Day 2 operations の手順に入れることが重要です。

最初の一歩としては、次の順序が現実的です。

順序やること
1代表的な AKS クラスターを1つ選ぶ
2dataprotection 拡張機能を更新する
3PV、リージョン、ノードプール、ID、ネットワーク条件を確認する
4Month または Custom でバックアップを有効化する
5初回バックアップとジョブ一覧を確認する
6検証用クラスターに復元テストを行う
7成功した設定を platform template と CI/CD に組み込む

1コマンド化の最大のメリットは、作業が短くなることではなく、標準化しやすくなることです。AKS の数が増えるほど、バックアップの品質は個人の手順理解ではなく、テンプレート、ポリシー、監視、復元演習で担保する必要があります。Azure Backup for AKS / Azure CLI の新しい流れは、その運用モデルへ移行するための実用的な入口になります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次