Проекты на AWS

Усовершенствованные боты

с применением .NET и AWS Toolkit for Visual Studio

Модуль 5. Развертывание и очистка

В этом модуле мы развернем чатбот в EC2 с помощью AWS CodeBuild и AWS CodeDeploy, а также очистим ресурсы во избежание затрат.

Обзор

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

 Время выполнения

30 минут

 Используемые сервисы

CodeDeploy, CodeBuild, EC2, AWS CodeStar

Инструкции по внедрению

    • a. В Консоли AWS щелкните Services (Сервисы), а затем в разделе Developer Tools (Инструменты для разработчиков) выберите пункт CodeStar.
      b. Щелкните Create a new project (Создать проект) и выберите шаблон ASP.NET Core Web Application (Интернет-приложение ASP.NET Core).
      c. В поле Project Name (Имя проекта) укажите имя проекта, выберите репозиторий CodeCommit и нажмите кнопку Next (Далее).
      d. Установите флажок AWS CodeStar would like permission to administer AWS resources on your behalf (Сервису AWS CodeStar нужно разрешение на администрирование ресурсов AWS от вашего имени) и щелкните Create Project (Создать проект).
      e. Выберите пару ключей и убедитесь, что флажок I acknowledge that I have access to the private key file for this key pair (mytestkeypair.pem), and that without this file, I won’t be able to log into my instance (Я подтверждаю, что у меня есть доступ к файлу закрытого ключа для этой пары ключей [mytestkeypair.pem] и без этого файла я не смогу войти в свой инстанс) установлен.
      f. Теперь вы можете выбрать способ редактирования кода проекта. Вы можете в любой момент изменить этот способ, но пока щелкните Command Line Tools (Инструменты командной строки) и следуйте инструкциям по настройке для используемой вами операционной системы.
      g. Если вы следовали инструкциям при работе в командной строке, то вы уже клонировали репозиторий проекта из CodeCommit.
      h. Вы можете использовать различные продукты и средства импорта Git, но если у вас их нет, можно воспользоваться нашим кратким руководством, чтобы сделать это вручную. Возьмите код, клонированный из репозитория GitHub в модуле 4, и замените им весь код в клонированном репозитории CodeCommit (прежде чем вставлять код .NET приложения Chatbot, обязательно удалите весь старый код).
      i. В командной строке откройте клонированный каталог и выполните следующие команды:

      1. git add -A
      2. git commit -m "adding Chatbot code"
      3. git push origin master

      j. Щелкните Skip (Пропустить). Откроется панель управления кодом, проходящим через конвейер непрерывного развертывания (помимо множества других параметров, которые рекомендуется изучить).
      k. В каталоге проекта, в котором размещен файл решения Visual Studio, скопируйте файлы appspec.yml и buildspec.yml.
      l. В каталоге проекта, в котором размещен файл решения Visual Studio, создайте папку scripts.
      m. Скопируйте все файлы из каталога развертывания Linux клонированного репозитория в каталог scripts, созданный на предыдущем шаге.
      n. Перейдите по ссылке Application endpoints (Адреса приложений), чтобы просмотреть и протестировать приложение Chatbot.

      ⚐ ПРИМЕЧАНИЕ: дополнительные сведения вы найдете в документации из проекта github.

      Пара ключей ec2
    • a. Войдите в аккаунт AWS и убедитесь, что вы находитесь в регионе us-east-1 (N. Virginia) или eu-west-1 (Ireland).
      b. Войдите в аккаунт GitHub с помощью данных для доступа к GitHub.
      c. Используйте AWS CloudFormation для создания инфраструктурного стека в регионе us-east-1, выбрав шаблон. Вы также можете скачать шаблон CloudFormation здесь и запустить его в сервисе AWS CloudFormation для нужного региона.
      d. Откроется веб-страница консоли AWS CloudFormation и экран настройки параметров , необходимых для создания ресурсов инфраструктуры. Задайте нужные значения параметров Stack Name (Имя стека) и Application (Приложение).
      e. Откройте другое окно браузера и вернитесь к аккаунту Github, выберите Settings (Настройки) в аккаунте GitHub, а затем нажмите Personal Access Tokens (Маркеры личного доступа) и создайте новый маркер с областями действия repo и admin:repo_hook. Обязательно выберите ВСЕ дочерние параметры для обоих вышеупомянутых скриптов.
      f. Вернитесь на веб-страницу AWS CloudFormation и задайте для параметра GitHubOAuthToken значение из GitHub, сгенерированное на предыдущем этапе.
      g. Выберите VPC, где требуется развернуть решение, и общедоступную подсеть (к которой подключен шлюз Интернета), относящуюся к этому VPC.
      h. Выберите имя пары ключей. Чтобы узнать больше об именах пар ключей, щелкните здесь.
      i. При необходимости измените тип инстанса. Вы также можете оставить значение по умолчанию.
      j. В поле OS type (Тип ОС) выберите операционную систему Windows для целевого инстанса EC2 и нажмите кнопку Next (Далее).
      k. Оставьте значения по умолчанию в разделах Options (Параметры) и Advanced (Дополнительно), а затем нажмите кнопку Next (Далее).
      l. На экране проверки обязательно установите флажок I acknowledge that AWS CloudFormation might create IAM resources with custom names (Я подтверждаю, что AWS CloudFormation может создавать ресурсы IAM с настраиваемыми именами).
      m. Создайте стек и наблюдайте за созданием полного стека и всех необходимых ресурсов на вкладке Events (События), пока в поле состояния не появится значение CREATE_COMPLETE.
      n. Откройте CodePipeline и наблюдайте за тем, как приложение проходит процесс CD/CI от GitHub до CodeBuild и CodeDeploy, после чего оно развертывается в EC2.
      o. После успешного развертывания откройте вкладку выходных данных в CloudFormation, щелкните URL-адрес и наблюдайте за выполнением приложения Chatbot в среде.

      ⚐ ПРИМЕЧАНИЕ: дополнительные сведения вы найдете в документации из проекта GitHub.

    • a. Перейдите на страницу CodeStar в консоли.
      b. Щелкните многоточие в правом верхнем углу проекта. См. снимок экрана ниже.
      c. Выберите команду Delete (Удалить).
      d. Введите имя проекта, чтобы подтвердить удаление. Оставьте флажок Delete associated AWS resources along with CodeStar project (Удалить связанные ресурсы AWS вместе с проектом CodeStar) установленным.
      e. Нажмите кнопку Delete (Удалить).

      удаление проекта codestar
    • a. Перейдите на страницу CloudFormation в консоли.
      b. Выберите стек.
      c. Откройте раскрывающееся меню Actions (Действия).
      d. Выберите команду Delete Stack (Удалить стек).
      e. Нажмите кнопку Yes, Delete (Да, удалить).

  • Lambda
    a. Перейдите на страницу Lambda в консоли.
    b. Выберите функцию из списка, щелкнув пузырек слева от ее названия.
    c. В списке действий выберите пункт Delete (Удалить).

    Lex
    a. Перейдите на страницу Lex в консоли.
    b. Выберите бота из списка, щелкнув пузырек слева от его названия.
    c. В списке действий выберите пункт Delete (Удалить).

    Cognito
    a. Перейдите на страницу Cognito в консоли.
    b. Нажмите Manage Federated Identities (Управление федеративными удостоверениями).
    c. Выберите федеративное удостоверение.
    d. Нажмите Edit Identity Pool (Изменить пул удостоверений) в правом верхнем углу.
    e. Прокрутите вниз до кнопки Delete Identity Pool (Удалить пул удостоверений) и нажмите ее. Затем подтвердите удаление, нажав красную кнопку.

    ⚐ ПРИМЕЧАНИЕ: эти инструкции также представлены в папке documentation проекта GitHub.

Поздравляем!

Вы создали приложение Amazon Lex Chatbot на платформе .NET с помощью Amazon Web Services.

роботы приветствуют вас

Поделитесь своим чатботом с друзьями. С нетерпением ждем ваших новых творений!