Azure Linux 仮想マシン (VM) を更新する

この記事では、次を使用して、Azure Linux 仮想マシン (VM) を更新し続ける方法について説明します。

  • Image ベースの更新プログラム: 新しいAzure Linux イメージから VM を再デプロイします。 このアプローチは、安全なデプロイ プラクティス (SDP) に自然に合わせて調整されます。
  • パッケージ ベースの更新プログラム: 実行中の VM にパッケージの更新プログラムを適用します。 この方法では、安全にロールアウトするために、より多くの調整が必要です。

リリース プロセスに最適な方法を選択します。 両方の方法を組み合わせることもできます。

イメージベースの更新

Azure Linux には、前月のパッケージ更新プログラムを含む新しいイメージ リリースが毎月出荷されます。 最新の状態に保つには、最新の Azure Linux イメージ リリースを使用してフリートを再デプロイしてください。

一般的なロールアウトは次のようになります。

  1. 最新のAzure Linux イメージが公開されたらプルします。
  2. ワークロードで使用する追加パッケージの最新バージョンを追加します。
  3. 新しいイメージをテストします。
  4. 安全なデプロイプラクティス (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によって管理される安全なデプロイ フレームワークに従ってパッケージの更新プログラムを適用します。