Mencantumkan definisi citra di galeri menggunakan az sig image-definition list untuk melihat nama dan ID definisi.
resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list --resource-group $resourceGroup --gallery-name $gallery --query "[].[name, id]" --output tsv
Buat komputer virtual menggunakan az vm create. Untuk menggunakan versi terbaru citra, set --image
ke ID definisi citra.
Contoh ini untuk membuat VM Linux yang diamankan dengan SSH. Untuk Windows atau untuk mengamankan VM Linux dengan kata sandi, hapus --generate-ssh-keys
untuk dimintai kata sandi. Jika Anda ingin memberikan kata sandi secara langsung, ganti --generate-ssh-keys
dengan --admin-password
. Ganti nama sumber daya sesuai kebutuhan dalam contoh ini.
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
Anda juga dapat menggunakan versi tertentu dengan menggunakan ID versi citra untuk parameter --image
. Misalnya, untuk menggunakan versi citra 1.0.0 ketik: --image "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0"
.
Setelah Anda memiliki versi citra umum, Anda dapat membuat satu atau beberapa VM baru. Menggunakan cmdlet New-AzVM.
Dalam contoh ini, kita menggunakan ID definisi citra untuk memastikan VM baru Anda akan menggunakan versi citra terbaru. Anda juga dapat menggunakan versi tertentu dengan menggunakan ID versi citra untuk Set-AzVMSourceImage -Id
. Misalnya, untuk menggunakan versi citra 1.0.0 ketik: Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0"
.
Ketahuilah bahwa menggunakan versi citra tertentu berarti otomatisasi dapat gagal, jika versi citra tertentu tersebut tidak tersedia karena dihapus atau dibuang dari wilayah tersebut. Kami rekomendasikan untuk menggunakan ID definisi citra untuk membuat VM baru Anda, kecuali versi citra tertentu diperlukan.
Ganti nama sumber daya sesuai kebutuhan dalam contoh ini.
Set parameter yang disederhanakan
Anda dapat menggunakan kumpulan parameter yang disederhanakan untuk membuat VM dengan cepat dari citra. Kumpulan parameter yang disederhanakan menggunakan nama VM untuk secara otomatis membuat beberapa sumber daya yang diperlukan, seperti vNet dan alamat IP publik, untuk Anda.
# Create some variables for the new VM
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVMfromImage"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create user object
$cred = Get-Credential `
-Message "Enter a username and password for the virtual machine."
# Create a resource group
New-AzResourceGroup `
-Name $resourceGroup `
-Location $location
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name $vmName `
-Image $imageDefinition.Id
-Credential $cred
Set parameter lengkap
Anda dapat membuat VM menggunakan sumber daya tertentu dengan kumpulan parameter lengkap.
# Create some variables for the new VM
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVMfromImage"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create user object
$cred = Get-Credential `
-Message "Enter a username and password for the virtual machine."
# Create a resource group
New-AzResourceGroup `
-Name $resourceGroup `
-Location $location
# Network pieces
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 `
-Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name myNic `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using $imageDefinition.Id to use the latest image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Buat Microsoft Azure Virtual Network.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vNetName}?api-version=2020-05-01
{
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
}
},
"location": "eastus"
}
Buat subnet.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vNetName}/subnets/{subnetName}?api-version=2020-05-01
{
"properties": {
"addressPrefix": "10.0.0.0/16"
},
}
Buat Alamat IP publik.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{pIPName}?api-version=2020-11-01
{
"location": "eastus"
}
Buat kelompok keamanan jaringan.
# @name vmNSG
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}?api-version=2020-11-01
{
"properties": {
"securityRules": [
{
"name": "AllowSSH",
"properties": {
"protocol": "Tcp",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "*",
"access": "Deny",
"destinationPortRange": "3389",
"sourcePortRange": "*",
"priority": 1000,
"direction": "Inbound"
}
}
]
},
"location": "eastus"
}
Buat NIC.
# @name vmNIC
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{nicName}?api-version=2020-05-01
{
"properties": {
"enableAcceleratedNetworking": true,
"networkSecurityGroup": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
},
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vNetName}/subnets/{subNetName}",
},
"publicIPAddress": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{pipName}"
}
}
}
]
},
"location": "eastus",
}
Buat VM Linux. Bagian oSProfile
berisi beberapa detail khusus OS. Lihat contoh kode berikutnya untuk sintaks Windows.
# @name vm
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2020-06-01
{
"location": "eastus",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_DS3_v2"
},
"storageProfile": {
"imageReference": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{versionNumber}"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"createOption": "FromImage"
}
},
"osProfile": {
"adminUsername": "{your-username}",
"computerName": "myVM",
"linuxConfiguration": {
"ssh": {
"publicKeys": [
{
"path": "/home/{your-username}/.ssh/authorized_keys",
"keyData": "{sshKey}",
}
]
},
"disablePasswordAuthentication": true
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{nicName}",
}
]
}
},
}
Buat VM Windows.
# @name vm
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2020-06-01
{
"location": "eastus",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_DS3_v2"
},
"storageProfile": {
"imageReference": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{versionNumber}"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"createOption": "FromImage"
}
},
"osProfile": {
"adminUsername": "{your-username}",
"computerName": "myVM",
"adminPassword": "{your-password}"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{nicName}",
}
]
}
},
Sekarang Anda dapat membuat satu atau beberapa VM baru. Contoh ini membuat VM bernama myVM, di myResourceGroup, pada pusat data US Timur.
- Buka definisi gambar Anda. Anda dapat menggunakan filter sumber daya untuk menampilkan semua definisi citra yang tersedia.
- Pada halaman untuk definisi citra Anda, pilih Buat VM dari menu di bagian atas halaman.
- Untuk Grup sumber daya, pilih Buat baru lalu ketik myResourceGroup untuk nama tersebut.
- Pada Nama komputer virtual, ketik myVM.
- Untuk Wilayah, pilih US Timur.
- Untuk Opsi ketersediaan, biarkan default Tidak diperlukan redundansi infrastruktur.
- Nilai untuk Citra secara otomatis diisi dengan versi citra
latest
jika Anda mulai dari halaman untuk definisi citra.
- Untuk Ukuran, pilih ukuran VM dari daftar ukuran yang tersedia lalu pilih Pilih.
- Di bawah Akun administrator, Anda harus menyediakan nama pengguna, seperti azureuser dan kata sandi atau kunci SSH. Panjang kata sandi harus minimal 12 karakter dan memenuhi persyaratan kompleksitas yang ditentukan.
- Jika Anda ingin mengizinkan akses jarak jauh ke VM, pada Port masuk publik, pilih Izinkan port yang dipilih lalu pilih SSH (22) atau RDP (3389) dari tarik-turun. Jika Anda tidak ingin mengizinkan akses jarak jauh ke VM, biarkan Tidak ada terpilih untuk Port masuk publik.
- Setelah selesai, pilih tombol Tinjau + buat di bagian bawah laman.
- Setelah VM lolos validasi, pilih Buat di bagian bawah halaman untuk memulai penyebaran.
Jika langganan tempat galeri berada dalam penyewa yang sama, gambar yang dibagikan melalui RBAC dapat digunakan untuk membuat VM menggunakan CLI dan PowerShell.
Jika gambar yang ingin Anda gunakan disimpan di galeri yang tidak berada di penyewa (direktori) yang sama, Anda perlu masuk ke setiap penyewa untuk memverifikasi bahwa Anda memiliki akses.
Dalam contoh ini, kami menunjukkan cara membuat VM dari gambar umum. Jika Anda menggunakan gambar khusus, lihat Membuat VM menggunakan versi gambar khusus.
Anda perlu masuk ke penyewa tempat gambar disimpan, mendapatkan token akses, lalu masuk ke penyewa tempat Anda ingin membuat VM. Dalam hal ini, tenant1 adalah tempat gambar disimpan, dan penyewa2 adalah tempat Anda ingin membuat VM. Ini adalah cara Azure mengautentikasi bahwa Anda memiliki akses ke gambar.
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
Buat komputer virtual. Ganti informasi dalam contoh dengan informasi Anda sendiri. Sebelum Anda membuat VM, pastikan gambar direplikasi ke wilayah tempat Anda ingin membuat 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
Dalam contoh ini, kami menunjukkan cara membuat VM dari gambar umum. Jika Anda menggunakan gambar khusus, lihat Membuat VM menggunakan versi gambar khusus.
Anda perlu masuk ke penyewa tempat gambar disimpan, mendapatkan token akses, lalu masuk ke penyewa tempat Anda ingin membuat VM. Dalam hal ini, tenant1 adalah tempat gambar disimpan, dan penyewa2 adalah tempat Anda ingin membuat VM. Ini adalah cara Azure mengautentikasi bahwa Anda memiliki akses ke gambar.
$tenant1 = "<Tenant 1 ID>"
$tenant2 = "<Tenant 2 ID>"
Connect-AzAccount -Tenant "<Tenant 1 ID>" -UseDeviceAuthentication
Connect-AzAccount -Tenant "<Tenant 2 ID>" -UseDeviceAuthentication
Buat komputer virtual. Ganti informasi dalam contoh dengan informasi Anda sendiri. Sebelum Anda membuat VM, pastikan gambar direplikasi ke wilayah tempat Anda ingin membuat VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVMfromImage"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Networking pieces
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
-Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
$pip = New-AzPublicIpAddress -ResourceGroupName $resourceGroup -Location $location `
-Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Allow
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
-Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface -Name myNic -ResourceGroupName $resourceGroup -Location $location `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using the $image variable to specify the image
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1_v2 | `
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig
Menggunakan citra komputer virtual yang dikirimkan komunitas memiliki beberapa risiko. Gambar dapat berisi malware, kerentanan keamanan, atau melanggar kekayaan intelektual seseorang. Untuk membantu menciptakan pengalaman yang aman dan andal bagi komunitas, Anda dapat melaporkan gambar saat melihat masalah ini.
Cara term mudah untuk melaporkan masalah dengan galeri komunitas adalah dengan menggunakan portal, yang akan mengisi informasi sebelumnya untuk laporan:
Anda juga dapat menggunakan tautan berikut untuk melaporkan masalah, tetapi formulir tidak akan diisi sebelumnya:
Untuk membuat VM menggunakan gambar yang dibagikan ke galeri komunitas, gunakan ID unik gambar untuk --image
yang akan dalam format berikut:
/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest
Ikuti instruksi berikut untuk mendapatkan daftar gambar Komunitas menggunakan 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
Untuk mendapatkan nama publik galeri komunitas dari portal. Buka Mesin virtual>Buat>Mesin virtual Azure>Citra>Lihat semua citra>Citra Komunitas>Nama galeri publik.
Dalam contoh ini, kami membuat VM dari gambar Linux dan membuat kunci SSH untuk autentikasi.
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
Saat menggunakan gambar komunitas, Anda akan diminta untuk menerima persyaratan hukum. Pesan terlihat seperti ini:
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):
Dapatkan ID versi citra. Nilai akan digunakan dalam permintaan penyebaran VM.
GET
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/Locations/{location}/CommunityGalleries/{CommunityGalleryPublicName}/Images/{galleryImageName}/Versions/{1.0.0}?api-version=2021-07-01
Respons:
"location": "West US",
"identifier": {
"uniqueId": "/CommunityGalleries/{PublicGalleryName}/Images/{imageName}/Versions/{verionsName}"
},
"name": "1.0.0"
Anda kini dapat menyebarkan VM. Contoh ini memerlukan API versi 2021-07-01 atau yang lebih baru.
PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{VMName}?api-version=2021-03-01
{
"location": "{location}",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_D1_v2"
},
"storageProfile": {
"imageReference": {
"communityGalleryImageId":"/communityGalleries/{publicGalleryName}/images/{galleryImageName}/versions/1.0.0"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"name": "myVMosdisk",
"createOption": "FromImage"
}
},
"osProfile": {
"adminUsername": "azureuser",
"computerName": "myVM",
"adminPassword": "{password}}"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/{rg}/providers/Microsoft.Network/networkInterfaces/{networkIntefaceName}",
"properties": {
"primary": true
}
}
]
}
}
}
- Ketik gambar Komunitas dalam pencarian.
- Di bawah Layanan, pilih Gambar komunitas.
- Pilih gambar dari daftar gambar yang tersedia. Anda dapat menggunakan filter untuk mempersempit daftar sesuai kebutuhan.
- Pada halaman untuk gambar, pilih Buat VM. Halaman Buat komputer virtual terbuka dengan nilai Gambar yang telah dipilih sebelumnya.
- Di tab Dasar, di bagian Detail proyek, pastikan langganan yang benar sudah dipilih, lalu pilih grup sumber daya Buat baru atau pilih dari drop-down.
- Pada Detail instans, ketikkan nama untuk Nama mesin virtual.
- Selesaikan opsi lainnya, lalu pilih tombol Tinjau + buat di bagian bawah halaman.
- Pada halaman Membuat mesin virtual, Anda dapat melihat detail tentang VM yang akan Anda buat. Setelah Anda siap, pilih Kirim.
Penting
Azure Compute Gallery – galeri berbagi langsung saat ini dalam PREVIEW dan digunakan pada Ketentuan Pratinjau untuk Azure Compute Gallery.
Untuk menerbitkan gambar ke galeri bersama langsung selama pratinjau, Anda harus mendaftar di https://aka.ms/directsharedgallery-preview. Membuat mesin virtual dari galeri bersama langsung terbuka untuk semua pengguna Azure.
Selama pratinjau, Anda perlu membuat galeri baru, dengan properti sharingProfile.permissions
diatur ke Groups
. Saat menggunakan CLI untuk membuat galeri, gunakan parameter --permissions groups
. Anda tidak dapat menggunakan galeri yang ada, properti saat ini tidak dapat diperbarui.
Untuk membuat mesin virtual menggunakan versi terbaru dari gambar yang dibagikan ke langganan atau penyewa, Anda memerlukan ID gambar dalam format berikut:
/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest
Untuk menemukan uniqueID
galeri yang dibagikan dengan Anda, gunakan az sig list-shared. Dalam contoh ini, kita mencari galeri di wilayah AS Barat.
region=westus
az sig list-shared --location $region --query "[].name" -o tsv
Gunakan nama galeri untuk menemukan semua gambar yang tersedia. Dalam contoh ini, kita mencantumkan semua gambar di US Barat dan berdasarkan nama, ID unik yang diperlukan untuk membuat status VM, OS, dan OS.
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
Pastikan status gambar adalah Generalized
. Jika Anda ingin menggunakan gambar dengan status Specialized
, lihat Membuat mesin virtual dari versi gambar umum.
Id
Gunakan dari output, ditambahkan dengan /Versions/latest
untuk menggunakan versi terbaru, sebagai nilai untuk --image
membuat VM. Dalam contoh ini, kami membuat VM dari gambar Linux yang langsung dibagikan kepada kami, dan membuat kunci SSH untuk autentikasi.
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
Dapatkan ID versi citra. Nilai akan digunakan dalam permintaan penyebaran VM.
GET
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/Locations/{location}/sharedGalleries/{galleryUniqueName}/Images/{galleryImageName}/Versions/{1.0.0}?api-version=2021-07-01
Respons:
"location": "West US",
"identifier": {
"uniqueId": "/sharedGalleries/{PublicGalleryName}/Images/{imageName}/Versions/{verionsName}"
},
"name": "1.0.0"
Anda kini dapat menyebarkan VM. Contoh ini memerlukan API versi 2021-07-01 atau yang lebih baru.
PUT
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{rg}/providers/Microsoft.Compute/virtualMachines/{VMName}?api-version=2021-03-01
{
"location": "{location}",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_D1_v2"
},
"storageProfile": {
"imageReference": {
"sharedGalleryImageId":"/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions/1.0.0"
},
"osDisk": {
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Standard_LRS"
},
"name": "myVMosdisk",
"createOption": "FromImage"
}
},
"osProfile": {
"adminUsername": "azureuser",
"computerName": "myVM",
"adminPassword": "{password}}"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/00000000-0000-0000-0000-
000000000000/resourceGroups/{rg}/providers/Microsoft.Network/networkInterfaces/{networkIntefaceName}",
"properties": {
"primary": true
}
}
]
}
}
}
Catatan
Masalah umum: Di portal Azure, jika Anda memilih wilayah, pilih gambar, lalu ubah wilayah, Anda akan mendapatkan pesan kesalahan: "Anda hanya dapat membuat VM di wilayah replikasi gambar ini" bahkan ketika gambar direplikasi ke wilayah tersebut. Untuk menghilangkan kesalahan tersebut, pilih wilayah lain, kemudian beralih kembali ke wilayah yang diinginkan. Apabila citra tersedia, pesan kesalahan akan dihapus.
Anda juga dapat menggunakan Azure CLI untuk memeriksa gambar apa yang dibagikan dengan Anda. Misalnya, Anda dapat menggunakan az sig list-shared --location westus
untuk melihat gambar apa yang dibagikan dengan Anda di wilayah US Barat.
- Ketikkan komputer virtual di kotak pencarian.
- Pada Layanan, pilih Mesin virtual.
- Pada halaman Mesin virtual, pilih Buat, kemudian Mesin virtual. Halaman Buat komputer virtual terbuka.
- Di tab Dasar, di bagian Detail proyek, pastikan langganan yang benar sudah dipilih, lalu pilih grup sumber daya Buat baru atau pilih dari drop-down.
- Pada Detail instans, ketikkan nama untuk Nama mesin virtual.
- Untuk Jenis keamanan, pastikan Standar dipilih.
- Untuk Citra Anda, pilih Lihat semua citra. Halaman Pilih gambar terbuka.
- Di menu sebelah kiri, di bawah Item Lain, pilih Gambar yang Dibagikan Langsung (PRATINJAU). Item Lainnya | Halaman Gambar Bersama Langsung (PRATINJAU) terbuka.
- Cakupan di bagian ini diatur ke 'Langganan' secara default, ubah cakupan menjadi 'Penyewa' jika Anda tidak melihat gambar dan klik di luar kotak untuk melihat daftar gambar yang dibagikan ke seluruh Penyewa.
- Pilih citra dari daftar. Pastikan Status OS Digeneralisasi. Jika Anda ingin menggunakan citra khusus, lihat Membuat VM menggunakan versi citra khusus. Tergantung pada gambar yang Anda pilih, Wilayah tempat VM akan dibuat akan berubah agar sesuai dengan gambar.
- Selesaikan opsi lainnya, lalu pilih tombol Tinjau + buat di bagian bawah halaman.
- Pada halaman Membuat mesin virtual, Anda dapat melihat detail tentang VM yang akan Anda buat. Setelah Anda siap, pilih Kirim.