Упражнение. Интерактивное создание ресурса Azure с помощью Azure PowerShell

Завершено

В исходном сценарии необходимо создать виртуальные машины (виртуальные машины) для тестирования программного обеспечения управления отношениями клиентов (CRM). Когда новая сборка доступна, необходимо развернуть новую виртуальную машину для тестирования всего процесса установки из чистого образа. После завершения тестирования можно удалить виртуальную машину.

Давайте попробуем создать виртуальную машину.

Замечание

Это упражнение является необязательным. Если вы хотите выполнить это упражнение, перед началом работы необходимо создать подписку Azure. Если у вас нет учетной записи Azure или вы не хотите создавать ее в данный момент, вы можете ознакомиться с инструкциями, чтобы понять информацию, представленную.

Замечание

Чтобы выполнить действия, описанные в этом упражнении, необходимо использовать группу ресурсов. Вы можете использовать уже созданную группу ресурсов или создать новую группу ресурсов специально для этого упражнения. Если вы решили создать новую группу ресурсов, это позволит упростить очистку всех ресурсов, создаваемых при выполнении упражнения. Если у вас нет существующей группы ресурсов или вы хотите создать новую специально для этого упражнения, выполните действия, описанные в статье "Использование портала Azure и Azure Resource Manager для управления группами ресурсов для создания группы ресурсов с помощью портала Azure", или выполните действия, описанные в статье "Управление группами ресурсов Azure" с помощью Azure CLI для создания группы ресурсов с помощью Azure CLI .

Создание виртуальной машины Linux с помощью Azure PowerShell

Вот как создать новую виртуальную машину Azure с помощью Azure PowerShell:

  1. Используйте командлет для создания виртуальной New-AzVM машины.

    • Укажите группу ресурсов для виртуальной машины.
    • Назовите виртуальную машину, следуя стандартам именования вашей организации.
    • Выберите расположение, близкое к вам из списка доступных регионов Azure.
    • Используйте образ Ubuntu Linux: Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest
    • Get-Credential Используйте командлет, чтобы задать учетные данные администратора виртуальной машины.
    • Добавьте параметр OpenPorts с портом 22 для доступа к SSH.
    • Создайте имя общедоступного IP-адреса для входа в SSH.
    $azVmParams = @{
        ResourceGroupName   = 'myResourceGroupName'
        Name                = 'testvm-eus-01'
        Credential          = (Get-Credential)
        Location            = 'eastus'
        Image               = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
        OpenPorts           = 22
        PublicIpAddressName = 'testvm-eus-01'
    }
    New-AzVm @azVmParams
    

    Замените myResourceGroupName в предыдущем примере именем существующей группы ресурсов или именем группы ресурсов, созданной для этого упражнения.

    Совет

    С помощью кнопки "Копировать " можно скопировать команды в буфер обмена. Чтобы вставить, щелкните правой кнопкой мыши новую строку в терминале Cloud Shell и выберите " Вставить" или используйте сочетание клавиш SHIFT+Insert ("+V в macOS").

  2. Введите учетные данные:

    При появлении запроса введите имя пользователя и пароль, следуя рекомендациям: пароли должны иметь длину 12–123 символов и соответствовать трем из следующих четырех требований сложности: строчные символы, прописные символы, цифры и специальные символы (regex match [\W_]). Дополнительные сведения см. в разделе часто задаваемые вопросы о виртуальной машине Linux.

  3. Дождитесь создания виртуальной машины:

    Процесс создания виртуальной машины занимает несколько минут.

  4. Запросите виртуальную машину:

    По завершении выполните запрос виртуальной машины и назначьте объект виртуальной машины переменной ($vm).

    $vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName myResourceGroupName
    
  5. Просмотр сведений о виртуальной машине:

    Чтобы просмотреть сведения о виртуальной машине, отобразите содержимое переменной.

    $vm
    

    Пример результата:

    ResourceGroupName : myResourceGroupName
    Id                : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/testvm-eus-01
    VmId              : 00000000-0000-0000-0000-000000000000
    Name              : testvm-eus-01
    Type              : Microsoft.Compute/virtualMachines
    Location          : eastus
    Tags              : {}
    HardwareProfile   : {VmSize}
    NetworkProfile    : {NetworkInterfaces}
    OSProfile         : {ComputerName, AdminUsername, LinuxConfiguration, Secrets}
    ProvisioningState : Succeeded
    StorageProfile    : {ImageReference, OsDisk, DataDisks}
    ...
    
  6. Проверка свойств виртуальной машины:

    Сложные объекты можно проверить с помощью оператора доступа к членам (.). Например, чтобы просмотреть свойства объекта, связанного VMSize с разделом HardwareProfile , выполните следующую команду:

    $vm.HardwareProfile
    

    Или, чтобы получить сведения для одного из дисков, выполните следующую команду:

    $vm.StorageProfile.OsDisk
    
  7. Получение доступных размеров виртуальных машин:

    Передайте объект виртуальной машины другим командлетам, чтобы получить доступные размеры:

    $vm | Get-AzVMSize
    
  8. Получите общедоступный IP-адрес:

    Получите общедоступный IP-адрес для подключения к виртуальной машине и сохраните его в переменной.

    $ip = Get-AzPublicIpAddress -ResourceGroupName myResourceGroupName -Name testvm-eus-01
    
  9. Подключитесь к виртуальной машине:

    Подключитесь к виртуальной машине с помощью SSH с помощью IP-адреса из переменной. Например, если имя пользователя имеется bob, используйте следующую команду:

    ssh bob@$($ip.IpAddress)
    

    Выйдите, введя выход.

