Azure Linux アーキテクチャの概要

Azure Linux は、Fedora エコシステム上に構築され、Azure用に最適化された、Microsoft管理された Linux ディストリビューションです。 この記事では、linux Azureの構造、既定で含まれる内容、および意図的に境界を描画する場所について説明します。

Note

Azure Linux 4.0 は現在、preview であり、評価とテストの目的に厳密に限定されています。 運用環境での使用には適していません。

Linux Azure Fedora とどのように関連しているか

Azure Linux は、Fedora から派生し、同じ RPM ベースのパッケージ エコシステムを使用します。 dnf5、Fedora ビルド ツール (mockfedpkgkojikiwi)、最新のコンパイラ ツールチェーンの知識が得られます。すべてアップストリーム Fedora から追跡されます。 その基盤の上に、Microsoftは、Azure固有のセキュリティ強化、カスタム カーネル、クラウド ワークロードに適したマネージド ライフサイクルを追加します。

カーネルはバージョン 6.18 LTS として出荷され、Hyper-V ゲスト ドライバー、Azure固有のパフォーマンス チューニング、およびセキュリティ強化がAzure VM SKU 全体で検証されます。

レイヤード アーキテクチャ

Azure Linux ではレイヤーモデルが使用されます。 各レイヤーは、基盤となるハードウェアとファームウェアから、一番上のワークロードまで、その下のレイヤー上に構築されます。

Azure Linux レイヤード アーキテクチャを示す図のスクリーンショット。

カーネル レイヤー

カスタム Azure Linux カーネルには、ゲスト ドライバー Hyper-V、セキュリティ強化パッチ、およびAzureインフラストラクチャ用にチューニングされたパフォーマンス最適化が含まれます。 安定性重視の長期サポート(LTS)カーネルと、新しいハードウェアや GPU のサポート向けのハードウェアイネーブルメント(HWE)カーネルのいずれかを選択できます。 詳細については、「 リリース周期とライフサイクル 」を参照してください。

コア OS レイヤー

このレイヤーは、最小限のルート ファイルシステムを提供します。サービス管理用の systemd 、C ランタイムとして glibc 、暗号化用の OpenSSL です。 これらは階層 1 コンポーネントです。つまり、メジャー リリースの有効期間中はバージョン ロックされ、セキュリティ バックポートのみを受け取ります。 これにより、アプリケーション バイナリ インターフェイス (ABI) が安定し、動作が予測可能になります。

ユーザー空間パッケージ レイヤー

言語ランタイム (Python、Go、Rust、Node.js)、コンテナー ツール、アプリケーションの依存関係はここにあります。 階層 1 のパッケージは、安定性のためにロックされています。 階層 2 パッケージは、予測可能な周期で更新されます。 詳細については、「 リリース周期とライフサイクル」を参照してください。

ワークロード レイヤー

Azureサービスとアプリケーションはここで実行されます。 Azure Linux では、AKS、Azure VM、コンテナー イメージのいずれで実行しているかにかかわらず、同じ OS 基盤、パッケージ セット、動作が提供されます。

プラットフォームの対象範囲

Azure Linux は、Azureクラウド ワークロード向けに設計されています。 Azure Linux はオープンソースですが、Microsoftのサポートとライフサイクルのコミットメントは、Azureシナリオにのみ適用されます。

次の表は、Azure Linux でサポートされている内容とサポートされていない機能の概要を示しています。

Area Supported サポートしていません
アーキテクチャ x86-64 (v2 以降)、ARMv8 (64 ビット) 32 ビット アーキテクチャ
環境 AZURE VM、AKS、コンテナー イメージ ISO イメージ, オンプレミス, マルチクラウド, IoT, エッジ デバイス
ユーザー インターフェイス テキストベースのコンソール、SSH グラフィカル デスクトップ環境、GUI インストーラー
仮想 KVM ゲスト、Hyper-V Xen
周辺機器 Azure接続ストレージ、ネットワーク、GPU Bluetooth, Wi-Fi, プリンター, オーディオ/ビデオ, ロボット工学
信頼できるプラットフォーム TPM 2.0 TPM 1.x
言語サポート グローバル ロケールのサポートが利用可能 すべての言語パックが基本イメージに含まれているわけではありません

すべてのAzure Linux イメージには、waagentcloud-init が含まれます。 これらのコンポーネントは、Azure統合に必要であり、常に存在する必要があります。

リポジトリ構造

