特殊化されたイメージ バージョンを使用して VM を作成する

適用対象: ✔️ Linux VM ✔️ Windows VM

Azure Compute Gallery (旧称 Shared Image Gallery) に格納されている特殊化されたイメージ バージョンから VM を作成します。 一般化されたイメージ バージョンを使用して VM を作成する場合は、一般化されたイメージ バージョンからの VM の作成に関する記事をご覧ください。

この記事では、特殊化されたイメージから VM を作成する方法について説明します。

重要

特殊化されたイメージから新しい VM を作成すると、新しい VM は、元の VM のコンピューター名を保持します。 CMID などの他のコンピューター固有の情報も保持されます。 この重複する情報が原因で問題が発生する可能性があります。 VM をコピーするときは、アプリケーションが依存するコンピューター固有の情報の種類を把握しておいてください。

内部ギャラリーから VM を作成します。

az sig image-definition list を使用してギャラリー内のイメージ定義を一覧表示すると、定義の名前と ID を確認できます。

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
   --resource-group $resourceGroup \
   --gallery-name $gallery \
   --query "[].[name, id]" \
   --output tsv

イメージが特殊化されたイメージであることを示す --specialized パラメーターを使用した az vm create を使用して、VM を作成します。

--image にイメージ定義 ID を指定して、使用可能なイメージの最新バージョンから VM を作成します。 また、--image にイメージ バージョン ID を指定して、特定のバージョンから VM を作成することもできます。

この例では、myImageDefinition イメージの最新バージョンから VM を作成しています。

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

RBAC - 組織内

ギャラリーが存在するサブスクリプションが同じテナント内にある場合は、RBAC を通して共有されているイメージは、CLI と PowerShell を使用して VM を作成するために利用できます。

使用するイメージの imageID が必要であり、VM を作成するリージョンにイメージがレプリケートされていることを確認します。


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

RBAC - 別のテナントまたは組織から

使用するイメージが、同じテナント (ディレクトリ) にないギャラリーに格納されている場合は、アクセスできることを確認するために、各テナントにサインインする必要があります。

使用するイメージの imageID が必要であり、VM を作成するリージョンにイメージがレプリケートされていることを確認します。 また、ソース ギャラリーの tenantID と、VM を作成する場所の tenantID も必要です。

イメージが格納されているテナントにサインインし、アクセス トークンを取得してから、VM を作成するテナントにサインインする必要があります。 これは、ユーザーがイメージにアクセスできることを Azure が認証する方法です。

tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token

イメージが特殊化されたイメージであることを示す --specialized パラメーターを使用した az vm create を使用して、VM を作成します。


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

重要

コミュニティ ギャラリー内のイメージに関して、Microsoft ではサポートを提供いたしません。

コミュニティ イメージに関する問題を報告する

コミュニティに投稿された仮想マシン イメージを使用することには、いくつかのリスクがあります。 イメージは、マルウェアやセキュリティの脆弱性が含まれている、または誰かの知的財産を侵害している場合があります。 コミュニティのために安全で信頼性の高いエクスペリエンスをつくり出せるように、これらの問題が発生した場合にイメージを報告できます。

コミュニティ ギャラリーで問題を報告する最も簡単な方法は、レポートの情報が事前に入力されるポータルを使用することです:

  • 画像定義のフィールド内のリンクやその他の情報に関する問題については、コミュニティ イメージのレポート を選択します。
  • イメージバージョンに悪意のあるコードが含まれている場合、または特定のバージョンの画像に関するその他の問題がある場合は、イメージバージョンのテーブルの レポートのバージョン 列の下にある レポート を選択します。

次のリンクを使用して問題を報告することもできますが、フォームには事前入力されません:

コミュニティ ギャラリーに共有されているイメージを使用して VM を作成するには、--image に指定するイメージに、次の形式の一意の ID を使用します。

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

エンド ユーザーとして、コミュニティ ギャラリーのパブリック名を取得するには、ポータルを使用する必要があります。 [仮想マシン]>[作成]>[Azure 仮想マシン]>[イメージ]>[すべてのイメージを表示]>[コミュニティ イメージ]>[Public gallery name] (パブリック ギャラリー名) に移動します。

az sig image-definition list-community を使用して、コミュニティ ギャラリーで使用可能なすべてのイメージ定義を一覧表示します。 この例では、"米国西部" の ContosoImage ギャラリー内のすべてのイメージと、VM、OS、OS の状態を作成するために必要な一意の ID を一覧表示します。

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

コミュニティ ギャラリーで一般化されたイメージから VM を作成するには、一般化されたイメージ バージョンからの VM の作成に関する記事をご覧ください。

イメージが特殊化されたイメージであることを示す --specialized パラメーターを使用した az vm create を使用して、VM を作成します。

この例では、myImageDefinition イメージの最新バージョンから VM を作成しています。

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

コミュニティ イメージを使用する際は、法的条項への同意を求められます。 ここに示したのは、そのメッセージの例です。

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

重要

Azure Compute Gallery – 直接共有ギャラリーは現在プレビュー段階であり、Azure Compute Gallery のプレビューの使用条件の対象となります。

プレビュー中にイメージを直接共有ギャラリーに公開するには、https://aka.ms/directsharedgallery-preview で登録する必要があります。 直接共有ギャラリーからの VM の作成は、すべての Azure ユーザーに開放されています。

プレビュー中は、プロパティ sharingProfile.permissionsGroups に設定して、新しいギャラリーを作成する必要があります。 CLI を使用してギャラリーを作成するときは、--permissions groups パラメーターを使用します。 既存のギャラリーを使用することはできません。プロパティは現在更新できません。

サブスクリプションまたはテナントに共有されている最新バージョンのイメージを使用して VM を作成するには、次の形式のイメージの ID が必要です。

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

共有されているギャラリーの uniqueID を検索するには、az sig list-shared を使用します。 この例では、米国西部リージョンのギャラリーを見ています。

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

ギャラリー名を使用して、使用可能なすべてのイメージを見つけます。 この例では、米国西部のすべてのイメージと、VM、OS、OS の状態を作成するために必要な一意の ID を一覧表示します。

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

イメージの状態が、Specialized となっていることを確認します。 Generalized 状態のイメージを使用する場合は、「一般化されたイメージ バージョンからの VM の作成」をご覧ください。

イメージが特殊化されたイメージであることを示す --specialized パラメーターを使用した az vm create を使用して、VM を作成します。

VM を作成するための '--image' の値として、最新バージョンを使用するために /Versions/latest が付加された Id を使用します。

この例では、myImageDefinition イメージの最新バージョンから VM を作成しています。

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

次のステップ