Размещение навыка в AWS

Платформа Amazon Web Services позволяет развернуть и проверить свой навык. Если вы не пользовались платформой раньше, вы можете воспользоваться бесплатным периодом.

Подготовка

Создайте учетную запись AWS, если у вас ее еще нет, и дождитесь активации сервиса (может занимать до 24 часов).

Создание веб-приложения

Запустить свое приложение можно при помощи AWS Lambda или Elastic Beanstalk.

Способ с Elastic Beanstalk длиннее, поскольку требует настройки связи по протоколу HTTPS. Для этого потребуется действительный выданный сертификат.

  1. Войдите в Консоль управления AWS.

  2. При помощи поиска найдите раздел Lambda.

  3. В верхнем правом углу нажмите Create function.

  4. Заполните поля:

    • Function name — имя функции.
    • Runtime — среда, в которой будет выполняться функция. Поддерживаются Node.js, Python и Ruby.
    • Architecture — архитектура, на которой будет выполняться функция. Выберите нужную опцию: x86_64 или arm64.
  5. Откройте вкладку Change default execution role.

  6. Выберите опцию Create a new role with basic Lambda permissions.

  7. откройте вкладку Advanced settings.

  8. Выберите опцию Enable function URL -raw.

  9. В разделе Auth type выберите опцию NONE.

  10. Нажмите Create function.

  11. В открывшемся окне с описанием функции на вкладке Functions overview найдите Function URL — он потребуется для запуска навыка в консоли разработчика Диалогов.

  12. В разделе Code source разместите исходный код вашего приложения. В некоторых средах выполнения изменения в код можно вносить прямо в этом разделе. Чтобы изменения вступили в силу, нажмите кнопку Deploy.

  13. Нажмите Test, чтобы начать тестирование приложения.

  1. Войдите в Консоль управления AWS.

  2. При помощи поиска найдите раздел Elastic Beanstalk и создайте окружение:

    1. В верхнем правом углу нажмите Create a new environment.
    2. В окне Select environment tier выберите опцию Web server environment и нажмите Select.
    3. В поле Application name введите название приложения.
    4. В разделе Platform выберите платформу для вашего приложения, а также его ветвь и версию.
    5. В разделе Application code выберите опцию Upload your code.
    6. Нажмите Chose file и загрузите архив с исходным кодом приложения.
    7. Нажмите Create environment.
  3. Найдите с помощью поиска страницу сервиса Route 53 и перейдите на нее.

  4. Создайте ресурсную запись типа А. Запись должна связывать ваше доменное имя и созданное окружение Elastic Beanstalk. Подробнее о создании такой записи читайте в документации AWS.

  5. С помощью поиска найдите раздел EC2.

  6. В подразделе Load Balancers выберите только что созданный балансировщик и перейдите в его свойство Listeners.

  7. Нажмите Add listener и измените следующие значения:

    • Protocol — протокол подключения. Выберите значение HTTPS.
    • Port — порт сети. Введите значение 443.
    • Default action Forward to... — целевая группа из выпадающего списка.
    • Security policy — наиболее свежая политика безопасности.
    • Default SSL certificate — действительный сертификат для использованного в ресурсной записи доменного имени.

    Для регистрации доменных имен воспользуйтесь сервисом Route 53. Для получения сертификата используйте сервис AWS Certificate Manager.

  8. Нажмите Add listener еще раз и вернитесь в свойства балансировщика.

  9. Обратите внимание на желтый треугольник справа от HTTPS: 443 — это предупреждение о необходимости внести изменения в группу безопасности. Нажмите на него и перейдите к списку групп.

    1. Для каждой группы по очереди выберите вкладку Inbound rules и нажмите кнопку Edit inbound rules.
    2. Добавьте правило для HTTPS, указывая в поле Source то же значение, что и для HTTP.
  10. В новой вкладке браузера введите доменное имя, которое вы использовали в ресурсной записи, и перейдите по ссылке. На странице будет указан ответ навыка на HTTP-запрос GET.

Добавление Webhook URL

  1. Перейдите в консоль разработчика навыка.
  2. Откройте вкладку Настройки.
  3. В блоке Backend в поле Webhook URL укажите URL приложения.
  4. Внизу страницы нажмите кнопку Сохранить.
  5. Проверьте работу навыка на вкладке Тестирование. Подробнее см. раздел Тестирование навыка.