Из этого учебного пособия вы узнаете, как развертывать код приложения на виртуальной машине в AWS. Вы будете использовать сервис AWS CodeDeploy, автоматизирующий развертывание кода в AWS или на локальных серверах. С его помощью вы развернете код на виртуальных машинах, созданных и управляемых вами с помощью Amazon EC2. 

Все действия, описанные в данном учебном пособии, доступны на уровне бесплатного пользования.

Управление ресурсами AWS

Вход в Консоль

Вам понадобится создать пару ключей, чтобы получить доступ к виртуальной машине с помощью Amazon EC2.  Если у вас уже есть пара ключей, переходите к шагу 2.


a. Щелкните здесь, и в новом окне браузера откроется Консоль управления AWS. При этом пошаговое руководство останется открытым.  Щелкните Создать пару ключей.

tmt-codeDeploy-20

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-20

b.  Присвойте имя своей паре ключей.  В этом учебном пособии мы будем использовать MyFirstKey. Щелкните Создать.

Примечание. В Amazon EC2 используется криптография с общедоступным ключом для шифрования и расшифровки сведений для входа в систему. Подробнее о парах ключей сказано в документации по парам ключей в Amazon EC2.

tmt-codeDeploy-19

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-19

a. Щелкните значок главного экрана в левом верхнем углу Консоли управления AWS.  Найдите CodeDeploy в разделе Инструменты для разработчиков и щелкните, чтобы открыть консоль AWS CodeDeploy.

tmt-codeDeploy-0

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-0

b. В консоли AWS CodeDeploy щелкните Начать сейчас.

Если у вас уже есть приложения, посмотрите в правый столбец и щелкните Создать обзор развертывания.

tmt-codeDeploy-1

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-1

c. Выберите Развертывание образцов и щелкните Далее.

tmt-codeDeploy-2

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-2

Вам понадобится запустить виртуальную машину AWS, чтобы развернуть на ней код.  Виртуальные машины AWS еще зовутся инстансами Amazon EC2 (или просто инстансами). При выполнении этого шага мы запустим три инстанса EC2 с помощью предварительно настроенного шаблона EC2.

a. Щелкните значок главного экрана в левом верхнем углу Консоли управления AWS.  Найдите CodeDeploy в разделе Инструменты для разработчиков и щелкните, чтобы открыть консоль AWS CodeDeploy.

tmt-codeDeploy-0

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-0

Измените настройки инстанса, используя указанные ниже параметры.

  • Операционная система: вы можете выбрать ОС своего инстанса EC2.  В этом учебном пособии мы будем использовать Amazon Linux
  • Тип инстанса: в этом учебном пособии по умолчанию выбран тип инстанса t1.micro, который будет применяться на уровне бесплатного пользования. Сервис Amazon EC2 предоставляет широкий выбор типов инстансов, оптимизированных для различных примеров использования. Типы инстансов включают различные комбинации таких компонентов, как ЦПУ, память, хранилище и сетевые возможности, что позволяет выбрать соответствующий набор ресурсов для приложений.  
  • Имя пары ключей: выберите из раскрывающегося списка пару ключей инстанса Amazon EC2, которую вы создали на шаге 1 (MyFirstKey), для подключения к инстансам Amazon EC2. Вы можете также выбрать пару ключей, которая у вас уже есть. 
  • Значение и ключ тега: в AWS CodeDeploy будут использоваться это значение и ключ тега для обнаружения инстансов во время развертываний. Можно оставить значения по умолчанию.

Щелкните Запустить инстансы.

Примечание. Выполнение этого шага может занять несколько минут.  Тем временем вы можете ознакомиться с этим учебным пособием и посмотреть приведенное ниже видео.

tmt-codeDeploy-4

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-4

В AWS CodeDeploy используются имена приложений во время развертываний кода для правильной отсылки на компоненты развертывания, например группу развертывания, конфигурацию развертывания и редакцию приложения.


a. В поле Имя приложения введите HelloWorld в качестве имени для образца приложения и щелкните Следующий шаг.

tmt-codeDeploy-5

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-5

b. Проверьте сведения о редакции приложения, например расположение и описание.

Примечание. У вас есть возможность загрузить пакет образцов. В этом представлении можно просматривать сведения о редакции приложения, которую вы хотите развернуть в EC2. Редакция приложения – это файл архива с исходным содержимым, например исходным кодом, веб-страницами, исполняемыми файлами и сценариями развертывания, а также файл спецификации приложения (AppSpec). С помощью файла AppSpec сервис CodeDeploy сопоставляет исходные файлы в вашей редакции с их пунктами назначения и выполняет сценарии на разных этапах развертывания.

Щелкните Следующий шаг.

tmt-codeDeploy-7

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-7

Группа развертывания – это набор отдельных инстансов EC2, в которые CodeDeploy развертывает редакции. Группа развертывания содержит инстансы с отдельными тегами, инстансы Amazon EC2 в группах Auto Scaling или оба варианта.


