VM を一般化されたイメージ バージョンから作成する

Azure Compute Gallery (旧称 Shared Image Gallery) に格納されている一般化されたイメージ バージョンから VM を作成します。 特殊化されたイメージから VM を作成する場合は、特殊化されたイメージからの 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

az vm create を使用して VM を作成します。 イメージの最新バージョンを使用するには、--image にイメージ定義の ID を指定します。

この例は、SSH でセキュリティ保護された Linux VM の作成用です。 Windows の場合、または Linux VM をパスワードで保護する場合は、--generate-ssh-keys を削除して、パスワードの入力を求めるメッセージを表示します。 パスワードを直接指定する場合は、--generate-ssh-keys--admin-password に置き換えます。 必要に応じて、この例のリソース名を置き換えてください。

imgDef="/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

--image パラメーターにイメージ バージョン ID を使用して、特定のバージョンを使用することも可能です。 たとえば、イメージ バージョン 1.0.0 を使用するには、次のように入力します: --image "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0"

RBAC - 組織内で共有

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

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

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

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

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

RBAC - 別のテナントからの共有

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

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

この例では、一般化されたイメージから VM を作成する方法を示しています。 特殊化されたイメージを使用している場合は、「特殊化されたイメージ バージョンを使用して VM を作成する」を参照してください。

イメージが格納されているテナントにサインインし、アクセス トークンを取得してから、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
az login --tenant $tenant1
az account get-access-token

VM を作成します。 例の情報を自身のものに置き換えます。 VM を作成する前に、VM を作成するリージョンにイメージがレプリケートされていることを確認してください。

imageid="<ID of the image that you want to use>"
resourcegroup="<name for the resource group>"
location="<location where the image is replicated>"
user='<username for the VM>'
name='<name for the VM>'

az group create --location $location --resource-group $resourcegroup
az vm create \
  --resource-group $resourcegroup \
  --name $name \
  --image $imageid \
  --admin-username $user \
  --generate-ssh-keys

重要

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

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

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

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

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

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

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

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

CLI を使用してコミュニティ イメージの一覧を取得するには、次の手順に従います。

Step 1:  Show all 'Community images' in a specific location
az sig list-community --location westus2

Step 2: Once you have the public gallery name from Step 1, Get the Image definition (Name) of the image by running the following command
az sig image-definition list-community --public-gallery-name <<public gallery name>> --location westus2

Step 3: Finally, run the following command to list different image versions available for the specific image
az sig image-version list-community --public-gallery-name <<galleryname>> --gallery-image-definition <<image name>> --location westus2

ポータルからコミュニティ ギャラリーのパブリック名を取得します。 [仮想マシン]>[作成]>[Azure 仮想マシン]>[イメージ]>[すべてのイメージを表示]>[コミュニティ イメージ]>[Public gallery name] (パブリック ギャラリー名) に移動します。

この例では、Linux イメージから VM を作成し、認証用の SSH キーを作成します。

imgDef="/CommunityGalleries/ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/myLinuxImage/Versions/latest"
vmResourceGroup=myResourceGroup
location=eastus
vmName=myVM
adminUsername=azureuser

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

コミュニティ イメージを使用する際は、法的条項への同意を求められます。 メッセージはこちらのようになります。

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

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

VM を作成するための --image の値として、出力の Id を使用しますが、最新バージョンを使用するために /Versions/latest を最後に追加します。 この例では、直接共有された Linux イメージから VM を作成し、認証用の SSH キーを作成します。

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

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

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --admin-username $adminUsername \
   --generate-ssh-keys

次のステップ