» Я проверил решение для последовательного развертывания изменений кода сценария с утверждением в различных учетных записях, таких как 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.
- Обзор архитектуры
- Обзор решения
- Этап 1: В основном аккаунте создайте CodeCommit Repo, S3 Bucket, KMS и CodePipeline
- Этап 2: В Dev-аккаунте создайте Glue Connection и Glue Job с помощью шаблона Cloudformation
- Этап 3: Тестирование развертывания кода сценария Python с помощью CodePipeline
- Очистка
- Ценообразование
- Резюме
Обзор архитектуры
На схеме архитектуры показана общая архитектура развертывания с потоком данных, двумя учетными записями aws, code commit, code deploy, code pipeline, s3, cloudformation, kms, glue.
Обзор решения
Решение состоит из следующих этапов:
- В основном аккаунте создаем CodeCommit Repo, S3 Bucket, KMS и CodePipeline.
- В Dev Account создание Glue Connection и Glue Job с использованием шаблона Cloudformation
- Тестирование развертывания скриптового Python-кода с помощью CodePipeline
Этап 1: В основном аккаунте создайте CodeCommit Repo, S3 Bucket, KMS и CodePipeline
- Откройте консоль для создания репозитория фиксации, ведра S3 с его шифрованием и добавлением политики ведра для кросс-аккаунтного доступа. Также создайте пользовательский управляемый ключ и конвейер кода. После создания codepipeline автоматически будет создана роль IAM трубопровода.
Этап 2: В Dev-аккаунте создайте Glue Connection и Glue Job с помощью шаблона Cloudformation
- Откройте консоль Cloudformation, создайте glue connection и glue job с необходимыми параметрами с помощью файла template.yaml.
Этап 3: Тестирование развертывания кода сценария Python с помощью CodePipeline
- Код сценария 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