В поле «Имя группы развертывания» оставьте предложенное имя (DemoFleet) без изменений.

Затем вы укажете инстансы Amazon EC2 для развертывания, введя пару «ключ – значение» в разделе Поиск по тегам Amazon EC2.

  • Столбцы Ключ и Значение следует автоматически заполнить значениями, указанными для шага 3.
  • В столбце Инстансы показано количество инстансов EC2, в которые вы будете развертывать код.  Для этого учебного пособия мы запустили и предварительно настроили три инстанса EC2, которые уже объединены в группу развертывания.

Выберите Следующий шаг.

tmt-codeDeploy-8

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-8

При выполнении этого шага вы предоставите сервису AWS CodeDeploy разрешение на развертывание в ваши инстансы. Вы создаете роль для сервиса AWS, когда желаете предоставить разрешения такому сервису, как Amazon EC2 или AWS CodeDeploy. У этих сервисов будет доступ к ресурсам AWS, поэтому вы создаете роль, чтобы определить, какие действия с ресурсами разрешены сервисам.


Роль сервиса: выберите Создать новую роль сервиса.  Если у вас уже есть роль сервиса, вы можете выбрать Использовать существующую роль сервиса.

Имя роли: вы можете принять значение по умолчанию, CodeDeploy_HelloWorld.  Если вы используете существующую роль сервиса, выберите ее из раскрывающегося списка «Имя роли».

Щелкните Следующий шаг.

tmt-codeDeploy-9

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-9

При выполнении этого шага мы выберем конфигурацию развертывания, а затем инициализируем развертывание наших трех инстансов EC2. В конце этого шага у нас будет успешно развернутый работающий сайт, на который мы сможем зайти в Интернете.


а. С помощью конфигурации развертывания можно определить, на сколько инстансов одновременно развертывать редакции приложений, а также описать условия успешного и неудачного развертывания. Например, если при использовании конфигурации по умолчанию «По одному за раз» развертывать приложение в 3 инстансах, за один раз будет выполнено развертывание в одном инстансе.

Примите вариант Конфигурация развертывания по умолчанию и щелкните Следующий шаг.

tmt-codeDeploy-10

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-10

b. Проверьте сведения о развертывании и щелкните Развернуть сейчас.

Примечание. Выполнение этого действия может занять несколько минут.

tmt-codeDeploy-11

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-11

c.  Наша редакция образца развертывает одну веб-страницу в каждом инстансе. Когда все три инстанса будут готовы, щелкните Просмотреть все инстансы.

tmt-codeDeploy-14

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-14

d.  Щелкните идентификатор одного из инстансов, в котором было выполнено развертывание. При этом откроется панель мониторинга EC2, где можно просматривать запущенные инстансы.

tmt-codeDeploy-15

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-15

e. Чтобы проверить, успешно ли развернуто приложение образца, скопируйте адрес из поля «Общедоступная DNS» на нижней панели, вставьте адрес в браузер, и вы увидите свою работающую веб-страницу.

tmt-codeDeploy-21

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-21

Чтобы избежать затрат в будущем, необходимо удалить ресурсы, использованные в этом учебном пособии. Инстансы EC2, которые вы запустили для этого учебного пособия, будут продолжать работать, если вы их не удалите.


а. Поле поиска в консоли EC2 заполняется автоматически с использованием поискового фильтра для идентификатора инстанса.  Удалите этот фильтр, и вы увидите все инстансы, запущенные сервисом CodeDeploy.  

tmt-codeDeploy-16a

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-16a

b. Выберите поля каждого инстанса Amazon EC2 для удаления. Выберите «Действия», «Состояние инстанса» и щелкните Удалить.

Когда появится соответствующий запрос, щелкните Да, удалить.

tmt-codeDeploy-18a

(Щелкните, чтобы увеличить.)

tmt-codeDeploy-18a

Вы успешно создали и завершили свое первое развертывание кода на инстансах Amazon EC2 с помощью AWS CodeDeploy. Используя предоставленный шаблон, вы сначала запустили три инстанса, которые были предварительно настроены с надлежащими тегами и установлены с помощью агента, необходимого для применения AWS CodeDeploy. Наконец, вы подготовили приложение к развертыванию, предоставили сервису CodeDeploy разрешение на развертывание в ваши инстансы, а затем успешно развернули код.

Теперь, когда вы выполнили развертывание образца на инстансах Amazon EC2 с помощью AWS CodeDeploy, вы можете узнать, как использовать CodeDeploy в своих приложениях. Ознакомьтесь с документацией по CodeDeploy, чтобы узнать, как запускать инстансы EC2, а затем настройте инстансы так, чтобы сервис CodeDeploy мог развертывать в них код. В нашем учебном пособии мы упростили шаги по настройке конфигурации, чтобы вы быстрее поняли и посмотрели, как работает CodeDeploy.

Узнайте, как настроить инстансы AWS CodeDeploy

Да
Нет