Создание и управление виртуальными машинами Amazon EC2

Сервис Amazon Elastic Compute Cloud ( Amazon EC2 ) позволяет вам создавать, использовать и управлять виртуальными серверами в облаке Amazon Web Services (AWS). В терминологии AWS виртуальный сервер называется Amazon EC2 Instance . Amazon EC2 позволяет быстро гибко управлять конфигурацией ВМ и быстро масштабировать ресурсы для обработки возросшей нагрузки. Такой виртуальный сервер предполагает почасовую оплату. В этой статье мы рассмотрим особенности создания и управления виртуальной машины EC2 с Windows Server 2019 в облаке AWS.

Создание виртуальной машины EC2 в Amazon Web Services

Для создания сервера вам необходимо перейти в раздел Compute , выбрать EC2 , затем Instances , нажать кнопку Launch Instance . В появившемся списке операционных систем нужно определиться с выбором, в нашем случае это Windows Server 2019. После этого появится таблица с выбором параметров сервера: семейство, тип (nano, micro, small, medium, large, xlarge, 2xlarge), количество процессоров vCPU , памяти, тип дисков (в AWS используется термин EBS, Elastic Block Store), сетевая карта. Нажмите кнопку Next: Configure Instance Details и перейдите к следующему шагу.

На 3м шаге устанавливается количество разворачиваемых серверов (можно и 2, и 5 одновременно), выбираются сетевые параметры, параметры для подключения к домену, способ выключения (простой или с удалением сервера) и другое. Нажмите кнопку Next: Add Storage .

Настройка облачного сервера AWS

Теперь нужно добавить виртуальные диски. Здесь Root означает, что на него будет устанавливаться система. По нажатию на кнопку Add New Volume добавляете ещё диски, выбираете тип (SSD/HDD), устанавливаете размер (рис. 2).

настройка дисков на сервере ec2 aws

Следующий этап – настройка файрвола. Здесь достаточно добавить группу безопасности и создать необходимые исключения для портов. Выберите опцию Create new security group , укажите имя группы. Нажав кнопку Add Rule можно добавить правила доступа к серверу. Например, для веб-сервера можно создали 3 правила для доступа через RDP ( порт 3389 ) и браузер (HTTP/HTTPS):

    • тип RDP , протокол TCP , порт 3389 , источник Anywhere ;
    • тип HTTP , протокол TCP , порт 80 , источник Anywhere ;
    • тип HTTPS , протокол TCP , порт 443 , источник Anywhere .

Теперь требуется создать пару ключей для доступа к серверам. В первом выпадающем поле вам необходимо выбирать пункт Create a new key pair , а во втором – ввести имя, затем сохранить файл. Нажмите кнопку Launch и наблюдайте за процессом развёртывания серверов.

Для подключения к серверу вам необходимо нажать кнопку Connect (по умолчанию подключение происходит под учётной записью Administrator), в появившемся окне нажать кнопку Get Password , затем Browse , выбрать ранее созданный файл-ключ (рис. 3), нажать кнопку Decrypt Password, скопировать пароль.

получить пароль администатора для сервера AWS EC2

После этого пытайтесь подключиться по RDP, введя публичное DNS имя (IP-адрес), логин и пароль.

Управление дисками в AWS EC2

Иногда ситуация требует произвести манипуляции с дисками: изменить размер, тип, подключить новые диски. Например, через некоторое время место на диске заканчивается, соответственно, его нужно увеличить. Для этого перейдите в пункт меню Volumes, выделите нужный диск, нажмите кнопку Actions и в выпадающем списке выберете пункт Modify Volume , в текстовом поле введите другую цифру (большего размера) и нажмите кнопку Modify . Вам необходимо дождаться завершения процесса расширения диска. Затем расширьте место через стандартную консоль управления дисками Windows. Перезагружать сервер не нужно.

Другой пример, когда требуется диск от одного сервера подсоединить другому. В этом случае выделите диск, нажмите кнопку Actions и в выпадающем списке выберете пункт Detach Volume . Отключили. Затем Actions -> Attach Volume , выберете нужный Instance (сервер) и нажмите кнопку Attach . Подключили. Перезагружать сервер не нужно.

