次の方法で共有


VM アプリケーションの作成とデプロイ

VM アプリケーションは、仮想マシンのアプリケーションの管理、共有、グローバル分散を簡略化する Azure Compute Gallery のリソースの種類です。 VM アプリケーションの詳細

前提条件

  1. アプリケーション リソースを格納および共有するための Azure コンピューティング ギャラリーを作成します。
  2. Azure ストレージ アカウントのコンテナーにアプリケーションをアップロードします。 アプリケーションはブロック BLOB またはページ BLOB に格納できます。 ページ BLOB を使用する場合は、ファイルをアップロードする前にバイトで揃える必要があります。 ファイルをバイトアラインするには、次のサンプルを使用します。
$inputFile = <the file you want to pad>

$fileInfo = Get-Item -Path $inputFile

$remainder = $fileInfo.Length % 512

if ($remainder -ne 0){

    $difference = 512 - $remainder

    $bytesToPad = [System.Byte[]]::CreateInstance([System.Byte], $difference)

    Add-Content -Path $inputFile -Value $bytesToPad -Encoding Byte
    }

ストレージ アカウントは、パブリック レベルのアクセス権を備えているか、読み取り特権を持つ SAS URI を使用する必要があります。他の制限レベルではデプロイが失敗するためです。 Azure Storage Explorer を使用すると、SAS URI をまだ作成していない場合は、迅速に作成できます。

PowerShell を使用している場合は、Az.Storage モジュールのバージョン 3.11.0 を使用している必要があります。

インストール メカニズムの詳細については、「コマンド インタープリター」を参照してください。

VM アプリケーションを作成する

  1. Azure portal に移動し、Azure Compute Gallery を検索して選択します。
  2. 一覧から使うギャラリーを選びます。
  3. ギャラリーのページで、ページの上部にある [追加] を選択し、ドロップダウンから [VM アプリケーション定義] を選択します。 [VM アプリケーション定義の作成] ページが開きます。
  4. [基本] タブで、アプリケーションの名前を入力し、Linux または Windows を実行している VM 用のアプリケーションであるかどうかを選択します。
  5. VM アプリケーション定義に次のオプション設定のいずれかを指定する場合は、[ 発行オプション ] タブを選択します。
    • VM アプリケーション定義の説明。
    • 有効期限の終了日
    • エンド ユーザー使用許諾契約書 (EULA) へのリンク
    • プライバシーに関する声明の URI
    • リリース ノートの URI
  6. 完了したら、 [確認および作成] を選択します。
  7. 確認が完了したら、 [作成] を選択して定義をデプロイします。
  8. デプロイが完了したら、[リソースに移動] を選択します。
  9. アプリケーションのページで、[VM アプリケーション バージョンの作成] を選択します。 [VM アプリケーション バージョンの作成] ページが開きます。
  10. 1.0.0 などのバージョン番号を入力します。
  11. アプリケーション パッケージがアップロードされるリージョンを選択します。
  12. [ソース アプリケーション パッケージ][参照] を選択します。 ストレージ アカウントを選択し、パッケージが格納されているコンテナーを選択します。 一覧からパッケージを選択し、完了したら [選択] を選択します。 または、必要に応じて、このフィールドに SAS URI を貼り付けることができます。
  13. "スクリプトのインストール" を指定します。 また、"アンインストール スクリプト" と "更新スクリプト" を指定することもできます。 スクリプトの作成方法については、概要を参照してください。
  14. 既定の構成ファイルがストレージ アカウントにアップロードされている場合は、[既定の構成] で選択できます。
  15. VM の作成時にこのバージョンを最新バージョンとして表示しない場合は、[最新バージョンから除外する] を選択します。
  16. [終了日] では、このバージョンを廃止する日付を追跡するために、将来の日付を選択します。 自動的に削除または除外されるのではなく、独自の追跡のみを行います。
  17. このバージョンを他のリージョンにレプリケートするには、[ レプリケーション ] タブを選択し、リージョンを追加して、リージョンあたりのレプリカ数を変更します。 バージョンが作成された元のリージョンは一覧に含む必要があり、削除することはできません。
  18. 変更が終了したら、ページの下部にある [確認と作成] を選択します。
  19. 検証に成功と表示された場合は、[作成] を選択して VM アプリケーションのバージョンをデプロイします。

VM アプリをデプロイする

これで、VM を作成して、ポータルを使用して VM アプリケーションをデプロイできるようになりました。 通常どおりに VM を作成し、 [詳細設定] タブで [Select a VM application to install](インストールする VM アプリケーションの選択) を選択します。

VM アプリケーションのインストールを選択で着い [詳細設定] タブのスクリーンショット。

一覧から VM アプリケーションを選択し、ページの下部にある [保存 ] を選択します。

VM にインストールする VM アプリケーションの選択を示すスクリーンショット。

複数の VM アプリケーションがインストールされている場合は、[詳細設定] タブで各 VM アプリケーションのインストール順序を設定し直すことができます。

VM アプリケーションを現在実行中の VM にデプロイすることもできます。 ポータルで VM の詳細を表示するときに、左側のメニューの [設定][拡張機能とアプリケーション] オプションを選択します。

[VM アプリケーション] を選択し、[アプリケーションの追加] を選択して VM アプリケーションを追加します。

現在実行中の VM にインストールする VM アプリケーションの選択を示すスクリーンショット。

一覧から VM アプリケーションを選択し、ページの下部にある [保存 ] を選択します。

VM にインストールする VM アプリケーションの選択を示すスクリーンショット。

デプロイされた VM アプリケーションを監視する

VM アプリケーションのステータスを表示するには、[拡張機能 + アプリケーション] タブ/設定に移動し、VMAppExtension のステータスを確認します。

VM アプリケーションの状態を示すスクリーンショット。

スケール セットの VM アプリケーションの状態を表示するには、Azure portal の [仮想マシン スケール セット] ページに移動し、[インスタンス] セクションで一覧表示されているスケール セットのいずれかを選択し、 VMAppExtension に移動します。

Virtual Machine Scale Sets のアプリケーションの状態を示すスクリーンショット。

VM アプリケーションを削除する

VM アプリケーション リソースを削除するには、まず、そのすべてのバージョンを削除する必要があります。 アプリケーションのバージョンを削除すると、Azure Compute Gallery とそのすべてのレプリカからアプリケーション バージョン リソースが削除されます。 アプリケーション バージョンの作成に使用されるストレージ アカウント内のアプリケーション BLOB は影響を受けません。 アプリケーションのバージョンを削除した後、そのバージョンを使用している VM がある場合、それらの VM での再イメージ化操作は失敗します。 このエラーに対処するためにバージョン番号をハード コーディングするのではなく、'applicationProfile' のバージョン番号として 'latest' キーワードを使用します。
ただし、アプリケーションが削除された場合、Azure でインストールできるバージョンがないため、再イメージ化操作中に VM は失敗します。 VM アプリケーションを使用しないように VM プロファイルを更新する必要があります。

VM アプリケーションのバージョンを削除します。

Remove-AzGalleryApplicationVersion -ResourceGroupName $rgNmae -GalleryName $galleryName -GalleryApplicationName $galleryApplicationName -Name $name

すべてのバージョンが削除された後、VM アプリケーションを削除します。

Remove-AzGalleryApplication -ResourceGroupName $rgNmae -GalleryName $galleryName -Name $name