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

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

Управляйте ресурсами AWS

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

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


a. Щелкните здесь, и в новом окне браузера откроется Консоль управления AWS. При этом пошаговое руководство останется открытым.  Нажмите кнопку «Create Key Pair» (Создать пару ключей).

tmt-codeDeploy-20

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

tmt-codeDeploy-20

b. Укажите имя пары ключей.  В этом учебном пособии мы используем имя «MyFirstKey». Нажмите кнопку «Create» (Создать).

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

tmt-codeDeploy-19

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

tmt-codeDeploy-19

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

tmt-codeDeploy-0

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

tmt-codeDeploy-0

b. В консоли AWS CodeDeploy нажмите кнопку «Get Started Now» (Начать).

Если у вас уже есть приложения, в правом столбце щелкните «Create Deployment Walkthrough» (Создать пошаговое руководство по развертыванию).

tmt-codeDeploy-1

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

tmt-codeDeploy-1

c. Выберите вариант «Sample Deployment» (Развертывание образца) и нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-2

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

tmt-codeDeploy-2

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


Ниже описаны настраиваемые параметры инстанса.

  • «Operating System» (Операционная система): здесь можно выбрать ОС вашего инстанса EC2.  В рамках этого учебного пособия мы используем Amazon Linux
  • «Instance Type» (Тип инстанса): в этом учебном пособии в качестве значения по умолчанию был выбран тип инстанса t1.micro, чтобы оставаться в рамках уровня бесплатного пользования. Сервис Amazon EC2 предоставляет широкий выбор типов инстансов, оптимизированных для различных вариантов использования. Типы инстансов имеют различные характеристики ЦП, памяти, хранилища и работы в сети, что позволяет выбрать соответствующую комбинацию ресурсов для своих приложений.
  • «Key Pair Name» (Имя пары ключей): в раскрывающемся списке выберите пару ключей инстанса Amazon EC2, созданную при выполнении шага 1 (MyFirstKey), чтобы подключиться к инстансам Amazon EC2. Вы также можете выбрать имеющуюся пару ключей. 
  • «Tag Key and Value» (Ключ и значение тега): AWS CodeDeploy будет использовать эти ключ и значение тега для поиска инстансов при развертывании. Можно оставить значения по умолчанию.

Нажмите кнопку «Launch Instances» (Запустить инстансы).

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

codeDeploy_video
2:10
Пошаговое руководство по AWS CodeDeploy
tmt-codeDeploy-4

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

tmt-codeDeploy-4

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


a. В поле «Application Name» (Имя приложения) введите «HelloWorld» в качестве имени образца приложения, а затем нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-5

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

tmt-codeDeploy-5

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

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

Нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-7

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

tmt-codeDeploy-7

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


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

Затем необходимо указать инстансы Amazon EC2 для развертывания, введя пару «ключ-значение» в разделе «Search by Amazon EC2 Tags» (Поиск по тегам Amazon EC2).

  • Столбцы «Key» (Ключ) и «Value» (Значение) должны быть автоматически заполнены значениями, установленными при выполнении шага 3.
  • В столбце «Instances» (Инстансы) отображается количество инстансов EC2, в которых будет развернут код.  Для целей этого учебного пособия мы запустили и предварительно настроили три инстанса EC2, которые уже отмечены тегами как единая группа развертывания.

Нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-8

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

tmt-codeDeploy-8

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


«Service Role» (Роль сервиса): выберите «Create a new service role» (Создать новую роль сервиса).  Если у вас уже есть роль сервиса, можно выбрать «Use an existing service role» (Использовать имеющуюся роль сервиса).

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

Нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-9

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

tmt-codeDeploy-9

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


a. Конфигурация развертывания задает число инстансов, в которых одновременно развертываются редакции приложения, и условия успешного и неудачного развертывания. Например, если используется конфигурация по умолчанию («One at a Time» [По одному]), при развертывании приложения в трех инстансах оно будет развертываться в них по очереди.

Оставьте выбранным пункт «Default Deployment Configuration» (Конфигурация развертывания по умолчанию) и нажмите кнопку «Next Step» (Следующий шаг).

tmt-codeDeploy-10

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

tmt-codeDeploy-10

b. Просмотрите сведения о развертывании и нажмите кнопку «Deploy Now» (Развернуть).

Примечание. Это может занять несколько минут.

tmt-codeDeploy-11

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

tmt-codeDeploy-11

c. Наш образец редакции развертывает одну веб-страницу в каждом инстансе. Когда развертывание во всех трех инстансах будет выполнено, щелкните «View All Instances» (Показать все инстансы).

tmt-codeDeploy-14

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

tmt-codeDeploy-14

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

tmt-codeDeploy-15

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

tmt-codeDeploy-15

e. Чтобы проверить, успешно ли развернут образец приложения, скопируйте адрес из поля «Public DNS» (Публичный DNS) на нижней панели и вставьте его в адресную строку браузера. Вы увидите свою веб-страницу.

tmt-codeDeploy-21

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

tmt-codeDeploy-21

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


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

tmt-codeDeploy-16a

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

tmt-codeDeploy-16a

b. Установите флажки для каждого инстанса Amazon EC2, работу которого требуется остановить. Выберите «Actions» (Действия), «Instance State» (Состояние инстанса), а затем щелкните пункт «Terminate» (Прекратить работу).

При появлении соответствующего запроса выберите «Yes, Terminate» (Да, прекратить работу).

tmt-codeDeploy-18a

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

tmt-codeDeploy-18a

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

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

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

Да
Нет