Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página fornece uma breve introdução ao Airflow e aos DAGs e descreve os recursos e funcionalidades do Cloud Composer.
Para obter mais informações sobre novos recursos nas versões do Cloud Composer, consulte Notas de versão .
Sobre o Cloud Composer
O Cloud Composer é um serviço de orquestração de fluxo de trabalho totalmente gerenciado, que permite criar, agendar, monitorar e gerenciar pipelines de fluxo de trabalho que abrangem nuvens e data centers locais.
O Cloud Composer foi criado no popular projeto de código aberto Apache Airflow e opera usando a linguagem de programação Python.
Ao usar o Cloud Composer em vez de uma instância local do Apache Airflow, você pode aproveitar o melhor do Airflow sem custos de instalação ou gerenciamento. O Cloud Composer ajuda você a criar ambientes Airflow gerenciados rapidamente e a usar ferramentas nativas do Airflow, como a poderosa interface web do Airflow e as ferramentas de linha de comando, para que você possa se concentrar em seus fluxos de trabalho e não em sua infraestrutura.
Diferenças entre as versões do Cloud Composer
Para obter mais informações sobre as diferenças entre as principais versões do Cloud Composer, consulte Visão geral do controle de versões do Cloud Composer .
Fluxo de ar e DAGs de fluxo de ar (fluxos de trabalho)
Em análise de dados, um fluxo de trabalho representa uma série de tarefas para ingestão, transformação, análise ou utilização de dados. No Airflow, os fluxos de trabalho são criados usando DAGs, ou "Gráficos Acíclicos Direcionados".
Um DAG é uma coleção de tarefas que você deseja agendar e executar, organizadas de forma a refletir seus relacionamentos e dependências. Os DAGs são criados em arquivos Python, que definem a estrutura do DAG usando código. O objetivo do DAG é garantir que cada tarefa seja executada no momento certo e na ordem correta.
Cada tarefa em um DAG pode representar quase tudo — por exemplo, uma tarefa pode executar qualquer uma das seguintes funções:
- Preparando dados para ingestão
- Monitoramento de uma API
- Enviando um e-mail
- Executando um pipeline
Além de executar um DAG conforme uma programação, você pode acioná-los manualmente ou em resposta a eventos, como alterações em um bucket do Cloud Storage. Para obter mais informações, consulte Agendar e acionar DAGs .
Para obter mais informações sobre DAGs e tarefas, consulte a documentação do Apache Airflow .
Ambientes do Cloud Composer
Os ambientes do Cloud Composer são implantações Airflow independentes baseadas no Google Kubernetes Engine. Eles funcionam com outros Google Cloudserviços usando conectores integrados ao Airflow. Você pode criar um ou mais ambientes em um único Google Cloudprojeto, em qualquer região suportada .
Provisões do Cloud Composer Google Cloud serviços que executam seus fluxos de trabalho e todos os componentes do Airflow. Os principais componentes de um ambiente são:
Cluster do GKE : componentes do Airflow, como agendadores, acionadores e trabalhadores do Airflow, são executados como cargas de trabalho do GKE em um único cluster criado para seu ambiente e são responsáveis por processar e executar DAGs.
O cluster também hospeda outros componentes do Cloud Composer, como o Composer Agent e o Airflow Monitoring, que ajudam a gerenciar o ambiente do Cloud Composer, coletar logs para armazenar no Cloud Logging e coletar métricas para carregar no Cloud Monitoring.
Servidor web Airflow : O servidor web executa a interface de usuário do Apache Airflow.
Banco de dados do Airflow : o banco de dados contém os metadados do Apache Airflow.
Bucket do Cloud Storage : o Cloud Composer associa um bucket do Cloud Storage ao seu ambiente. Este bucket, também chamado de bucket do ambiente , armazena os DAGs , logs , plugins personalizados e dados do ambiente. Para obter mais informações sobre o bucket do ambiente, consulte Dados armazenados no Cloud Storage .
Para uma visão mais aprofundada dos componentes de um ambiente, consulte Arquitetura do ambiente .
Interfaces do Cloud Composer
O Cloud Composer fornece interfaces para gerenciar ambientes, instâncias do Airflow executadas em ambientes e DAGs individuais.
Por exemplo, você pode criar e configurar ambientes do Cloud Composer em Google Cloud console, Google Cloud CLI, Cloud Composer API ou Terraform.
Como outro exemplo, você pode gerenciar DAGs deGoogle Cloud console, interface de usuário nativa do Airflow ou executando comandos Google Cloud CLI e Airflow CLI .
Recursos do Airflow no Cloud Composer
Ao usar o Cloud Composer, você pode gerenciar e usar recursos do Airflow como:
DAGs de fluxo de ar : você pode adicionar, atualizar, remover ou acionar DAGs de fluxo de ar em Google Cloud console ou usando a interface nativa do Airflow.
Opções de configuração do Airflow : você pode alterar os valores padrão usados pelo Cloud Composer para valores personalizados nas opções de configuração do Airflow. No Cloud Composer, algumas opções de configuração estão bloqueadas e você não pode alterar seus valores.
Plugins personalizados : você pode instalar plug-ins personalizados do Airflow , como operadores, ganchos, sensores ou interfaces Apache Airflow personalizados e internos, no seu ambiente do Cloud Composer.
Dependências do Python : Você pode instalar dependências do Python a partir do Índice de Pacotes do Python em seu ambiente ou de um repositório de pacotes privado, incluindo repositórios do Artifact Registry. Se as dependências não estiverem no índice de pacotes, você também pode usar plugins.
Registro e monitoramento para DAGs, componentes do Airflow e ambientes do Cloud Composer:
Você pode visualizar logs do Airflow associados a tarefas DAG individuais na interface da web do Airflow e na pasta
logs
no bucket do ambiente .Logs de monitoramento de nuvem e métricas de ambiente para ambientes do Cloud Composer.
Controle de acesso no Cloud Composer
Você gerencia a segurança no Google Cloud nível de projeto e pode atribuir funções do IAM que permitem que usuários individuais modifiquem ou criem ambientes. Se alguém não tiver acesso ao seu projeto ou não tiver uma função do IAM apropriada no Cloud Composer, essa pessoa não poderá acessar nenhum dos seus ambientes.
Além do IAM, você pode usar o controle de acesso da interface de usuário do Airflow , que é baseado no modelo de controle de acesso do Apache Airflow.
Para obter mais informações sobre os recursos de segurança do Cloud Composer, consulte Visão geral de segurança do Cloud Composer .
Rede de ambiente
O Cloud Composer oferece suporte a diversas configurações de rede para ambientes, com muitas opções de configuração. Por exemplo, em um ambiente com IP privado, os DAGs e os componentes do Airflow são totalmente isolados da internet pública.
Para obter mais informações sobre redes no Cloud Composer, consulte as páginas de recursos de rede individuais:
- Ambientes de IP público e IP privado
- Conectando um ambiente à sua rede VPC
- Ambientes VPC compartilhados
- Configurando controles de serviço VPC
Outros recursos do Cloud Composer
Outros recursos do Cloud Composer incluem:
- Ambientes de dimensionamento automático
- Desenvolvimento com ambientes Airflow locais
- Ambientes altamente resilientes
- Instantâneos do ambiente
- Criptografia com chaves de criptografia gerenciadas pelo cliente (CMEK)
- Integração de linhagem de dados com Dataplex
Perguntas frequentes
Qual versão do Apache Airflow o Cloud Composer usa?
Os ambientes do Cloud Composer são baseados em imagens do Cloud Composer . Ao criar um ambiente, você pode selecionar uma imagem com uma versão específica do Airflow:
- O Cloud Composer 3 é compatível com o Airflow 2.
- O Cloud Composer 2 é compatível com o Airflow 2.
- O Cloud Composer 1 é compatível com Airflow 1 e Airflow 2.
Você tem controle sobre a versão do Apache Airflow do seu ambiente. Você pode optar por atualizar seu ambiente para uma versão mais recente da imagem do Cloud Composer. Cada versão do Cloud Composer oferece suporte a diversas versões do Apache Airflow.
Posso usar a interface de usuário e a interface de linha de comando nativas do Airflow?
Você pode acessar a interface web do Apache Airflow do seu ambiente. Cada um dos seus ambientes tem sua própria interface de usuário do Airflow. Para obter mais informações sobre como acessar a interface de usuário do Airflow, consulte Interface web do Airflow .
Para executar comandos da CLI do Airflow em seus ambientes, use os comandos gcloud
. Para obter mais informações sobre como executar comandos da CLI do Airflow em ambientes do Cloud Composer, consulte Interface de linha de comando do Airflow .
Posso usar meu próprio banco de dados como banco de dados do Airflow?
O Cloud Composer usa um serviço de banco de dados gerenciado para o banco de dados Airflow. Não é possível usar um banco de dados fornecido pelo usuário como banco de dados Airflow.
Posso usar meu próprio cluster como um cluster do Cloud Composer?
O Cloud Composer utiliza o serviço do Google Kubernetes Engine para criar, gerenciar e excluir clusters de ambiente onde os componentes do Airflow são executados. Esses clusters são totalmente gerenciados pelo Cloud Composer.
Não é possível criar um ambiente do Cloud Composer com base em um cluster autogerenciado do Google Kubernetes Engine.
Posso usar meu próprio registro de contêiner?
O Cloud Composer utiliza o serviço Artifact Registry para gerenciar repositórios de imagens de contêiner usados pelos ambientes do Cloud Composer. Não é possível substituí-lo por um registro de contêiner fornecido pelo usuário.
Os ambientes do Cloud Composer são zonais ou regionais?
Os ambientes padrão do Cloud Composer 3 têm um banco de dados Airflow zonal e uma camada de execução Airflow regional. Agendadores, trabalhadores e servidores web do Airflow são executados na camada de execução do Airflow.