» Я проверил документы AWS по развертыванию настроенных правил eventbridge с помощью SAM и шаблона Cloudformation. Проблема в создании шаблона в соответствии с требованиями, но после указания параметров различными способами и IAM разрешений проблема решена. С точки зрения стоимости, решение дешевле и безопаснее».
Amazon EventBridge — это бессерверная служба шины событий, которую можно использовать для связи приложений с данными из различных источников. EventBridge передает поток данных в реальном времени из ваших приложений, приложений «ПО как услуга» (SaaS) и служб AWS таким целям, как функции AWS Lambda, конечные точки HTTP-вызовов с использованием направлений API или шины событий в других учетных записях AWS.
Правило сопоставляет входящие события и отправляет их на цели для обработки. Одно правило может отправлять событие на несколько целей, которые затем выполняются параллельно. Правила основаны либо на шаблоне события, либо на расписании. Шаблон события определяет структуру события и поля, которым соответствует правило. Правила, основанные на расписании, выполняют действие через регулярные промежутки времени.
В этой заметке вы познакомитесь с развертыванием настроенных правил eventbridge с использованием модели бессерверного приложения и шаблона cloudformation из codepipeline. Здесь я создал s3, kms, codecommit repo и codepipeline для развертывания правил eventbridge, которые создаются с использованием параметров sam и шаблона cloudformation. Также я создал лямбда и пошаговую функцию для целевой задачи.
- Предварительные условия
- Обзор архитектуры
- Обзор решения
- Этап 1: В аккаунте A, создание S3, KMS, IAM, CodeCommit Repo и CodePipeline
- Этап 2: В аккаунте A создайте файлы BuildSpec.yml и Template.yaml, содержащие детали конфигурации для правил EventBridge с использованием шаблона модели бессерверного приложения и параметров шаблона Cloudformation
- Этап 3: В аккаунте B создание правил EventBridge через Cloudformation Stack из конвейера аккаунта A и его параметра ChangeSet
- Очистка
- Ценообразование
- Резюме
Предварительные условия
Для этого поста вам понадобится AWS Step Functions. Начало работы с AWS Step Functions содержит инструкции по созданию пошаговой функции с несколькими сервисными входами для перспективы потока.
Для этого поста вам понадобится AWS Lambda. Начало работы с aws Lambda содержит инструкции по созданию лямбда-функции. Для этого блога я предполагаю, что у меня есть лямбда-функция и шаговая функция.
Обзор архитектуры
На схеме архитектуры показана общая архитектура развертывания с потоком данных, двумя учетными записями aws, code commit, code build, code deploy, code pipeline, s3, cloudformation, artifact, lambda, kms, step function и eventbridge rule.
Обзор решения
Статья в блоге состоит из следующих этапов:
- В аккаунте A создайте S3, KMS, IAM, CodeCommit Repo и CodePipeline.
- В аккаунте A создание файлов BuildSpec.yml и Template.yaml, содержащих детали конфигурации для правил EventBridge с использованием шаблона модели бессерверного приложения и параметров шаблона Cloudformation.
- В аккаунте B, создание правил EventBridge через стек Cloudformation из конвейера аккаунта A и его параметра ChangeSet.
В аккаунте B у меня есть лямбда-функция и шаговая функция, созданные следующим образом →
Этап 1: В аккаунте A, создание S3, KMS, IAM, CodeCommit Repo и CodePipeline
- Откройте консоль для S3, KMS, IAM, CodeCommit Repo и CodePipeline вручную или с помощью cloudformation stack.
Этап 2: В аккаунте A создайте файлы BuildSpec.yml и Template.yaml, содержащие детали конфигурации для правил EventBridge с использованием шаблона модели бессерверного приложения и параметров шаблона Cloudformation
- Откройте консоль CodeCommit, создайте файл buildspec и файл шаблона. Файл шаблона содержит настроенные параметры для создания правил event bridge с s3 в качестве источника и шаговой функции в качестве цели, где лямбда-вызов в шаговой функции.
Этап 3: В аккаунте B создание правил EventBridge через Cloudformation Stack из конвейера аккаунта A и его параметра ChangeSet
- После развертывания изменений в основной ветке репозитория запускается конвейер, который создает правила eventbridge для функции step в качестве цели с помощью лямбда-вызова.
Очистка
В аккаунте B: Удаление стека cloudformation, IAM, лямбда и шаговой функции. В аккаунте A: Удаление S3, KMS, IAM, репо codecommit и codepipeline.
Ценообразование
Я рассматриваю ценообразование и примерную стоимость этого примера.
Стоимость CodeBuild = $0.0
Стоимость CodeCommit = $0,0
Стоимость Lambda = $0,0
Стоимость службы управления ключами = $0,01
Стоимость Simple Storage Service = $1.0
Стоимость пошаговых функций = $0.0
Стоимость правил EventBridge = $0,0
Общая стоимость = $(0,0 + 0,0 + 0,0 + 0,01 + 1,0 + 0,0 + 0,0) = $1,01
Резюме
В этом посте я показал «как развернуть настраиваемые правила eventbridge с помощью модели бессерверного приложения и шаблона cloudformation из codepipeline».
Для получения более подробной информации о правилах Amazon EventBridge Rules, ознакомьтесь с разделом Приступите к работе с правилами Amazon EventBridge Rules, откройте консоль Amazon EventBridge. Чтобы узнать больше, ознакомьтесь с документацией Amazon EventBridge.
Спасибо за чтение!
Свяжитесь со мной: Linkedin