Modelo de responsabilidade compartilhada do Airflow gerenciado

Airflow gerenciado (geração 3) | Airflow gerenciado (geração 2) | Airflow gerenciado (geração 1 legada)

A execução de um aplicativo essencial para os negócios no Airflow Gerenciado exige que várias partes tenham responsabilidades diferentes. Embora não seja uma lista completa, este documento lista as responsabilidades do Google e do Cliente.

Responsabilidades do Google

  • Reforço e aplicação de patches nos componentes e na infraestrutura do ambiente do Airflow gerenciado, incluindo o cluster do Google Kubernetes Engine, o banco de dados do Cloud SQL (que hospeda o banco de dados do Airflow), o Pub/Sub, o Artifact Registry e outros elementos do ambiente. Em particular, isso inclui o upgrade automático da infraestrutura subjacente, incluindo o cluster do GKE e a instância do Cloud SQL de um ambiente.

  • Proteção do acesso aos ambientes do Airflow Gerenciado por meio da incorporação do controle de acesso fornecido pelo IAM, criptografia de dados em repouso por padrão, criptografia de armazenamento adicional gerenciada pelo cliente, criptografia de dados em trânsito.

  • Fornecer integrações do Google Cloud para o Identity and Access Management, os Registros de auditoria do Cloud e o Cloud Key Management Service.

  • Restringir e registrar o acesso administrativo do Google aos clusters de clientes para fins de suporte contratual com a Transparência no acesso e a Aprovação de acesso.

  • Publicação de informações sobre mudanças incompatíveis com versões anteriores entre o Airflow Gerenciado e o Airflow nas notas da versão do Airflow Gerenciado.

  • Manter a documentação do Airflow Gerenciado atualizada:

    • Fornecer uma descrição de todas as funcionalidades do Airflow Gerenciado.

    • Fornecer instruções de solução de problemas que ajudam a manter os ambientes em um estado íntegro.

    • Publicação de informações sobre problemas conhecidos com soluções alternativas (se existirem).

  • Resolver incidentes de segurança críticos relacionados a ambientes do Airflow Gerenciado e imagens do Airflow fornecidas pelo Airflow Gerenciado (exceto pacotes Python instalados pelo cliente) fornecendo novas versões de ambiente que resolvam os incidentes.

  • Dependendo do plano de suporte do cliente, solução de problemas de integridade do ambiente do Airflow Gerenciado.

  • Manter e expandir a funcionalidade do provedor do Terraform do Airflow Gerenciado.

  • Cooperar com a comunidade do Apache Airflow para manter e desenvolver operadores do Google Airflow.

  • Solução de problemas e, se possível, correção de problemas nas funcionalidades principais do Airflow.

Responsabilidades do cliente

  • Fazer upgrade para as novas versões do Airflow Gerenciado e do Airflow para manter o suporte ao produto e resolver problemas de segurança assim que o serviço Airflow Gerenciado publicar uma versão que resolva os problemas.

  • Manter o código dos DAGs para que ele seja compatível com a versão do Airflow usada.

  • Manter intacta a configuração do cluster do GKE do ambiente, especialmente o recurso de upgrade automático.

  • Manter as permissões adequadas no IAM para a conta de serviço do ambiente. Em especial, manter as permissões exigidas pelo Agente do Airflow Gerenciado e pela conta de serviço do ambiente. Manter a permissão necessária para a chave CMEK usada na criptografia do ambiente do Airflow Gerenciado e alterná-la de acordo com suas necessidades.

  • Manter as permissões adequadas no IAM para o bucket do ambiente e o repositório do Artifact Registry em que as imagens de componentes do Airflow Gerenciado são armazenadas .

  • Manter as permissões do IAM adequadas para uma conta de serviço que realiza instalações de pacotes do PyPI. Para mais informações, consulte Controle de acesso.

  • Manter as permissões adequadas do usuário final no IAM e na configuração de controle de acesso da interface do Airflow.

  • Manter o tamanho do banco de dados do Airflow abaixo de 16 GB usando o DAG de manutenção.

  • Resolva todos os problemas de análise de DAG antes de abrir casos de suporte com o Cloud Customer Care.

  • Nomear os DAGs de maneira adequada (por exemplo, sem usar caracteres invisíveis, como ESPAÇO ou TAB nos nomes dos DAGs) para que as métricas possam ser informadas corretamente para os DAGs.

  • Faça upgrade do código dos DAGs para que ele não use operadores descontinuados e migre para as alternativas atualizadas. Os operadores descontinuados podem ser removidos dos provedores do Airflow, o que pode afetar seus planos de upgrade para uma versão posterior do Airflow Gerenciado ou do Airflow. Os operadores descontinuados também não são mantidos e precisam ser usados "no estado em que se encontram".

  • Configurar as permissões de IAM adequadas ao usar back-ends de secrets, como o Secret Manager, para que a conta de serviço do ambiente tenha acesso a ele.

  • Ajustar os parâmetros do ambiente do Airflow Gerenciado (como CPU e memória para componentes do Airflow) e as configurações do Airflow para atender às expectativas de desempenho e carga dos ambientes do Airflow Gerenciado usando o guia de otimização do Airflow Gerenciado e o guia de escalonamento do ambiente.

  • Evite remover as permissões exigidas pelo agente do Airflow Gerenciado e pelas contas de serviço do ambiente. A remoção dessas permissões pode levar a falhas nas operações de gerenciamento ou em DAGs e tarefas.

  • Manter todos os serviços e APIs exigidos pelo Airflow Gerenciado sempre ativados. Essas dependências precisam ter cotas configuradas nos níveis necessários para o Airflow Gerenciado.

  • Manter os repositórios do Artifact Registry que hospedam imagens de contêiner usadas por ambientes do Airflow gerenciado.

  • Seguir as recomendações e práticas recomendadas para implementar DAGs.

  • Diagnosticar falhas de DAG e de tarefas usando instruções para solução de problemas do programador, solução de problemas de DAG e solução de problemas de gatilho.

  • Evite instalar ou executar outros componentes no cluster do GKE do ambiente que interfiram nos componentes do Airflow Gerenciado e impeçam que eles funcionem corretamente.

  • Configurar e gerenciar snapshots para atender às suas necessidades de retenção de dados e continuidade de negócios. O Google não restaura ambientes excluídos nem os backups de banco de dados deles.

  • Manter a cadeia de suprimentos de dependência do Python para pacotes instalados pelo cliente. Isso inclui solução de problemas de instalação causados por incompatibilidades de dependência do Python e definir restrições de versão específicas ao adicionar ou modificar esses pacotes.

A seguir