Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ Виртуальные машины Windows ✔️ Гибкие масштабируемые наборы
Образы можно использовать для начальной загрузки развертываний и обеспечения согласованности между несколькими виртуальными машинами. В этом руководстве вы создадите собственный специализированный образ виртуальной машины Azure с помощью PowerShell и сохраните его в коллекции вычислений Azure (прежнее название — общая коллекция образов). Вы узнаете, как:
- Создание галереи вычислительных ресурсов Azure
- Создание определения образа
- Создание версии образа
- Создание виртуальной машины из образа
- Поделиться галереей
Перед тем как начать
Ниже описано, как взять существующую виртуальную машину и превратить ее в повторно используемый кастомный образ, который можно использовать для создания новых виртуальных машин.
Для выполнения примера в этом руководстве требуется виртуальная машина. При необходимости вы увидите краткое руководство по PowerShell по созданию виртуальной машины, используемой для работы с этим руководством. При работе с учебником заменяйте имена ресурсов по мере необходимости.
Обзор
Галерея вычислений Azure упрощает совместное использование пользовательских образов в вашей организации. Пользовательские изображения похожи на изображения из Marketplace, но вы создаете их самостоятельно. Пользовательские образы можно использовать для начальной загрузки конфигураций, таких как предварительная загрузка приложений, конфигурации приложений и других конфигураций ОС.
Галерея вычислений Azure позволяет делиться пользовательскими образами виртуальных машин с другими пользователями. Выберите изображения, которые вы хотите поделиться, регионы, в которых они будут доступны, и с кем вы хотите ими поделиться.
Функция коллекции вычислений Azure имеет несколько типов ресурсов:
Ресурс | Описание |
---|---|
Источник образа | Это ресурс, который можно использовать для создания версии изображения в галерее. Источником образа может быть существующая виртуальная машина Azure (универсальная или специализированная), управляемый образ, моментальный снимок или версия образа в другой коллекции. |
Галерея | Как и Azure Marketplace, коллекция — это репозиторий для администрирования и совместного использования образов и приложений VM, но здесь, в отличие от Azure Marketplace, доступ к коллекции контролируете вы. |
Определение образа | Определения изображений создаются в галерее и содержат информацию об изображении и требования для его внутреннего использования. Эти сведения включают в себя: определение, относится ли этот образ к Windows или к Linux, заметки о выпуске, а также минимальные и максимальные требования к памяти. Это определение типа образа. |
Версия образа | Версия образа — это то, что вы используете для создания виртуальной машины при работе с галереей. В вашей среде можно использовать несколько версий образа в зависимости от потребностей. Так же как и управляемый образ при использовании версии образа для создания виртуальной машины, версия образа используется для создания новых дисков для виртуальной машины. Версии изображений можно использовать несколько раз. |
Запуск Azure Cloud Shell
Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Он содержит стандартные средства Azure, предварительно установленные и настроенные для использования с вашей учетной записью.
Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Cloud Shell можно также запустить в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу "ВВОД", чтобы выполнить его.
Получите виртуальную машину
Вы можете увидеть список виртуальных машин, доступных в группе ресурсов, с помощью Get-AzVM. После того как вы знаете имя виртуальной машины и какую группу ресурсов, вы можете снова использовать Get-AzVM
, чтобы получить объект виртуальной машины и сохранить его в переменной для последующего использования. Этот пример получает виртуальную машину с именем sourceVM из группы ресурсов myResourceGroup и назначает ее переменной $sourceVM.
$sourceVM = Get-AzVM `
-Name sourceVM `
-ResourceGroupName myResourceGroup
Создание группы ресурсов
Создайте группу ресурсов с помощью команды New-AzResourceGroup.
Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими. В следующем примере группа ресурсов с именем myGalleryRG создается в регионе EastUS :
$resourceGroup = New-AzResourceGroup `
-Name 'myGalleryRG' `
-Location 'EastUS'
Создать коллекцию
Галерея является основным ресурсом, который используется для обмена изображениями. Допустимые символы для названия галереи — прописные или строчные буквы, цифры и точки. Название галереи не должно содержать дефисы. Названия галерей должны быть уникальными в рамках вашей подписки.
Создайте коллекцию с помощью New-AzGallery. В следующем примере создается коллекция myGallery в группе ресурсов myGalleryRG.
$gallery = New-AzGallery `
-GalleryName 'myGallery' `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-Description 'Azure Compute Gallery for my organization'
Создание определения образа
Образы можно объединять в логические группы с помощью определений образов. Они используются для управления сведениями о версиях образов, созданных в них. В имени определения образа можно использовать прописные и строчные буквы, цифры, точки и дефисы. Дополнительные сведения о значениях, которые можно указать для определения образа, см. в разделе Определения образов.
Создайте определение образа с помощью командлета PowerShell New-AzGalleryImageDefinition. В этом примере изображение галереи называется myGalleryImage и создается для специализированного изображения.
$galleryImage = New-AzGalleryImageDefinition `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $gallery.Location `
-Name 'myImageDefinition' `
-OsState specialized `
-OsType Windows `
-Publisher 'myPublisher' `
-Offer 'myOffer' `
-Sku 'mySKU'
Создайте версию изображения
Создайте версию образа из виртуальной машины с помощью New-AzGalleryImageVersion.
Допустимыми знаками для имени версии образа являются цифры и точки. Числа должны быть в диапазоне 32-битного целого числа. Формат: Мажорная версия.Минорная версия.Патч.
В этом примере версия образа — 1.0.0 , и она реплицируется как в центрах обработки данных восточной части США , так и в южной части США . При выборе целевых регионов для репликации необходимо включить исходный регион в качестве целевого объекта для репликации.
Чтобы создать вариант образа из виртуальной машины, используйте $vm.Id.ToString()
для -Source
.
$region1 = @{Name='South Central US';ReplicaCount=1}
$region2 = @{Name='East US';ReplicaCount=2}
$targetRegions = @($region1,$region2)
New-AzGalleryImageVersion `
-GalleryImageDefinitionName $galleryImage.Name`
-GalleryImageVersionName '1.0.0' `
-GalleryName $gallery.Name `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-TargetRegion $targetRegions `
-Source $sourceVM.Id.ToString() `
-PublishingProfileEndOfLifeDate '2030-12-01'
Репликация образа во все целевые регионы может занять некоторое время.
Создание виртуальной машины
После создания специализированного образа можно создать одну или несколько новых виртуальных машин. Использование командлета New-AzVM . Чтобы использовать изображение, используйте Set-AzVMSourceImage
и задайте -Id
идентификатор определения изображения ($galleryImage.Id в данном случае), чтобы всегда использовать последнюю версию образа.
Замените имена ресурсов по мере необходимости в этом примере.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$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 $vmName -ResourceGroupName $resourceGroup -Location $location `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using $imageVersion.Id to specify the image version.
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $galleryImage.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig
Поделитесь галереей
Рекомендуется предоставить общий доступ на уровне коллекции. Используйте адрес электронной почты и командлет Get-AzADUser, чтобы получить идентификатор объекта для пользователя, а затем используйте командлет New-AzRoleAssignment, чтобы предоставить этому пользователю доступ к коллекции. Замените пример адреса электронной почты [email protected] на своей информацией.
# Get the object ID for the user
$user = Get-AzADUser -StartsWith [email protected]
# Grant access to the user for our gallery
New-AzRoleAssignment `
-ObjectId $user.Id `
-RoleDefinitionName Reader `
-ResourceName $gallery.Name `
-ResourceType Microsoft.Compute/galleries `
-ResourceGroupName $resourceGroup.ResourceGroupName
Очистка ресурсов
При отсутствии необходимости можно использовать командлет Remove-AzResourceGroup для удаления группы ресурсов и всех связанных ресурсов:
# Delete the gallery
Remove-AzResourceGroup -Name myGalleryRG
# Delete the VM
Remove-AzResourceGroup -Name myResoureceGroup
Конструктор образов Azure
Azure также предлагает службу на основе Packer — Конструктор образов виртуальных машин Azure. Просто опишите свои кастомизации в шаблоне, и он выполнит создание изображения.
Дальнейшие действия
В этом руководстве вы создали специализированный образ виртуальной машины. Вы узнали, как:
- Создание галереи вычислительных ресурсов Azure
- Создание определения образа
- Создайте версию изображения
- Создание виртуальной машины из образа
- Поделиться галереей
Перейдите к следующему руководству, чтобы узнать о наборах масштабируемых виртуальных машин.