Azure 仮想マシン スケール セットに対するアプリケーションの更新プログラムの構築、配布、デプロイ

2020年7月1日 に投稿済み

Program Manager, Microsoft Azure

業務のニーズが増大し、業務に不可欠なアプリケーションがクラウド規模でデプロイされると、それらのアプリケーションを管理する際の複雑さと管理上のオーバーヘッドが大幅に増加する可能性があります。この管理オーバーヘッドを削減できるように、Azure では、アプリケーションの更新プログラムを構築して分散型クラウド環境全体へ配布することが簡単になる新しい機能に対して継続的に投資が行われています。

カスタム イメージのイメージベースの自動アップグレードが一般提供になったことが最近発表されて、新しいバージョンの仮想マシン (VM) イメージを仮想マシン スケール セットに自動的にデプロイできるようになりました。イメージの自動アップグレードShared Image Gallery とネイティブに統合されているため、VM イメージのスケーラブルな配布がインフラストラクチャの調整された更新の容易さおよび安全性と組み合わさって、イメージの発行からワークロードのデプロイまでのエンドツーエンドのソリューションが提供されます。

このブログでは、統合された Azure サービスを使用して、アプリケーションの更新プログラムを含むカスタム イメージを構築して、それらのイメージを組織全体に配布し、新しいイメージを仮想マシン スケール セットに自動的にデプロイする方法について説明します。

カスタム イメージを使用してアプリケーションの更新プログラムを構築およびデプロイする。

アプリケーションの更新プログラムを含むイメージの構築

組織全体にアプリケーションとセキュリティの更新プログラムをデプロイすることは、まとまりのないシステム間における複数の段階のデプロイを含む複雑なプロセスになることがよくあります。標準化された VM イメージを使用すると、組織はデプロイ間で一貫性を保つことができます。これらのイメージには通常、あらかじめ定義されたセキュリティおよび構成の設定と、ソフトウェア ワークロードが含まれます。

標準化されたイメージの構築は、独自のイメージング パイプラインで行うこともできますし、Azure VM Image Builder サービスを使用することもできます。Azure VM Image Builder (プレビュー中) を使用すると、独自のイメージング パイプラインを設定する必要がなく、標準化されたイメージの構築をすぐに開始できます。イメージを記述したシンプルな構成を提供し、Image Builder サービスに送信するだけで、イメージが構築されて配布されます。

Azure VM Image Builder を使用すると、Windows または Linux ベースの Azure Marketplace イメージや既存のカスタム イメージから始めて、独自のカスタマイズを追加することができます。

イメージの配布

Shared Image Gallery では、一元化されたイメージ管理プラットフォームを使用して、複数のサブスクリプションとリージョンにわたってイメージを配布できます。Shared Image Gallery では、異なるイメージ定義とイメージ バージョンを指定することによってイメージを論理的なグループで整理でき、異なるアプリケーションのために新しいイメージの構築を繰り返すことができます。

Image Builder を使用して新しいイメージ バージョンを構築するときに、組織のニーズに基づいて複数の Azure リージョン間でイメージをレプリケートすることによって、これらのイメージをグローバルに配布することもできます。配布先リージョンを指定するだけで、Shared Image Gallery によってイメージ バージョンが選択されたリージョンにレプリケートされます。

仮想マシン イメージのグローバルなレプリケーション。

Shared Image Gallery を使用すると、サブスクリプションおよび Azure Active Directory (Azure AD) テナント間でイメージを共有できるため、組織全体でのイメージ管理を一元化できます。

イメージのデプロイ

プロセスの最後のステップは、新しく作成されたイメージを仮想マシン スケール セットにデプロイすることです。スケール セットにおける OS イメージの自動アップグレードが有効になっていると、イメージをデプロイするために追加の操作を行う必要はありません。OS イメージの自動アップグレードでは、イメージ ギャラリーが監視されて、新しいイメージ バージョンがデプロイされたときにスケール セットのアップグレードが自動的に開始されます。これにより、手動によるオーバーヘッドなしでイメージのデプロイをより短時間で行うことができます。

アップグレードは、VM の OS ディスクを、最新のイメージ バージョンを使用して作成された新しいディスクに置き換えることによって実行されます。データ ディスクは保持されたまま、すべての構成済みの拡張機能とカスタム データ スクリプトが OS ディスクで実行されます。アプリケーションのダウンタイムを最小限に抑えるために、アップグレードはバッチに分けて行われ、アップグレードされるのは常にスケール セットの 20% 以下です。更新オーケストレーターは、アップグレード中の VM の正常性と、スケール セットの正常性をアップグレード プロセス中に監視します。スケール セットの仮想マシンの 20% 超が異常な状態になると、スケール セットのアップグレードは現在のバッチが終了した時点で停止します。アップグレード プロセスでは、アップグレードの失敗の自動ロールバックもサポートされています。これにより、ロールアウトが段階的に行われて安全な方法で調整されるようになるので、イメージのカスタマイズによって生じるスケール セット全体の中断を防ぐことができます。

スケール セットでのアップグレードは、新しいイメージ バージョンがスケール セットのリージョンにレプリケートされた場合にのみ開始されます。時間を変えて別々のリージョンにイメージのレプリケーションをステージングすることによってグローバルなデプロイを調整し、グローバルなアプリケーションのアップタイムをさらに増加させることができます。

ご利用ください 

Azure portal で Shared Image Gallery にあるイメージ定義から始めて、[+ VMSS の作成] オプションを使用してイメージから新しいスケール セットを作成することができます。

Shared Image Gallery から仮想マシン スケール セットを作成する。

仮想マシン スケール セットの作成画面で、[管理] タブにある [OS の自動アップグレード][オン] オプションを選択するだけです。

仮想マシン スケール セットで OS の自動アップグレードを有効にする。

プロセスをさらにカスタマイズし、既存のイメージ ビルド パイプラインと Shared Image Gallery を統合することで、OS イメージの自動アップグレードの恩恵を受けることができます。

これまでに説明した強力な機能の詳細については、Azure のドキュメントをご覧ください。