У цій публікації ми демонструємо автоматизоване розгортання Керовані робочі процеси Amazon для Apache Airflow (Amazon MWAA) з використанням керованих клієнтом кінцевих точок у VPC, що забезпечує сумісність із спільними або іншими обмеженими VPC.
Вчені та інженери з обробки даних створили Потік повітря Apache провідний інструмент із відкритим вихідним кодом для створення конвеєрів даних завдяки його активній спільноті з відкритим кодом, знайомій розробці на Python у вигляді робочих процесів Directed Acyclic Graph (DAG) і великій бібліотеці готових інтеграцій. Amazon MWAA — це керований сервіс для Airflow, який дозволяє легко запускати Airflow на AWS без операційного тягаря, пов’язаного з керуванням основною інфраструктурою. Для кожного середовища Airflow Amazon MWAA створює службу VPC з одним клієнтом, де розміщено базу метаданих, що зберігає стани, і веб-сервер, який забезпечує інтерфейс користувача. Крім того, Amazon MWAA керує планувальником і робочими екземплярами Airflow у VPC, що належить і керує клієнтом, щоб планувати та запускати завдання, які взаємодіють із ресурсами клієнта. Ці контейнери Airflow у VPC клієнта отримують доступ до ресурсів у VPC служби через a Кінцева точка VPC.
Багато організацій вибирають це централізовано керувати своїм VPC використання Організації AWS, що дозволяє спільно використовувати VPC в обліковому записі власника з ресурсами в іншому обліковому записі учасника. Однак, оскільки створення нового маршруту за межами VPC вважається привілейованою операцією, облікові записи учасників не можуть створювати кінцеві точки у VPC власника. Крім того, багато клієнтів не хочуть поширювати привілеї безпеки, необхідні для створення кінцевих точок VPC, на всіх користувачів, які надають середовище Amazon MWAA. Окрім кінцевих точок VPC, клієнти також хочуть обмежити вихід даних через Служба простої черги Amazon (Amazon SQS) черги, а доступ до Amazon SQS є обов’язковою умовою Архітектура Amazon MWAA.
Підтримка спільного використання VPC для Amazon MWAA дає вам можливість керувати власними кінцевими точками в межах ваших VPC, додаючи сумісність зі спільними та іншими обмеженими VPC. Визначення кінцевих точок, якими керує клієнт, також забезпечує можливість відповідати суворим політикам безпеки, чітко обмежуючи доступ до ресурсів VPC лише тими, які потрібні вашим середовищам Amazon MWAA. У цій публікації показано, як кінцеві точки, якими керує клієнт, працюють із Amazon MWAA, і наведено приклади того, як автоматизувати надання цих кінцевих точок.
Огляд рішення
Підтримка спільного використання VPC для Amazon MWAA дозволяє кільком обліковим записам AWS створювати свої середовища Airflow у спільних централізовано керованих VPC. Обліковий запис, якому належить VPC (власник), ділиться двома приватними підмережами, які потрібні для Amazon MWAA, з іншими обліковими записами (учасниками), які належать тій самій організації з організацій AWS. Після спільного доступу до підмереж учасники можуть переглядати, створювати, змінювати та видаляти середовища Amazon MWAA у підмережах, у яких вони мають спільний доступ.
Коли під час створення середовища користувачі вказують потребу в спільному або обмеженому політикою VPC, Amazon MWAA спочатку створить ресурси служби VPC, а потім перейде в стан очікування на термін до 72 годин із Amazon EventBridge повідомлення про зміну стану. Це дозволяє власникам створювати необхідні кінцеві точки від імені учасників на основі інформації про службу кінцевої точки з консолі або API Amazon MWAA або програмно через AWS Lambda і правило EventBridge, як у прикладі в цій публікації.
Після того, як ці кінцеві точки буде створено в обліковому записі власника, служба кінцевої точки в Amazon MWAA VPC з одним клієнтом виявить подію підключення кінцевої точки та відновить створення середовища. Якщо виникне проблема, ви можете скасувати створення середовища, видаливши середовище в цьому стані очікування.
Ця функція також дозволяє видалити створювати, змінювати та видаляти привілеї VPCE від Управління ідентифікацією та доступом AWS (IAM), що створює середовища Amazon MWAA, навіть якщо не використовується спільний VPC, оскільки натомість цей дозвіл буде надано принципалу IAM, який створює кінцеву точку (функція Lambda у нашому прикладі). Крім того, середовище Amazon MWAA надасть ім’я ресурсу Amazon (ARN) черги SQS, яке використовується Airflow Celery Executor для постановки завдань у чергу (черга Celery Executor), що дозволить вам явно вводити ці ресурси у свою мережеву політику замість того, щоб надавати більш відкритий і загальний дозвіл.
У цьому прикладі ми створюємо середовище VPC і Amazon MWAA в одному обліковому записі. Для спільних VPC між обліковими записами правило EventBridge і функція Lambda існуватимуть в обліковому записі власника, а середовище Amazon MWAA буде створено в обліковому записі учасника. Побачити Надсилання та отримання подій Amazon EventBridge між обліковими записами AWS для отримання додаткової інформації.
Передумови
Ви повинні мати такі передумови:
- Обліковий запис AWS
- Користувач AWS у цьому обліковому записі з дозволами на створення VPC, кінцевих точок VPC і середовищ Amazon MWAA
- An Служба простого зберігання Amazon (Amazon S3) у цьому обліковому записі з папкою під назвою
dags
Створіть VPC
Ми починаємо зі створення обмежувального VPC за допомогою AWS CloudFormation шаблон, щоб імітувати створення необхідної кінцевої точки VPC і модифікувати політику кінцевої точки SQS. Якщо ви хочете використовувати існуючий VPC, ви можете перейти до наступного розділу.
- Завантажте шаблон CloudFormation на які посилається Варіант третій: створення мережі Amazon VPC без доступу до Інтернету.
- Розпакуйте файл
cfn-vpc-private-bjs.yml
із завантаженого архіву ZIP. - Тепер ми редагуємо наш шаблон CloudFormation, щоб обмежити доступ до Amazon SQS. в
cfn-vpc-private-bjs.yml
, відредагуйтеSqsVpcEndoint
розділ матиме такий вигляд:
Цей додатковий запис у політиці запобігає виходу Amazon SQS на будь-який ресурс, який явно не вказаний у списку.
Тепер ми можемо створити стек CloudFormation.
- На консолі AWS CloudFormation виберіть Створити стек.
- Select Завантажте файл шаблону.
- Вибирати Виберіть файл.
- Перейдіть до файлу, який ви змінили.
- Вибирати МАЙБУТНІ.
- для Назва стека, введіть
MWAA-Environment-VPC
. - Вибирати МАЙБУТНІ поки не дійдете до сторінки огляду.
- Вибирати Надіслати.
Створіть лямбда-функцію
У нас є два варіанти самостійного керування нашими кінцевими точками: ручний і автоматичний. У цьому прикладі ми створюємо функцію Lambda, яка відповідає на сповіщення Amazon MWAA EventBridge. Ви також можете використовувати сповіщення EventBridge, щоб надіслати Служба простих сповіщень Amazon (Amazon SNS), як-от електронний лист, для особи, яка має дозвіл на створення кінцевої точки VPC вручну.
По-перше, ми створюємо функцію Lambda для відповіді на подію EventBridge, яку видасть Amazon MWAA.
- На консолі Lambda виберіть Створити функцію.
- для ІМ'Я, введіть
mwaa-create-lambda
. - для Час виконаннявиберіть Python 3.11.
- Вибирати Створити функцію.
- для код, В Вихідний код розділ, для
lambda_function
, введіть наступний код: - Вибирати Розгортання.
- на конфігурація вкладка функції Лямбда, у Загальна конфігурація розділ, вибрати Редагувати.
- для Тайм-аут, збільшити до 5 хвилин 0 секунд.
- Вибирати зберегти.
- У Дозволи розділ під Виконавча роль, виберіть назву ролі, щоб редагувати дозволи цієї функції.
- для Політики дозволів, виберіть посилання під Назва політики.
- Вибирати Редагувати і додайте кому та таке твердження:
Повна політика має виглядати приблизно так:
- Вибирати МАЙБУТНІ поки не дійдете до сторінки огляду.
- Вибирати Зберегти зміни.
Створіть правило EventBridge
Далі ми налаштовуємо EventBridge для надсилання сповіщень Amazon MWAA до нашої функції Lambda.
- На консолі EventBridge виберіть Створити правило.
- для ІМ'Я, введіть mwaa-create.
- Select Правило з шаблоном події.
- Вибирати МАЙБУТНІ.
- для Метод створеннявиберіть Форма шаблону користувача.
- Вибирати Редагувати шаблон.
- для Шаблон події, введіть наступні:
- Вибирати МАЙБУТНІ.
- для Виберіть цільвиберіть Лямбда-функція.
Ви також можете вказати сповіщення SNS, щоб отримувати повідомлення про зміну стану середовищаs.
- для функціявиберіть
mwaa-create-lambda
. - Вибирати МАЙБУТНІ доки не дійдете до останнього розділу, потім виберіть Створити правило.
Створіть середовище Amazon MWAA
Нарешті, ми створюємо середовище Amazon MWAA з кінцевими точками, керованими клієнтами.
- На консолі Amazon MWAA виберіть Створити середовище.
- для ІМ'Я, введіть унікальну назву для свого середовища.
- для Версія з повітряним потоком, виберіть останню версію Airflow.
- для Ковш S3виберіть Перегляньте S3 і виберіть своє відро S3 або введіть URI Amazon S3.
- для Папка DAGsвиберіть Перегляньте S3 і оберіть
dags/
у вашому сегменті S3 або введіть URI Amazon S3. - Вибирати МАЙБУТНІ.
- для Віртуальна приватна хмара, виберіть VPC, який ви створили раніше.
- для Доступ до веб -серверавиберіть Загальнодоступна мережа (доступ до Інтернету).
- для Групи безпеки, зніміть вибір Створіть нову групу безпеки.
- Виберіть спільну групу безпеки VPC, створену шаблоном CloudFormation.
Оскільки групи безпеки в AWS PrivateLink кінцеві точки з попереднього кроку є самопосиланнями, ви повинні вибрати ту саму групу безпеки для середовища Amazon MWAA.
- для Управління кінцевими точкамивиберіть Кінцеві точки, якими керує клієнт.
- Збережіть решту параметрів за замовчуванням і виберіть МАЙБУТНІ.
- Вибирати Створити середовище.
Коли ваше середовище доступне, ви можете отримати до нього доступ через Відкрийте інтерфейс Airflow посилання на консолі Amazon MWAA.
Прибирати
Очищення ресурсів, які не використовуються активно, зменшує витрати та є найкращою практикою. Якщо ви не видалите свої ресурси, з вас можуть стягнутися додаткові витрати. Щоб очистити свої ресурси, виконайте такі дії:
- Видаліть свій Середовище Amazon MWAA, Правило EventBridge та Лямбда-функція.
- Видалити Кінцеві точки VPC створений функцією лямбда.
- Видалити будь -яке групи безпеки створено, якщо це можливо.
- Після завершення видалення зазначених вище ресурсів видаліть Стек CloudFormation щоб переконатися, що ви видалили всі ресурси, що залишилися.
Підсумки
У цій публікації описано, як автоматизувати створення середовища за допомогою спільної підтримки VPC в Amazon MWAA. Це дає вам можливість керувати власними кінцевими точками у вашому VPC, додаючи сумісність до спільних або іншим чином обмежених VPC. Визначення кінцевих точок, якими керує клієнт, також забезпечує можливість відповідати суворим політикам безпеки, чітко обмежуючи доступ до ресурсів VPC лише тими, які потрібні їхнім середовищам Amazon MWAA. Щоб дізнатися більше про Amazon MWAA, див Посібник користувача Amazon MWAA. Щоб отримати більше публікацій про Amazon MWAA, відвідайте Сторінка ресурсів Amazon MWAA.
Про автора
Джон Джексон має понад 25 років досвіду роботи в програмному забезпеченні як розробник, системний архітектор і менеджер із продуктів як у стартапах, так і у великих корпораціях, а також є головним менеджером із продуктів AWS, відповідальним за Amazon MWAA.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- : має
- :є
- : ні
- $UP
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- здатність
- МЕНЮ
- вище
- доступ
- доступною
- рахунки
- Рахунки
- через
- дію
- активний
- активно
- ациклічні
- додавати
- додати
- доповнення
- Додатковий
- Додає
- після
- ВСІ
- дозволяти
- дозволено
- Дозволити
- дозволяє
- вже
- Також
- Amazon
- Amazon Web Services
- an
- та
- будь-який
- Apache
- API
- з'являтися
- застосовно
- архів
- ЕСТЬ
- AS
- автоматизувати
- Автоматизований
- автоматизація
- доступний
- AWS
- AWS CloudFormation
- заснований
- BE
- оскільки
- починати
- імені
- буття
- КРАЩЕ
- між
- тіло
- сміливий
- обидва
- Перерва
- тягар
- але
- by
- званий
- CAN
- Може отримати
- зміна
- Зміни
- вантажі
- Вибирати
- очистити
- клієнт
- код
- COM
- співтовариство
- сумісність
- повний
- Зроблено
- зв'язку
- вважається
- Консоль
- Контейнери
- контекст
- корпорації
- витрати
- може
- створювати
- створений
- створює
- створення
- створення
- клієнт
- Клієнти
- DAG
- дані
- Database
- дефолт
- демонструвати
- демонструє
- розгортання
- описувати
- описаний
- деталь
- виявляти
- Розробник
- розробка
- різний
- спрямований
- документ
- робить
- Не знаю
- два
- під час
- кожен
- Раніше
- легко
- ефект
- ще
- Кінцева точка
- кінцеві точки
- Інженери
- забезпечувати
- Що натомість? Створіть віртуальну версію себе у
- запис
- Навколишнє середовище
- середовищах
- Ефір (ETH)
- Навіть
- Event
- Події
- приклад
- Приклади
- існувати
- існуючий
- досвід
- явно
- продовжити
- обширний
- знайомий
- особливість
- філе
- фільтрація
- остаточний
- Перший
- після
- слідує
- для
- знайдений
- від
- функція
- далі
- Крім того
- отримати
- дає
- графік
- Group
- Групи
- Мати
- має
- хостів
- ГОДИННИК
- Як
- How To
- Однак
- HTML
- HTTP
- HTTPS
- IAM
- ID
- Особистість
- if
- імпорт
- накладений
- in
- інформація
- інформація
- Інфраструктура
- випадки
- замість
- інтеграцій
- взаємодіяти
- інтерфейс
- інтернет
- в
- введення
- питання
- IT
- ЙОГО
- JPG
- json
- просто
- ключ
- великий
- останній
- провідний
- УЧИТЬСЯ
- бібліотека
- LINK
- Перераховані
- каротаж
- подивитися
- made
- РОБОТИ
- управляти
- вдалося
- менеджер
- управляє
- керівництво
- вручну
- багато
- Може..
- Зустрічатися
- повідомлення
- протокол
- модифікований
- змінювати
- більше
- множинний
- повинен
- ім'я
- необхідно
- Необхідність
- необхідний
- мережу
- Нові
- наступний
- сповіщення
- Повідомлення
- of
- on
- відкрити
- з відкритим вихідним кодом
- операція
- оперативний
- Опції
- or
- порядок
- організація
- організації
- Інше
- інакше
- наші
- поза
- над
- власний
- власник
- Власники
- володіє
- сторінка
- учасник
- Учасники
- Викрійки
- в очікуванні
- дозвіл
- Дозволи
- plato
- Інформація про дані Платона
- PlatoData
- Політика
- політика
- пошта
- Пости
- практика
- передумови
- запобігає
- Головний
- приватний
- привілейовані
- привілеї
- продовжити
- Product
- менеджер по продукції
- властивості
- забезпечувати
- забезпечує
- забезпечення
- Python
- R
- швидше
- досягати
- отримати
- отримання
- знижує
- послатися
- решті
- видаляти
- Вилучено
- вимагається
- вимога
- ресурс
- ресурси
- Реагувати
- відповідь
- відповідальний
- обмежити
- обмежений
- обмежуючий
- Обмежувальний
- резюме
- повертати
- огляд
- Роль
- Маршрут
- Правило
- прогін
- s
- то ж
- розклад
- Вчені
- seconds
- розділ
- безпеку
- політики безпеки
- побачити
- послати
- сервер
- обслуговування
- Послуги
- налаштування
- загальні
- акції
- Повинен
- аналогічний
- простий
- So
- Софтвер
- Хтось
- Source
- стек
- Стартапи
- стан
- Заява
- Штати
- Статус
- Крок
- заходи
- зберігання
- зберігати
- магазинів
- строгий
- підмережі
- такі
- підтримка
- Systems
- завдання
- шаблон
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- це
- ті
- три
- до
- інструмент
- правда
- два
- тип
- при
- що лежить в основі
- створеного
- до
- оновлення
- URI
- використання
- використовуваний
- користувач
- Інтерфейс користувача
- користувачі
- використання
- значення
- Цінності
- версія
- через
- вид
- візит
- хотіти
- we
- Web
- Веб-сервер
- веб-сервіси
- коли
- який
- волі
- з
- в
- без
- Work
- робочий
- Робочі процеси
- б
- років
- ви
- вашу
- зефірнет
- Zip