Azure Kubernetes Service (AKS) 向け Azure Container Linux (ACL) とは何ですか?

この記事では、Azure Kubernetes Service (AKS)用の不変のコンテナー最適化オペレーティング システム (OS) である Azure Container Linux (ACL) の概要について説明します。 ACL は Flatcar Container Linux プロジェクトから派生したもので、Flatcar の実績あるコンテナー ファーストの不変の設計を基盤としつつ、Azure Linux のパッケージ、サービス、プラットフォーム統合を追加しています。 これにより、ACL は、Azureの運用環境、セキュリティ、コンプライアンスの要件を満たしながら、アップストリームの Flatcar イノベーションと密接に連携することができます。 Flatcar Container Linux の詳細については、 Flatcar のドキュメントを参照してください

ACL は、AKS v1.34 以降の AKS で OS オプションとして一般公開 (GA) されています。 新しい AKS クラスターに ACL ノード プールをデプロイすることも、既存のクラスターに ACL ノード プールを追加することもできます。

Note

ACL は、2025 年 11 月にパブリック プレビューに入った AKS 用 Flatcar Container Linux の GA リリースです。 整合性ポリシー適用 (IPE) によるコード整合性などの OS Guard (プレビュー) 機能は、今後のリリースで ACL に組み込まれ、その後、OS Guard (プレビュー) は廃止される予定です。 現在、OS Guard の機能が必要な場合は、OS Guard を引き続き使用し、それらの機能が使用可能になったら ACL に移行することをお勧めします。

AKS で ACL を使用する利点

Benefit Description
セキュリティを強化するための組み込みの不変性 /usr ディレクトリのカーネルによって強制される不変性により、起動時と実行時に OS イメージの整合性が検証されます。 この設計は、承認されていない変更がクラスターに影響を与える前にブロックし、OS レベルの改ざんのリスクを軽減するのに役立ちます。
最小限の攻撃対象領域 ACL には、コンテナーの実行に必要なコンポーネントのみが付属しています。 OS のサイズと複雑さを減らすことで、ACL は、攻撃者が使用できるパッケージ、サービス、潜在的なエントリ ポイントの数を最小限に抑え、セキュリティ管理を簡素化します。
ノード イメージの更新の自動化 ACL は、最新のセキュリティ パッチとバグ修正プログラムを含む、毎週のイメージ ベースの更新プログラムを提供します。 この方法により、ノード OS のバージョンがクラスター全体で一貫して最新の状態に保たれ、既知の脆弱性にさらされるリスクを軽減できます。
サプライ チェーンの信頼 Azure Linux の署名済みパッケージとサプライ チェーン プロセスに基づいて構築され、システム コンポーネントに明確な実証を提供します。
Azure セキュリティ機能との統合 トラステッド起動とセキュア ブートのネイティブ サポートは、測定されたブート保護と構成証明を提供します。
オープン ソースの透過性 Flatcar と基になるテクノロジ (dm-verity および SELinux) の多くはアップストリームまたはオープンソースであり、Microsoftにはこれらの機能をサポートするためのツールと貢献があります。

ACL の主な機能

次の主な機能は、AKS 用の強化されたコンテナー最適化 OS として ACL を区別します。

  • 不変性: '/usr' ディレクトリは、dm-verity によって保護された読み取り専用ボリュームとしてマウントされます。 実行時に、カーネルは署名されたルート ハッシュを検証して改ざんを検出してブロックします
  • SELinux を使用した必須アクセス制御: ACL には、機密性の高いシステム リソースにアクセスできるプロセスを制限する必須のアクセス制御ポリシーを適用する SELinux が含まれています。 SELinux は、既定で適用モードで動作します。
  • トラステッド起動とセキュア ブート: OS が読み込まれる前にブート チェーンの整合性を確保するために、ACL にはセキュア ブートと vTPM を使用した 信頼された起動 が必要です。 これは、カーネル、initramfs、およびカーネル コマンド ラインを 1 つの署名付き成果物にバンドルする Unified Kernel Image (UKI) を使用して実現されます。 起動時に、UKI が測定され、vTPM に記録され、最も早い段階からの整合性が確保されます。
  • NVIDIA GPU ノードのサポート: ACL では、AMD64 アーキテクチャ上の NVIDIA GPU 対応ノード プールがサポートされており、強化されたコンテナー最適化 OS を使用して AKS でハイ パフォーマンス コンピューティング (HPC) と AI/ML ワークロードを実行できます。 ACL は、GPU 対応ノード プールの ARM64 アーキテクチャをサポートしていません。
  • AMD64 および ARM64 アーキテクチャのサポート: ACL は、AKS 上の AMD64 アーキテクチャと ARM64 アーキテクチャの両方で使用できます。
  • Sovereign Supply Chain Security: ACL は、Linux のセキュリティで保護されたビルド パイプラインと署名された統合カーネル イメージ (UKI) Azure継承します。
  • ノードの自動プロビジョニング: ACL では、ノード自動プロビジョニング (NAP) がサポートされます。

サポートされていない機能

ACL は現在、次の機能をサポートしていません。

既存のクラスターでサポートされていない機能のいずれかが使用されている場合は、そのクラスターに ACL ノード プールを追加できない可能性があります。

機能ロードマップ

Azure Linux では、開発中で一般公開 (GA) とパブリック プレビューで使用できる機能を含む feature ロードマップ が公開されます。

ACL を使用した OS の移行とアップグレード

AKS では、インプレース OS SKU の移行を使用するか、新しい ACL ノード プールを作成することで、既存のノード プールを ACL に移行できます。 移行手順、考慮事項、およびロールバック手順の詳細については、「 既存のノードを ACL に移行する」を参照してください。

AKS バージョン管理の ACL

AKS の ACL は、毎週 AKS ノード イメージをリリースします。 バージョン管理は、AKS の日付ベースの形式 (例: 202506.13.0) に従います。 ACL は現在、完全なノード イメージの更新のみをサポートしています。

リリース ノートで使用可能なノード イメージを確認し、nodeImageVersion コマンドを使用して実行中のクラスターのaz aks nodepool listを表示できます。 例えば次が挙げられます。

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name> --query '[].{name: name, nodeImageVersion: nodeImageVersion}'

出力例:

[
{
    "name": "nodes",
    "nodeImageVersion": "AKSAzureContainerLinux-202606.01.0"
}
]

AKS の ACL の使用を開始するには、次のリソースを参照してください。