Azure Linux には、複数の個別のリポジトリにパッケージが付属しています。 パッケージの由来となるリポジトリを把握すると、サポート可能性、すぐに利用できる内容、オプトインする必要がある内容について理解しやすくなります。 日常のパッケージ管理情報については、「 パッケージ管理」を参照してください。

ネットワークの既定値

Azure Linux には、Azure VM、AKS ノード、コンテナー ワークロード用に調整されたネットワーク スタックが付属しています。 ほとんどのワークロードでは、既定値を変更せずに使用できます。

次の表は、Azure Linux の既定のネットワーク コンポーネントと、特定のシナリオで既定値をオーバーライドする必要がある場合に使用できる代替手段をまとめたものです。

コンポーネント デフォルト 代替案 メモ
ネットワーク マネージャー systemd‑networkd + cloud‑init NetworkManager (既定ではなく使用可能) systemd-networkd は、Azure VM とコンテナーのシナリオの既定値です。
ファイアウォール firewalld N/A deny-inbound、allow-outbound ポリシーで既定で有効になっています。
ファイアウォール バックエンド nftables iptables (レガシー、利用可能) nftables は、iptables の最新の置き換えです。 iptables レガシー サポートは利用可能ですが、既定ではありません。
IPv6 有効化およびハードニング済み N/A IPv4 と IPv6 の両方に厳密な sysctl セキュリティ強化が適用されます。

ストレージの既定値

Azure Linux ストレージの既定値は、Azure接続されたディスクと、すべてのAzure VM の下にある Hyper-V ハイパーバイザー用に調整されます。 スナップショットやマネージド ディスクなどのAzureプラットフォーム機能との予測可能なパフォーマンスと互換性のために、ファイルシステム、ブート ローダー、クロック ソースが選択されます。

次の表は、Azure Linux の既定のストレージ設定と、特定のシナリオで既定値をオーバーライドする必要がある場合に使用できる代替手段をまとめたものです。

Setting デフォルト 選択肢
ファイルシステム ext4 xfs、btrfs
ブート GRUB2 ブートローダー N/A
時計 Hyper-V PTP クロックソース N/A
NVMe Azure に接続されたストレージ向けに調整されたタイムアウト N/A

セキュリティ アーキテクチャ

Azure Linux は、カーネルからサプライ チェーンまで、すべてのレイヤーで強化されます。 次のセクションでは、既定で有効になっているセキュリティ コントロールについて説明します。 詳細については、「 セキュリティとコンプライアンス 」を参照してください。

必須のアクセス制御

必須アクセス制御 (MAC) は、ルートとして実行されている場合でも、プロセスを実際に必要なアクセスに限定します。

Azure Linux 4.0 プレビューでは、MAC フレームワークとして SELinux を強制モードで有効化します。

セキュア ブート

セキュア ブートでは、署名されたブートローダーとカーネルのみが実行されます。 カーネル ロックダウンは、実行中のカーネルを保護し、実行時に信頼されていないカーネル モジュールの読み込みを無効にします。

Note

Azure Linux 4.0 は preview に入っており、そのコンポーネントはまだセキュア ブート用に署名されていません。

カーネルとシステムのセキュリティ強化

カーネルとユーザースペースは、悪用の書き込みを困難にし、成功した場合に含めるのが容易になる軽減策を使用して構築されています。

次の表は、Azure Linux のカーネルとシステムのセキュリティ強化機能をまとめたものです。

能力 Description
Aslr 強力なアドレス空間レイアウトのランダム化が有効になっています。
スタック保護 すべてのパッケージに適用されるコンパイラ レベルのスタック保護。
Syscall の制限 既定の seccomp プロファイルと syscall フィルター処理。
最小基本イメージ 最小限のパッケージ セットによって攻撃対象領域を減らしました。

暗号技術

Azure Linux は暗号化ポリシーを一元化し、OpenSSL、GnuTLS、NSS、および OpenSSH 全体でアルゴリズムとキー サイズの整合性を維持します。

次の表は、Azure Linux の暗号化設定をまとめたものです。

Setting 価値
Fips FIPS 140-3 認定は必須です。
暗号化ポリシー 一貫性のあるアルゴリズムの選択に採用された Fedora 暗号化ポリシー。
ポストクォンタム ML-KEM は、Fedora と RHEL のロードマップに沿って計画されています。

ログ記録と監査

次の表は、Azure Linux のログ記録と監査の設定をまとめたものです。

Setting 価値
監査デーモン auditd が有効になっています。
ジャーナル ストレージ 永続的な journald ストレージ。