En esta publicación, demostramos la automatización de la implementación de Flujos de trabajo administrados por Amazon para Apache Airflow (Amazon MWAA) que utiliza puntos finales administrados por el cliente en una VPC, lo que proporciona compatibilidad con VPC compartidas o restringidas de otro modo.
Los científicos e ingenieros de datos han hecho Flujo de aire Apache una herramienta líder de código abierto para crear canalizaciones de datos debido a su comunidad activa de código abierto, el desarrollo familiar de Python como flujos de trabajo de Directed Aciclic Graph (DAG) y una extensa biblioteca de integraciones prediseñadas. Amazon MWAA es un servicio administrado para Airflow que facilita la ejecución de Airflow en AWS sin la carga operativa de tener que administrar la infraestructura subyacente. Para cada entorno de Airflow, Amazon MWAA crea una VPC de servicio de inquilino único, que aloja la metadatos que almacena los estados y el servidor web que proporciona la interfaz de usuario. Amazon MWAA administra además las instancias de trabajador y programador de Airflow en una VPC administrada y de propiedad del cliente, para programar y ejecutar tareas que interactúan con los recursos del cliente. Esos contenedores Airflow en la VPC del cliente acceden a los recursos en la VPC del servicio a través de un Punto de enlace de VPC.
Muchas organizaciones optan por administrar centralmente su VPC usando Organizaciones de AWS, lo que permite compartir una VPC en una cuenta de propietario con recursos en una cuenta de participante diferente. Sin embargo, debido a que la creación de una nueva ruta fuera de una VPC se considera una operación privilegiada, las cuentas de los participantes no pueden crear puntos de enlace en las VPC propietarias. Además, muchos clientes no desean extender los privilegios de seguridad necesarios para crear puntos de enlace de VPC a todos los usuarios que aprovisionan entornos Amazon MWAA. Además de los puntos finales de VPC, los clientes también desean restringir la salida de datos a través de Servicio de cola simple de Amazon (Amazon SQS) y el acceso a Amazon SQS es un requisito en el Arquitectura de Amazon MWAA.
La compatibilidad con VPC compartida para Amazon MWAA agrega la capacidad de administrar sus propios puntos finales dentro de sus VPC, agregando compatibilidad con VPC compartidas y restringidas. La especificación de puntos de enlace administrados por el cliente también brinda la capacidad de cumplir con políticas de seguridad estrictas al restringir explícitamente el acceso a los recursos de VPC solo a aquellos que necesitan sus entornos de Amazon MWAA. Esta publicación demuestra cómo funcionan los puntos finales administrados por el cliente con Amazon MWAA y proporciona ejemplos de cómo automatizar el aprovisionamiento de esos puntos finales.
Resumen de la solución
La compatibilidad con VPC compartida para Amazon MWAA permite que varias cuentas de AWS creen sus entornos Airflow en VPC compartidas y administradas de forma centralizada. La cuenta propietaria de la VPC (propietario) comparte las dos subredes privadas requeridas por Amazon MWAA con otras cuentas (participantes) que pertenecen a la misma organización de AWS Organizations. Una vez compartidas las subredes, los participantes pueden ver, crear, modificar y eliminar entornos de Amazon MWAA en las subredes compartidas con ellos.
Cuando los usuarios especifican la necesidad de una VPC compartida o restringida por políticas durante la creación del entorno, Amazon MWAA primero creará los recursos de la VPC del servicio y luego ingresará a un estado pendiente por hasta 72 horas, con una Puente de eventos de Amazon notificación del cambio de estado. Esto permite a los propietarios crear los puntos de enlace necesarios en nombre de los participantes en función de la información del servicio de puntos de enlace desde la consola o API de Amazon MWAA, o mediante programación a través de un AWS Lambda función y regla EventBridge, como en el ejemplo de esta publicación.
Una vez creados esos puntos de enlace en la cuenta del propietario, el servicio de punto de enlace en la VPC Amazon MWAA de inquilino único detectará el evento de conexión del punto de enlace y reanudará la creación del entorno. Si hubiera algún problema, puede cancelar la creación del entorno eliminándolo durante este estado pendiente.
Esta característica también le permite eliminar el crear, modificar y eliminar privilegios de VPCE del desplegable Gestión de identidades y accesos de AWS (IAM) que crea entornos Amazon MWAA, incluso cuando no se utiliza una VPC compartida, porque ese permiso se impondrá a la entidad principal de IAM que crea el punto final (la función Lambda en nuestro ejemplo). Además, el entorno de Amazon MWAA proporcionará el nombre de recurso de Amazon (ARN) de la cola SQS utilizado por Airflow Celery Executor para poner en cola tareas (la cola de Celery Executor), lo que le permitirá ingresar explícitamente esos recursos en su política de red en lugar de tener que proporcionar un Permiso más abierto y generalizado.
En este ejemplo, creamos el entorno VPC y Amazon MWAA en la misma cuenta. Para las VPC compartidas entre cuentas, la regla EventBridge y la función Lambda existirían en la cuenta del propietario y el entorno de Amazon MWAA se crearía en la cuenta del participante. Ver Envío y recepción de eventos de Amazon EventBridge entre cuentas de AWS para obtener más información.
Requisitos previos
Debe tener los siguientes requisitos previos:
- Una cuenta de AWS
- Un usuario de AWS en esa cuenta, con permisos para crear VPC, puntos de enlace de VPC y entornos de Amazon MWAA.
- An Servicio de almacenamiento simple de Amazon (Amazon S3) en esa cuenta, con una carpeta llamada
dags
Crear la VPC
Comenzamos creando una VPC restrictiva usando un Formación en la nube de AWS plantilla, para simular la creación del punto final de VPC necesario y la modificación de la política del punto final SQS. Si desea utilizar una VPC existente, puede continuar con la siguiente sección.
- Descargar la plantilla de CloudFormation referenciado en Option three: Creating an Amazon VPC network without Internet access.
- Extrae el archivo
cfn-vpc-private-bjs.yml
from the downloaded ZIP archive. - Ahora editamos nuestra plantilla de CloudFormation para restringir el acceso a Amazon SQS. En
cfn-vpc-private-bjs.yml
, edite elSqsVpcEndoint
sección para que aparezca de la siguiente manera:
Esta entrada adicional del documento de política impide la salida de Amazon SQS a cualquier recurso que no esté enumerado explícitamente.
Ahora podemos crear nuestra pila de CloudFormation.
- En la consola de AWS CloudFormation, elija Crear pila.
- Seleccione Subir un archivo de plantilla.
- Elige Elija el archivo.
- Busque el archivo que modificó.
- Elige Siguiente.
- Nombre de pila, introduzca
MWAA-Environment-VPC
. - Elige Siguiente hasta llegar a la página de revisión.
- Elige Enviar.
Crear la función Lambda
Disponemos de dos opciones para la autogestión de nuestros endpoints: manual y automatizada. En este ejemplo, creamos una función Lambda que responde a la notificación EventBridge de Amazon MWAA. También puede utilizar la notificación EventBridge para enviar un Servicio de notificación simple de Amazon (Amazon SNS), como un correo electrónico, a alguien con permiso para crear el punto final de la VPC manualmente.
Primero, creamos una función Lambda para responder al evento EventBridge que emitirá Amazon MWAA.
- En la consola Lambda, elija Crear función.
- Nombre, introduzca
mwaa-create-lambda
. - Runtime, escoger 3.11 Python.
- Elige Crear función.
- Código, En la Código fuente sección, para
lambda_function
, ingrese el siguiente código: - Elige Despliegue.
- En Configuración pestaña de la función Lambda, en la Configuración general sección, elija Editar.
- Tiempo de espera, aumente a 5 minutos, 0 segundos.
- Elige Guardar.
- En Permisos sección, bajo Rol de ejecución, elija el nombre del rol para editar los permisos de esta función.
- Políticas de permisos, elija el enlace debajo Nombre de directiva.
- Elige Editar y agregue una coma y la siguiente declaración:
La política completa debería ser similar a la siguiente:
- Elige Siguiente hasta llegar a la página de revisión.
- Elige Guardar cambios.
Crear una regla de EventBridge
A continuación, configuramos EventBridge para enviar las notificaciones de Amazon MWAA a nuestra función Lambda.
- En la consola de EventBridge, elija Crear regla.
- Nombre, ingrese mwaa-create.
- Seleccione Regla con un patrón de evento.
- Elige Siguiente.
- Método de creación, escoger Formulario de patrón de usuario.
- Elige Editar patrón.
- Patrón de evento, introduzca la siguiente:
- Elige Siguiente.
- Seleccione un objetivo, escoger función lambda.
También puede especificar una notificación SNS para recibir un mensaje cuando el estado del entorno cambie.s.
- Función, escoger
mwaa-create-lambda
. - Elige Siguiente hasta llegar a la sección final, luego elige Crear regla.
Cree un entorno de Amazon MWAA
Finalmente, creamos un entorno Amazon MWAA con puntos finales administrados por el cliente.
- En la consola de Amazon MWAA, elija Crear ambiente.
- Nombre, ingrese un nombre único para su entorno.
- Versión de flujo de aire, elija la última versión de Airflow.
- Cucharón S3, escoger Examinar S3 y elija su depósito S3 o ingrese el URI de Amazon S3.
- carpeta de DAG, escoger Examinar S3 Y elige la
dags/
carpeta en su depósito de S3 o ingrese el URI de Amazon S3. - Elige Siguiente.
- Nube privada virtual, elija la VPC que creó anteriormente.
- Acceso al servidor web, escoger Red pública (accesible a Internet).
- Grupos de seguridad, deseleccionar Crear nuevo grupo de seguridad.
- Elija el grupo de seguridad de VPC compartido creado por la plantilla de CloudFormation.
Porque los grupos de seguridad del Enlace privado de AWS Los puntos de enlace del paso anterior son autorreferenciados, debe elegir el mismo grupo de seguridad para su entorno de Amazon MWAA.
- Gestión de terminales, escoger Puntos finales administrados por el cliente.
- Mantenga las configuraciones restantes como predeterminadas y elija Siguiente.
- Elige Crear ambiente.
Cuando su entorno esté disponible, podrá acceder a él a través del Abrir la interfaz de usuario de flujo de aire enlace en la consola de Amazon MWAA.
Limpiar
Limpiar los recursos que no se utilizan activamente reduce los costos y es una buena práctica. Si no elimina sus recursos, puede incurrir en cargos adicionales. Para limpiar sus recursos, complete los siguientes pasos:
- Eliminar su Entorno Amazon MWAA, Regla de EventBridgey función lambda.
- Eliminar el Extremos de VPC creado por la función Lambda.
- Eliminar cualquiera grupos de seguridad creado, si corresponde.
- Una vez que los recursos anteriores hayan completado la eliminación, elimine el Pila de CloudFormation para asegurarse de haber eliminado todos los recursos restantes.
Resumen
Esta publicación describió cómo automatizar la creación de entornos con soporte de VPC compartido en Amazon MWAA. Esto le brinda la capacidad de administrar sus propios puntos finales dentro de su VPC, agregando compatibilidad con VPC compartidas o restringidas de otro modo. La especificación de puntos finales administrados por el cliente también brinda la capacidad de cumplir con políticas de seguridad estrictas al restringir explícitamente el acceso a los recursos de VPC solo a aquellos que necesitan sus entornos Amazon MWAA. Para obtener más información sobre Amazon MWAA, consulte la Guía del usuario de Amazon MWAA. Para obtener más publicaciones sobre Amazon MWAA, visite el Página de recursos de Amazon MWAA.
Acerca del autor.
John jackson Tiene más de 25 años de experiencia en software como desarrollador, arquitecto de sistemas y gerente de productos tanto en nuevas empresas como en grandes corporaciones y es el gerente principal de productos de AWS responsable de Amazon MWAA.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/big-data/introducing-shared-vpc-support-on-amazon-mwaa/
- :posee
- :es
- :no
- $ UP
- 10
- 100
- 11
- 13
- 15%
- 200
- 25
- 41
- 72
- 8
- a
- capacidad
- Nuestra Empresa
- arriba
- de la máquina
- accesible
- Mi Cuenta
- Cuentas
- a través de
- la columna Acción
- lector activo
- activamente
- acíclico
- add
- la adición de
- adición
- Adicionales
- Añade
- Después
- Todos
- permitir
- permitido
- Permitir
- permite
- ya haya utilizado
- también
- Amazon
- Amazon Web Services
- an
- y
- cualquier
- APACHE
- abejas
- Aparecer
- aplicable
- Archive
- somos
- AS
- automatizado
- Confirmación de Viaje
- automatizar
- Hoy Disponibles
- AWS
- Formación en la nube de AWS
- basado
- BE
- porque
- comenzar
- favor
- "Ser"
- MEJOR
- entre
- cuerpo
- ambas
- Descanso
- carga
- pero
- by
- , que son
- PUEDEN
- Puede conseguir
- el cambio
- Cambios
- cargos
- Elige
- limpia
- cliente
- código
- COM
- vibrante e inclusiva
- compatibilidad
- completar
- Completado
- conexión
- considerado
- Consola
- Contenedores
- contexto
- Corporaciones
- Precio
- podría
- Para crear
- creado
- crea
- Creamos
- creación
- cliente
- Clientes
- DÍA
- datos
- Base de datos
- Predeterminado
- demostrar
- demuestra
- despliegue
- describir
- descrito
- detalle
- detectar
- Developer
- Desarrollo
- una experiencia diferente
- que dirigieron
- documento
- sí
- No
- dos
- durante
- cada una
- Más temprano
- de forma sencilla
- efecto
- más
- Punto final
- criterios de valoración
- certificados
- garantizar
- Participar
- entrada
- Entorno
- ambientes
- Éter (ETH)
- Incluso
- Evento
- Eventos
- ejemplo
- ejemplos
- existe
- existente
- experience
- explícitamente
- ampliar
- en los detalles
- familiar
- Feature
- Archive
- filtración
- final
- Nombre
- siguiendo
- siguiente
- encontrado
- Desde
- función
- promover
- Además
- obtener
- da
- gráfica
- Grupo procesos
- Grupo
- Tienen
- es
- anfitriones
- HORAS
- Cómo
- Como Hacer
- Sin embargo
- HTML
- http
- HTTPS
- AMI
- ID
- Identidad
- if
- importar
- Impuesta
- in
- info
- información
- EN LA MINA
- instancias
- integraciones
- interactuar
- Interfaz
- Internet
- dentro
- Presentamos
- IT
- SUS
- jpg
- json
- solo
- Clave
- large
- más reciente
- líder
- APRENDE:
- Biblioteca
- LINK
- Listado
- registro
- Mira
- hecho
- HACE
- gestionan
- gestionado
- gerente
- gestiona
- manual
- a mano
- muchos
- Puede..
- Conoce a
- mensaje
- minutos
- modificado
- modificar
- más,
- múltiples
- debe
- nombre
- necesario
- ¿ Necesita ayuda
- del sistema,
- Nuevo
- Next
- .
- notificaciones
- of
- on
- habiertos
- de código abierto
- Inteligente
- operativos.
- Opciones
- or
- solicite
- organización
- para las fiestas.
- Otro
- de otra manera
- "nuestr
- afuera
- Más de
- EL DESARROLLADOR
- propietario
- los propietarios de
- Posee
- página
- participante
- Participantes
- Patrón de Costura
- pendiente
- permiso
- permisos
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- políticas
- política
- Publicación
- Artículos
- requisitos previos
- evita
- Director de la escuela
- privada
- privilegiado
- privilegios
- proceder
- Producto
- gerente de producto
- propiedades
- proporcionar
- proporciona un
- proporcionando
- Python
- R
- más bien
- en comunicarse
- recepción
- aprovecha
- reduce
- remitir
- restante
- remove
- Remoto
- Requisitos
- requisito
- Recurso
- Recursos
- Responder
- respuesta
- responsable
- restringir
- límite
- restringiendo
- Restrictivo
- currículum
- volvemos
- una estrategia SEO para aparecer en las búsquedas de Google.
- Función
- Ruta
- Regla
- Ejecutar
- s
- mismo
- programa
- los científicos
- segundos
- Sección
- EN LINEA
- políticas de seguridad
- ver
- envío
- servidor
- de coches
- Servicios
- ajustes
- compartido
- Acciones
- tienes
- similares
- sencillos
- So
- Software
- Alguien
- Fuente
- montón
- Startups
- Estado
- Posicionamiento
- Zonas
- Estado
- paso
- pasos
- STORAGE
- tienda
- tiendas
- estricto
- subredes
- tal
- SOPORTE
- Todas las funciones a su disposición
- tareas
- plantilla
- que
- esa
- La
- su
- Les
- luego
- Ahí.
- así
- aquellos
- Tres
- a
- del IRS
- verdadero
- dos
- tipo
- bajo
- subyacente
- único
- hasta
- actualización
- URI
- utilizan el
- usado
- Usuario
- Interfaz de usuario
- usuarios
- usando
- propuesta de
- Valores
- versión
- vía
- Ver
- Visite
- quieres
- we
- web
- servidor web
- servicios web
- cuando
- que
- seguirá
- dentro de
- sin
- Actividades:
- obrero
- flujos de trabajo
- se
- años
- Usted
- tú
- zephyrnet
- Zip