Тест, откатить назад и развернуть:
Во время этого блога я пройду через каждую службу AWS, которая использовалась, чтобы построить надежную инфраструктуру, такую как Amazon ECS на AWS Fargate, AWS CodePipipeline, AWS CodeBuild, AWS CodeDeploy, AWS CDK и многие другие услуги, которые мы обсудим позже в этой статье. Вместе эти услуги помогут вам надежно хранить, версию контролировать исходный код приложения Node.js, автоматически создавать, тестировать и развернуть приложение к AWS.
Для начала, вместо того, чтобы вручную создавать все, что мы упомянули выше, AWS CDK (TeampScript) использовался для автоматизации предоставления инфраструктуры, показанной на диаграмме ниже, при использовании обзоров кода и контроля редакции для проверки изменения стека Точная история беговых ресурсов. AWS CDK — это структура разработки программного обеспечения с открытым исходным кодом для определения ресурсов облачных приложений с использованием знакомых языков программирования.
Теперь мы пройдемся через процесс обеспечения этого приложения и объясним, как была создана полностью функциональная производственная среда с помощью стеков AWS CDK для достижения успешного докеренного развертывания с минимальными усилиями. Три стека были созданы, где первый будет нести ответственность за создание всех сетевых компонентов этой инфраструктуры (VPC, подсети, шлюз NAT, интернет-шлюз и т. Д.), Второй создаст кластер ECS вместе с его задачами, а также Служба ECS и балансировщик нагрузки приложения с двумя целевыми группами. Наконец, третий стек будет отвечать за создание конвейера CI/CD со всеми необходимыми конфигурациями, необходимыми для завершения этой настройки. Вот одно упомянутое здесь, заключается в том, что CDK для CODDEDEPLEE в настоящее время не поддерживает синее/зеленое развертывание с помощью функции кодедемена, поэтому это нужно было настроить с консоли вручную.
Первый этап трубопровода принесет последнюю версию Git Doceerized Application от GitHub и выполнить этап сборки. Теперь, когда исходный этап CodePipipeline имеет последнюю версию Git, AWS CodeBuild теперь готов к запуску задач сборки, которые сначала будут создавать наш образ докера и автоматически сканировать его для известных уязвимостей, а также серьезность устаревших библиотек или CVE. Сразу после толкания в Amazon ECR. Этот метод сборки автоматически сканирует изображение докера для известных уязвимостей, так как только мы нажимаем сборку, Amazon ECR вернет все обнаруженные уязвимости, а также серьезность устаревших библиотек или записи CVE. Итак, что если была обнаружена уязвимость высокого или среднего риска? В этом случае скрипт Bash будет выполняться в файле BuildSpec.yml, чтобы проверить уязвимости высокой и средней степени тяжести и автоматически выйти из строя в случае обнаружения угроз безопасности, предотвращающей трубопроводы от начала этапа развертывания, иначе он будет продолжаться на этап развертывания.
После успешного завершения сборки CodeDework запускается и запускается с развертывания набора задач замены (или зеленого задания), которое прикреплено к нему последнее определение задач и докера. После того, как статус задачи ECS «работает» CodeDeploy, будет использовать метод ALLATONCE для перенаправления производственного трафика к новой задаче с заменой, установленным через Green Alb Target Group и автоматически откатывается к последней известной хорошей версии ревизии приложения, если развертывание не удалось Отказ Наконец, CodeDey ждет за 1 час до того, как он завершит оригинальную задачу задач (или синий набор задач).
В заключение: AWS предоставляет пользователям несколько стратегий развертывания, которые наилучшим образом соответствуют корпусу пользователя и сценарии (канареести, линейные, все сразу). Кроме того, ECS Blue/Green развертывания с кодом также поддерживает добавление порта прослушивателя тестирования, если вы хотите проверить вашу версию для замены перед перенаправленными к ней трафик. Это позволит вам запустить проверку тестов с помощью функции Lambda «AfterAllowTesttraffic» функции Lifecycle Clubda, которая может быть обновлена в вашем файле AppSpec.yml. Я думаю, что это действительно интересно, чтобы начать попадания ваших рук с этими развертываниями, и постепенно улучшит ваши случаи использования, чтобы получить полностью стратегию Devesecops, которая наилучшим образом соответствует вашей организационной культуре.
Счастливое развертывание!
Оригинал: «https://dev.to/aws-builders/aws-fargate-from-start-to-devsecops-240l»