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 ノード プールを追加し、既存の Linux ノード プールを ACL に移行できます。

Note

ACL は、2025 年 11 月にプレビューに入った AKS 用 Flatcar Container Linux の GA リリースです。 現在、整合性ポリシー適用 (IPE) によるコード整合性などの OS Guard (プレビュー) 機能はサポートされていません。 現在、OS Guard の機能が必要な場合は、OS Guard を引き続き使用し、それらの機能が使用可能になったら ACL に移行することをお勧めします。

AKS で ACL を使用する利点

AKS ノード プールの OS として ACL を使用すると、セキュリティ、信頼性、運用効率を向上させるいくつかの利点があります。

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

ACL の主な機能

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

  • 不変性: '/usr' ディレクトリは、dm-verity によって保護された読み取り専用ボリュームとしてマウントされます。 実行時に、カーネルは署名されたルート ハッシュを検証して改ざんを検出してブロックします
  • SELinux を使用した必須アクセス制御: ACL には、機密性の高いシステム リソースにアクセスできるプロセスを制限する必須のアクセス制御ポリシーを適用する SELinux が含まれています。 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) がサポートされます。

Important

AKS で Azure Container Linux (ACL) を使用している場合は、次の考慮事項と制限事項を確認してください。

機能ロードマップ

詳細については、Azure Linux 機能ロードマップを参照してください。

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

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

AKS バージョン管理の ACL

AKS の ACL は、毎週 AKS ノード イメージをリリースします。 バージョン管理は、AKS の日付ベースの形式 (例: 202506.13.0) に従います。 ACL は現在、完全なノード イメージの更新のみをサポートしています。 詳細については、「Azure Container Linux (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 の使用を開始するには、次のリソースを参照してください。