Modelo de responsabilidad compartida de Airflow administrado

Managed Airflow (3ª gen.) | Managed Airflow (2ª gen.) | Managed Airflow (1ª gen. heredada)

La ejecución de una aplicación fundamental para la empresa en Managed Airflow requiere que varias partes cumplan con diferentes responsabilidades. Si bien no es una lista exhaustiva, en este documento se enumeran las responsabilidades de Google y del cliente.

Responsabilidades de Google

  • Endurecimiento y aplicación de parches a los componentes y la infraestructura subyacente del entorno de Managed Airflow, incluidos el clúster de Google Kubernetes Engine, la base de datos de Cloud SQL (que aloja la base de datos de Airflow), Pub/Sub, Artifact Registry y otros elementos del entorno. En particular, esto incluye la actualización automática de la infraestructura subyacente, incluido el clúster de GKE y la instancia de Cloud SQL de un entorno.

  • Protección del acceso a los entornos de Managed Airflow mediante la incorporación del control de acceso que proporciona IAM, la encriptación de datos en reposo de forma predeterminada, la provisión de encriptación de almacenamiento adicional administrada por el cliente y la encriptación de datos en tránsito.

  • Provisión de Google Cloud integraciones para Identity and Access Management, Registros de auditoría de Cloud y Cloud Key Management Service.

  • Restricción y registro del acceso de administrador de Google a los clústeres de los clientes para obtener asistencia contractual con la Transparencia de acceso y la Aprobación de acceso.

  • Publicación de información sobre los cambios incompatibles con versiones anteriores entre las versiones de Managed Airflow y Airflow en las Notas de la versión de Managed Airflow.

  • Mantenimiento actualizada de la documentación de Managed Airflow:

    • Provisión de una descripción de todas las funcionalidades que proporciona Managed Airflow.

    • Provisión de instrucciones para solucionar problemas que ayudan a mantener los entornos en buen estado.

    • Publicación de información sobre problemas conocidos con soluciones alternativas (si existen).

  • Resolución de incidentes de seguridad críticos relacionados con los entornos de Managed Airflow y las imágenes de Airflow que proporciona Managed Airflow (excepto los paquetes de Python instalados por el cliente) mediante la entrega de versiones nuevas del entorno que abordan los incidentes.

  • Según el plan de asistencia del cliente, solución de problemas de estado del entorno de Managed Airflow.

  • Mantenimiento y expansión de la funcionalidad del proveedor de Terraform de Managed Airflow.

  • Cooperación con la comunidad de Apache Airflow para mantener y desarrollar operadores de Google Airflow.

  • Solución de problemas y, si es posible, corrección de problemas en las funcionalidades principales de Airflow.

Responsabilidades de los clientes

  • Actualización a versiones nuevas de Managed Airflow y Airflow para mantener la compatibilidad con el producto y resolver problemas de seguridad una vez que el servicio de Managed Airflow publique una versión de Managed Airflow que aborde los problemas.

  • Mantenimiento del código de los DAG para que siga siendo compatible con la versión de Airflow utilizada.

  • Mantenimiento de los permisos adecuados en IAM para la cuenta de servicio del entorno. En particular, mantener los permisos que requiere el agente de Managed Airflow y la cuenta de servicio del entorno. Mantenimiento del permiso requerido para la clave de CMEK que se usa para la encriptación del entorno de Managed Airflow y rotación según tus necesidades.

  • Mantenimiento de los permisos adecuados en IAM para el bucket del entorno bucket .

  • Mantenimiento de los permisos de IAM adecuados para una cuenta de servicio que realiza instalaciones de paquetes de PyPI. Para obtener más información, consulta Control de acceso.

  • Mantenimiento de los permisos adecuados del usuario final en IAM y la configuración de Control de acceso de la IU de Airflow.

  • Mantenimiento del tamaño de la base de datos de Airflow por debajo de 20 GB mediante la configuración de una política de retención de la base de datos.

  • Resolución de todos los problemas de análisis de DAG antes de generar casos de asistencia para Atención al cliente de Cloud.

  • Asignación de nombres a los DAG de forma adecuada (por ejemplo, sin usar caracteres invisibles como ESPACIO o TAB en los nombres de DAG) para que las métricas se puedan informar correctamente para los DAG.

  • Actualización del código de los DAG para que no use operadores obsoletos y migración a sus alternativas actualizadas. Es posible que se quiten los operadores obsoletos de los proveedores de Airflow, lo que podría afectar tus planes para actualizar a una versión posterior de Managed Airflow o Airflow. Los operadores obsoletos tampoco se mantienen y se deben usar “tal cual”.

  • Configuración de los permisos de IAM adecuados cuando se usan backends secretos como Secret Manager para que la cuenta de servicio del entorno tenga acceso a ellos.

  • Ajuste de los parámetros del entorno de Managed Airflow (como la CPU y la memoria para los componentes de Airflow) y las configuraciones de Airflow para satisfacer las expectativas de rendimiento y carga de los entornos de Managed Airflow con la guía de optimización de Managed Airflow y la guía de escalamiento del entorno.

  • Evitar quitar los permisos que requieren el agente de Managed Airflow y las cuentas de servicio del entorno (quitar estos permisos puede provocar operaciones de administración fallidas o fallas de DAG y tareas).

  • Mantener habilitados todos los servicios y las APIs que requiere Managed Airflow. Estas dependencias deben tener cuotas configuradas en los niveles requeridos para Managed Airflow.

  • Seguir las recomendaciones y las prácticas recomendadas para implementar DAG.

  • Diagnóstico de fallas de DAG y tareas con instrucciones para solucionar problemas del programador, DAG y activador.

  • Mantenimiento de un plan de recuperación ante desastres, incluida la configuración y la administración de instantáneas para satisfacer tus necesidades de retención de datos y continuidad del negocio. Google no restablece los entornos borrados ni sus copias de seguridad de la base de datos.

  • Mantenimiento de la cadena de suministro de dependencias de Python para los paquetes que instala el cliente. Esto incluye la solución de errores de instalación causados por desajustes de dependencias de Python y la definición de restricciones de versión específicas cuando se agregan o modifican estos paquetes.

¿Qué sigue?