Удаление виртуальной машины

Чтобы попробовать дополнительные команды, давайте удалим виртуальную машину. Выполните следующие действия:

  1. Завершение работы виртуальной машины:

    Выполните следующую команду:

    Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  2. Удалите виртуальную машину:

    После остановки виртуальной Remove-AzVM машины удалите ее, выполнив командлет.

    Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  3. Список всех ресурсов в группе ресурсов:

    Get-AzResource Используйте командлет для перечисления всех ресурсов в группе ресурсов. Результаты передаются для Select-Object возврата определенных свойств:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

    Вы увидите несколько ресурсов, включая диски, виртуальные сети и т. д., которые по-прежнему существуют:

    Name                    ResourceType                            ResourceGroupName
    ----                    ------------                            -----------------
    cloudshell              Microsoft.Storage/storageAccounts       myResourceGroupName
    testvm-eus-01           Microsoft.Network/virtualNetworks       myResourceGroupName
    testvm-eus-01           Microsoft.Network/publicIPAddresses     myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkSecurityGroups myResourceGroupName
    testvm-eus-01           Microsoft.Network/networkInterfaces     myResourceGroupName
    testvm-eus-01_OsDisk_1  Microsoft.Compute/disks                 myResourceGroupName
    

    Команда Remove-AzVM удаляет только виртуальную машину. Она не удаляет какие-либо другие ресурсы. Чтобы вручную очистить их, выполните следующие действия.

  4. Удалим сетевой интерфейс.

    Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name |
        Remove-AzNetworkInterface
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  5. Удалим группу безопасности сети.

    Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzNetworkSecurityGroup
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  6. Удалите общедоступный IP-адрес:

    Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzPublicIpAddress
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  7. Удаление виртуальной сети:

    Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName |
        Remove-AzVirtualNetwork
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  8. Удалите управляемые диски ОС:

    Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name |
        Remove-AzDisk
    

    Введите Y и нажмите клавишу ВВОД , когда появится запрос на продолжение.

  9. Убедитесь, что все ресурсы удалены:

    Проверьте группу ресурсов, чтобы убедиться, что все ресурсы удалены:

    Get-AzResource -ResourceGroupName $vm.ResourceGroupName | 
        Select-Object -Property Name, ResourceType, ResourceGroupName
    

При интерактивном выполнении этих команд лучше всего создать скрипт PowerShell. Скрипты позволяют повторно использовать логику для создания или удаления виртуальной машины в будущем

Далее давайте рассмотрим, как автоматизировать эти задачи с помощью скрипта PowerShell.