Рубрики
Uncategorized

Учебник AWS Proton — приложение Nodejs

AWS Proton — это полная служба доставки для приложений в контейнер и без серверов. Это обеспечивает… Tagged with AWS, DevOps, Docker, Tuperial.

AWS Proton — это полная служба доставки для приложений в контейнер и без серверов. Он предоставляет инструменты для предоставления инфраструктуры, а также развертывания, управления и обновления услуг.

Обновление (9 июня 2021 г.):

AWS Proton больше не является сервисом предварительного просмотра в целом доступна. Прочитайте объявление

Во время Повторно-из-за 2020 , AWS сделал пару объявлений, связанных с предложениями служб контейнеризации. Которые:

🔥 Четыре новых сервиса:

  • AWS Proton (новый сервис для управления и автоматизации разработки и развертывания контейнеров)
  • Amazon ECS в любом месте (Запустите ECS в среде)
  • Amazon eks в любом месте (Запустите EKS в местах)
  • Amazon ECR Public — (Хозяева и делитесь публичными репонами, как Dockerhub)

📦 Контейнеризация доходит до лямбда: Теперь вы можете упаковать и развернуть функции AWS Lambda в виде контейнера до 10 ГБ

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

ℹ Уведомление: это программа предварительного просмотра, а не на 100% стабильная на момент написания

ℹ Уведомление: убедитесь, что ваша учетная запись AWS имеет «административный доступ», прежде чем продолжить (корневые учетные записи имеют его по умолчанию).

ℹ Обратите внимание: если у вас нет опыта ECS, я очень рекомендую вам Сначала завершите эту серию

Шаг 1: Подключите GitHub с вашей учетной записью AWS

  • Перейти к AWS Proton Console

  • Нажмите на меню гамбургера, чтобы расширить боковую панель

  • Нажмите «Соединения источника»

  • Он перенесет вас на новую страницу, оттуда выберите «Создать соединение»

  • Выберите «Github» в качестве поставщика, дайте любое имя как «имя соединения» и нажмите «Подключиться к GitHub»

  • Во всплывающем окне выберите «Авторизировать разъем AWS для GitHub»

  • После разрешения он перенаправляет вас обратно на AWS. Оттуда выберите «Установить новое приложение»

  • Он поставит вас в GitHub (снова) и попросит организацию, где вы хотели бы установить приложение (в моем случае я собираюсь сделать это в своей личной организации)

  • После этого выберите репозитории, на которые вы хотели бы предоставить приложение Connector доступ (я собираюсь предоставить ему доступ ко всем своим репо), а затем нажмите «Установка»

  • После того, как вы дали доступ, он вернет вас в AWS и заполните поле приложения для вас — нажмите «Подключить»

  • После того, как приложение будет успешно подключено с вашим AWS, вам потребуется страница списка приложений

Шаг 2: Создать «Роли учетной записи»

  • Из AWS Proton Console , нажмите «Роли учетной записи», а затем нажмите «Создать»

  • Выберите «Роль новой службы», дайте любое имя, проверьте » Я согласен создать роль протона ... «Опция, и нажмите« Создать »(вы видите« обновление »на скриншоте, потому что у меня уже есть роль сервисного обслуживания)

Шаг 3: Создать «Шаблон среды»

  • Из AWS Proton Console , нажмите «Шаблоны среды» с левой боковой панели

  • Нажмите «Создать шаблон среды»

  • Выберите «Используйте один из наших образцов пакетов шаблона» и выберите «Фаргейт-среда» в качестве «пакета шаблона образца».

  • Введите любое имя как «Имя шаблона» и «Имя шаблона» и нажмите «Создать шаблон среды»

  • После создания шаблона вам необходимо выбрать второстепенную версию (1.0 в этом примере) и нажать «Опубликовать»

Шаг 4: Создать «шаблон обслуживания»

  • На левой боковой панели выберите «Шаблоны службы», а затем нажмите «Создать шаблон службы»

  • Выберите «Используйте один из наших образцов пучков» и «Fargate-Service» в качестве «пакета шаблона образца»

  • Введите любое имя как «Имя шаблона» и «Имя отображения шаблона», выберите «Постановка» в качестве шаблона совместимой среды (оно должно быть таким же, как и «Имя отображения шаблона» на шаге 2 ☝🏽) и нажмите «Создать шаблон службы»

  • Как и раньше, выберите второстепенную версию и нажмите «Опубликовать»

Шаг 5: Создать сервис «

  • Выберите «Сервисы» с левой боковой панели, а затем нажмите «Создать службу»

  • Выберите шаблон сервиса, который мы создали ранее (Hello World в моем случае) и нажмите «Настройка»

  • Дайте любое имя «имя обслуживания», введите филиал (вашего Github Repo), которое вы хотели бы использовать, введите свой идентификатор репо в формате account-id/repo-name , выберите подключение GitHub, которое мы создали на шаге 1, а затем нажмите «Далее» — Вы также можете разобраться в этом примере, если у вас нет

  • Нажмите «Добавить новый экземпляр»

  • Дайте имя своему экземпляру, выбрали среду, которую мы создали ранее, дайте номер порта (по умолчанию 80), установите желаемый счет на 1 (это буквально то же самое, что и установление количества задач в ECS), выберите X-Small как Размер (я попытался найти ссылку на эти размеры и то, как они отображаются в VCPU/Memory Но я не мог найти в официальном документе на момент написания этой статьи), дайте любое имя «уникальное имя», нажмите «Создать»

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

Это займет некоторое время, прежде чем статус будет изменен на «успех» с «в процессе». На самом деле, за кулисами, он создаст кластер ECS, сервис, задачу, задача, проект облачной сборки, облачный трубопровод и т. Д.

Шаг 6: Возьмите тест -драйв »

  • После того, как статус был изменен на «успешное», нажмите на имя экземпляра

  • Скопировать URL

  • Смотрите результаты

  • Давайте изменим код и увидим CI/CD в действии

  • После того, как изменения будут развернуты, перезагрузите страницу

Вот и все, большое спасибо за то, что следовали!

🐞 Ошибки и их обходные пути Когда я впервые попробовал AWS Proton, я обнаружил несколько ошибок, большинство из них уже были исправлены, и есть вероятность, что когда вы читаете это Остальные также исправлены

  • По умолчанию, это всегда собиралось nginx image И мне пришлось получить URI моего изображения от ECR, а затем вручную обновить экземпляр службы (Action-> Обновление спецификации)

  • Иногда это не покажет мне «использовать один из наших примеров пакетов шаблонов», для этого перейдите на консоль Proton AWS, нажмите «Начало», а оттуда нажмите «Создать шаблон среды»

  • Если трубопровод не удастся, он не даст никакой ошибки, а статус экземпляра покажет «в процессе». Чтобы исправить это, перейдите в AWS Pipeline и посмотрите, на каком этапе он потерпел неудачу, и почему и исправить его (вы также можете получить доступ к проекту связанного кода по сборке) оттуда) оттуда)

  • Я не мог обновить/удалить неудачные трубопроводы даже после использования CLI, чтобы вы могли вручную удалить его, перейдя в ECS и удалив/останавливая связанную службу или задачи (ы) — Смотрите проблему GitHub

Давайте подключимся:

LinkedIn: https://www.linkedin.com/in/mubbashir10/

Twitter: https://twitter.com/mubbashir100

Оригинал: «https://dev.to/mubbashir10/aws-proton-tutorial-sample-nodejs-app-2f9k»