Интеграция Glue [бессерверный сервис интеграции данных] с CI/CD

» Я проверил решение для последовательного развертывания изменений кода сценария с утверждением в различных учетных записях, таких как dev, qa и prod. Также изменение конфигурации glue должно быть правильным. Я столкнулся с проблемой при использовании одного общего ведра для dev, qa и prod окружения для предоставления кода скрипта python, этот код параллельно обновляется на каждом окружении. Но требование состоит в том, чтобы сначала обновить код в dev, затем после утверждения обновить код в qa, а после утверждения обновить код в prod. Решение возможно только тогда, когда я развертываю код glue script python с помощью codepipeline и glue config с помощью cloudformation stack. Решение работает в соответствии с требованиями. Решение защищено с помощью kms, а также дешевле по стоимости».

AWS Glue — это бессерверный сервис интеграции данных, который упрощает обнаружение, подготовку и объединение данных для аналитики, машинного обучения и разработки приложений. AWS Glue предоставляет все возможности, необходимые для интеграции данных, чтобы вы могли начать анализировать свои данные и использовать их в течение нескольких минут, а не месяцев. AWS Glue предоставляет как визуальные, так и основанные на коде интерфейсы для упрощения интеграции данных. Пользователи могут легко находить и получать доступ к данным с помощью каталога данных AWS Glue Data Catalog.

AWS CodePipeline — это служба непрерывной доставки, которую можно использовать для моделирования, визуализации и автоматизации шагов, необходимых для выпуска программного обеспечения. Вы можете быстро смоделировать и настроить различные этапы процесса выпуска программного обеспечения. CodePipeline автоматизирует шаги, необходимые для непрерывного выпуска изменений в вашем программном обеспечении.

В этом посте вы познакомитесь с интеграцией glue с CICD pipeline в кросс-аккаунтах. Здесь я создал репо s3, kms, codecommit и codepipeline для развертывания кода скриптов python в ведро s3. Также я создал соединение glue и задание glue с помощью шаблона cloudformation.

Обзор архитектуры


На схеме архитектуры показана общая архитектура развертывания с потоком данных, двумя учетными записями aws, code commit, code deploy, code pipeline, s3, cloudformation, kms, glue.

Обзор решения

Решение состоит из следующих этапов:

  1. В основном аккаунте создаем CodeCommit Repo, S3 Bucket, KMS и CodePipeline.
  2. В Dev Account создание Glue Connection и Glue Job с использованием шаблона Cloudformation
  3. Тестирование развертывания скриптового Python-кода с помощью CodePipeline

Этап 1: В основном аккаунте создайте CodeCommit Repo, S3 Bucket, KMS и CodePipeline

  1. Откройте консоль для создания репозитория фиксации, ведра S3 с его шифрованием и добавлением политики ведра для кросс-аккаунтного доступа. Также создайте пользовательский управляемый ключ и конвейер кода. После создания codepipeline автоматически будет создана роль IAM трубопровода.

Этап 2: В Dev-аккаунте создайте Glue Connection и Glue Job с помощью шаблона Cloudformation

  1. Откройте консоль Cloudformation, создайте glue connection и glue job с необходимыми параметрами с помощью файла template.yaml.

Этап 3: Тестирование развертывания кода сценария Python с помощью CodePipeline

  1. Код сценария Python для glue job будет сохранен в репозитории commit и развернут в ведро s3 с помощью code pipeline. Как только код будет развернут на s3, он будет отражен в задании glue, созданном кросс-аккаунтом. Также мы можем обновить конфигурацию glue путем обновления стека cloudformation.

Очистка

В Dev Account: Удаление стека cloudformation и роли IAM. В основном аккаунте: Удаление S3, KMS, IAM, codecommit repo и codepipeline.

Ценообразование

Я рассматриваю ценообразование и примерную стоимость этого примера.
Стоимость CodeCommit = $0,0
Стоимость службы управления ключами = $1,00
Стоимость Simple Storage Service = $0,01
Стоимость клея = $0,0
Общая стоимость = $(0,0 + 1,00 + 0,01 + 0,0) = $1,01

Резюме

В этом посте я показал, «как сделать интеграцию клея с CICD pipeline в кросс-аккаунтах».

Для получения более подробной информации о AWS Glue, ознакомьтесь с разделом Get started AWS Glue, откройте консоль AWS Glue. Чтобы узнать больше, прочитайте документацию AWS Glue.

Для получения более подробной информации о AWS CodePipeline ознакомьтесь с разделом Get started AWS CodePipeline, откройте консоль AWS CodePipeline. Чтобы узнать больше, ознакомьтесь с документацией AWS CodePipeline.

Спасибо за чтение!

Свяжитесь со мной: Linkedin

Оцените статью
devanswers.ru
Добавить комментарий