AWS поддерживает как снапшоты всего инстанса, так и отдельных дисков. Если необходимо сделать резервную копию диска, то выделяете диск Actions -> Create Snapshot , вписываете имя, нажимаете кнопку Create. Резервные копии появятся в пункте меню Snapshots . Из них можно создать диск и подключить к серверу. Для этого вы выделяете резервную копию диска, Actions -> Create Volume , выбираете регион, тип диска, указываете размер.

Bootstrapping: Быстрая настройка гостевой ОС в EC2

Для быстрой настройки гостевой ОС в инстансе EC2 можно использовать Bootstrapping (самонастройка). Она заключается в применении скрипта PowerShell. Вы сами определяете действия, которые нужно выполнить в скрипте PowerShell. Например, установить роли Windows , задать имя компьютера, запустить службы и т.д. Скрипт вставляется или пишется в текстовом поле параметра Advanced Detail на 3м шаге создания сервера.

Один из вариантов скрипта PowerShell выглядит так:

<powershell>_x000D_Write-Host “---------START-----------”_x000D_Add-WindowsFeature web-server_x000D_Set-Content C:UsersAdministratorDesktoptest.txt “UserData Executed on $(Get-Date)”_x000D_Rename-Computer -NewName CloudWebSRV1_x000D_Add-Content C:UsersAdministratorDesktoptest.txt “----Test File---”_x000D_ Get-Service | Out-File C:UsersAdministratorDesktoptest.txt -Append | Format-Table_x000D_Test-Connection www.google.com | Out-File C:UsersAdministratorDesktoptest.txt -Append | Format-Table_x000D_Write-Host “---------FINISh----------”_x000D_</powershell>

С помощью данного скрипта устанавливается роль IIS, создаётся текстовый файл на рабочем столе, переименовывается сервер, записываются в файл доступные сервисы операционной системы, проверяется соединение с сервером Google, и снова результат записывается в файл.

Управление серверами с помощью AWS Simple System Manager

Для централизованного управления серверами в AWS можно использовать Simple System Manager (SSM). Он поддерживает управления как серверами в облаке Amazon, так и on-prem серверами в гибридной среде. Агент SSM устанавливается на Windows-инстансы автоматически.

Session Manager позволяет вам через запущенную службу SSM Agent интерактивно подключится к консоли гостевой ОС (Bash в Linux, или PowerShell в Linux) через веб-портал AWS или the AWS CLI

Зайдите в пункт меню System Manager -> Managed Instances, где серверов вы не увидите, так как не настроена соответствующая роль для работы с агентами. Для создания необходимых прав откройте главную консоль, в разделе Security, Identity, & Compliance нажмите на IAM , перейдите в Roles , затем Create role -> EC2 -> EC2 -> Next: Permissions . В списке выберете AmazonEC2RoleforSSM , AmazomS3FullAccess иили другие, впишите название.

AmazonEC2RoleforSSM

Теперь данную роль вам нужно назначить на сервер. Перейдите в Instances -> Actions -> Instance Settings -> Attach Role , в появившемся списке выберете созданную роль. Затем вам нужно перейти в Managed Instances , где увидите Windows-сервер. Значит агент активен и доступен.

После этого перейдите к пункту меню Run Command . Появится список различных командлетов PowerShell, которые можно использовать для управления вашей гостевой ОС из AWS. Например, доступны: AWS-ConfigureWindowsUpdate , AWS-InstallApplication , AWS-InstallPowerShellModule , AWS-RunDocument , AWS-JoinDirectoryServiceDomain . Например, можете выбрать запуск скриптов AWS-RunPowerShellScript . Затем следует активировать один или несколько серверов для запуска скрипта и в текстовом поле ввести команды, нажать кнопку Run . AWS отправит эти команды агенты SSM на сервере и они будут выполнены, как будто вы локально выполнили эти команды в консоли PowerShell.

EnglishRussianUkrainian