この記事では、次を使用して、Azure Linux 仮想マシン (VM) を更新し続ける方法について説明します。
- Image ベースの更新プログラム: 新しいAzure Linux イメージから VM を再デプロイします。 このアプローチは、安全なデプロイ プラクティス (SDP) に自然に合わせて調整されます。
- パッケージ ベースの更新プログラム: 実行中の VM にパッケージの更新プログラムを適用します。 この方法では、安全にロールアウトするために、より多くの調整が必要です。
リリース プロセスに最適な方法を選択します。 両方の方法を組み合わせることもできます。
イメージベースの更新
Azure Linux には、前月のパッケージ更新プログラムを含む新しいイメージ リリースが毎月出荷されます。 最新の状態に保つには、最新の Azure Linux イメージ リリースを使用してフリートを再デプロイしてください。
一般的なロールアウトは次のようになります。
- 最新のAzure Linux イメージが公開されたらプルします。
- ワークロードで使用する追加パッケージの最新バージョンを追加します。
- 新しいイメージをテストします。
- 安全なデプロイプラクティス (SDP) を使用してイメージをロールアウトします。
Virtual Machine Scale Sets の OS イメージの自動アップグレード
ワークロードが仮想マシン スケール セット (VMSS) で実行されている場合は、 オペレーティング システム (OS) イメージの自動アップグレード を選択して、手動操作なしで新しいイメージ バージョンをスケール セットにロールアウトできます。
パッケージ ベースの更新プログラム
パッケージ ベースの更新プログラムは、既に実行されている VM にパッケージの変更を適用します。 安全なデプロイ フレームワークに従うためにそれらを調整できますが、これを行うにはイメージ ベースの更新プログラムよりも調整が必要です。
dnf-automatic を使用する
Warning
dnf-automatic は、カーネルの更新後に VM を再起動しません。
段階的なロールアウトを行わないと、すべての VM に不適切なパッケージ更新プログラムを一度に適用でき、停止が発生します。 広範に有効にする前に、 dnf-automatic を独自のステージングと監視と組み合わせます。
dnf-automatic パッケージをイメージに追加して、in-VM パッケージの更新を自動化します。 パッケージをインストールした後、次のコマンドを使用して、 dnf5-automatic.timer systemd タイマーを有効にして起動します。
sudo dnf install dnf-automatic
sudo systemctl enable dnf5-automatic.timer
sudo systemctl start dnf5-automatic.timer
Azure VM ゲスト パッチ適用を利用する
管理された代替手段として、Azure VM ゲストパッチ適用を有効にします。これは、Azureによって管理される安全なデプロイ フレームワークに従ってパッケージの更新プログラムを適用します。