После того, как в течение нескольких дней боролись за развертывание приложения в ECS, обнаружили решение и упрощенное в скрипт, чтобы любой мог легко развернуть просто замену папки приложений.
Этот пример предназначен для развертывания приложения с новым новым VPC. VPC будет создан во время развертывания ECS/Fargate.
git местоположение
https://github.com/rajeshkumarbehura/vpc_ecs_app_deploy
Требование приложение для развертывания в AWS ECS
- Проект должен заставить. В моем репо папку с демо-приложением, которая является простым применением на основе NESTJS. Вы можете сделать Java/Nodejs/Python любой проект, если он станет докеризован.
AWS CLI & Terraform CLI должен быть установлен в вашей командной строке.
AWS --версия
Terraform --версия
Детали AWS должны быть avaialble экспорт Экспорт Экспорт-Юго-восток-1 Экспорт//dev Profile должен совпадать в файле Terraform/Providers.ts
Это создаст свежий новый VPC для развертывания ECS/Fargate.
После успешного развертывания Terraform напечатает путь Альба как
demoapp_alb_hostname-demoapp-XXXXXXX.ap-southeast-1.elb.amazonaws.com
Шаги для развертывания
Клонировать проект в свой местный житель.
а Проверить профиль AWS
экспорт
Это имя профиля DEV должно соответствовать Deploy/Terraform/Provider.tf
# Specify the provider and access details provider "aws" { shared_credentials_file = "$HOME/.aws/credentials" profile = "dev" region = var.aws_region }
беременный Обновить файл скрипта оболочки
В папке развертывания существуют два файла скрипта оболочки.
- CREATE_REPO_IN_ECR.SH: Обновить данные профиля AWS в этом файле. Этот файл создаст репозиторий AWS ECR для Project. И распечатать ссылку после успешного создания. Например —
Xxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/demo_app_repo
Это ECR_REPO_PATH для вашего проекта.
- push_image_to_ecr _ & _ deploy_ecs.sh: Обновите данные профиля AWS и ECR_REPO_PATH. Этот файл будет следовать ниже шага.
- Создать контейнер Docker,
- контейнер будет помечен для ECR Repo,
- протолкнуть в репозиторий ECR
- Приложение развернуто в AWS ECS от ECR.
в Исполнение
Теперь в последних шагах, после обновления вышеупомянутых деталей, перейдите в Deploy Polder в командной строке.
- Запустите файл create_repo_in_ecr.sh для создания репо.
- Запустите push_image_to_ecr _ & _ deploy_ecs.sh для развертывания приложения
дюймовый Уничтожить в AWS
Очистка или удаление всех ресурсов из AWS, используйте ниже шаги-
- Перейдите в расположение папки Deploy/Terraform в командной строке и запустите ниже команду
terraform destroy
Как развернуть собственное приложение
- Замените свое приложение внутри контента Demo-App и убедитесь, что ваше приложение работает. Пожалуйста, не меняйте демо-приложение
- Создайте API проверки здоровья — API/Index. Это настроено внутри файла Terraform/variable.tf в папке Terraform
переменная «demoApp_health_check_path» { }
- Необязательно шаг- чтобы создать всю конфигурацию с новым именем, сделайте текст «Найдите все для» DemoApp «в папке Terraform и замените своим собственным текстом. Например, замените текст «DemoApp» на «CustomerApp». Затем сделайте план Terraform и проверьте все, что работает или нет. Если в каком -то месте, пожалуйста, переименуйте в соответствии с вашим текстом.
Играйте с Terraform, ECR & ECS, чтобы узнать больше.
Оригинал: «https://dev.to/rajeshkumarbehura/deploy-dockerized-app-in-aws-ecs-in-new-vpc-3f9c»