Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página apresenta uma breve introdução ao Airflow e aos DAGs, além de descrever os recursos do Cloud Composer.
Para mais informações sobre os novos recursos nas versões do Cloud Composer, consulte Notas de lançamento.
Sobre o Cloud Composer
O Cloud Composer é um serviço totalmente gerenciado de orquestração de fluxos de trabalho que permite criar, programar, monitorar e gerenciar pipelines de fluxo de trabalho que abrangem nuvens e data centers no local.
O Cloud Composer é baseado no conhecido 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, os usuários podem aproveitar o melhor do Airflow sem sobrecarga de instalação ou de gerenciamento. Com o Cloud Composer, você cria ambientes gerenciados do Airflow rapidamente e usa as ferramentas nativas dele. Isso inclui a interface da Web avançada do Airflow e as ferramentas de linha de comando. Assim, você se concentra nos fluxos de trabalho e não na infraestrutura.
Diferenças entre as versões do Cloud Composer
Para mais informações sobre as diferenças entre as versões principais do Cloud Composer, consulte Visão geral do controle de versões do Cloud Composer.
Airflow e DAGs do Airflow (fluxos de trabalho)
Na 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ê quer programar e executar, organizadas de uma forma que reflita os relacionamentos e as dependências delas. Os DAGs são criados em arquivos Python, que definem a estrutura do DAG usando o código. O objetivo do DAG é garantir que cada tarefa seja executada no momento e na ordem corretos.
Cada tarefa em um DAG pode representar quase tudo. Por exemplo, uma tarefa pode executar qualquer uma das seguintes funções:
- Como preparar os dados para processamento
- Como monitorar uma API
- Como enviar um e-mail
- Como executar um pipeline
Além de executar um DAG em uma programação, é possível acionar DAGs manualmente ou em resposta a eventos, como mudanças em um bucket do Cloud Storage. Para mais informações, consulte Programar e acionar DAGs.
Para mais informações sobre DAGs e tarefas, consulte a documentação do Apache Airflow (em inglês).
Ambientes do Cloud Composer
Os ambientes do Cloud Composer são implantações autônomas do Airflow baseadas no Google Kubernetes Engine. Eles funcionam com outros Google Cloud serviços usando conectores integrados ao Airflow. É possível criar um ou mais ambientes em um único Google Cloud projeto, em qualquer região compatível.
O Cloud Composer provisiona 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: os componentes do Airflow, como programadores, acionadores e workers do Airflow, são executados como cargas de trabalho do GKE em um único cluster criado para seu ambiente e são responsáveis pelo processamento e pela execução de 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 , reunir registros para armazenar no Cloud Logging e reunir métricas para fazer upload no Cloud Monitoring.
Servidor da Web do Airflow: o servidor da Web executa a interface do Apache Airflow.
Banco de dados do Airflow: armazena os metadados do Apache Airflow.
Bucket do Cloud Storage: o Cloud Composer associa um bucket do Cloud Storage ao seu ambiente. Esse bucket, também chamado de bucket do ambiente, armazena DAGs, registros, plug-ins personalizados, e dados do ambiente. Para mais informações sobre o bucket do ambiente, consulte Dados armazenados no Cloud Storage.
Para ver informações detalhadas sobre os componentes de um ambiente, consulte Arquitetura do ambiente.
Interfaces do Cloud Composer
O Cloud Composer oferece interfaces para gerenciar ambientes, instâncias do Airflow executadas em ambientes e DAGs individuais.
Por exemplo, é possível criar e configurar ambientes do Cloud Composer no Google Cloud console, Google Cloud CLI, API Composer ou no Terraform.
Como outro exemplo, é possível gerenciar DAGs no Google Cloud console, na interface nativa do Airflow ou executando comandos da Google Cloud CLI e da CLI do Airflow.
Recursos do Airflow no Cloud Composer
Ao usar o Cloud Composer, é possível gerenciar e usar recursos do Airflow, como:
DAGs do Airflow: é possível adicionar, atualizar, remover ou acionar DAGs do Airflow no Google Cloud console ou usando a interface nativa do Airflow.
Opções de configuração do Airflow: é possível mudar as opções de configuração do Airflow dos valores padrão usados pelo Cloud Composer para valores personalizados. No Cloud Composer, algumas das opções de configuração são bloqueadas e não é possível mudar os valores delas.
Plug-ins personalizados: é possível instalar plug-ins personalizados do Airflow, como operadores, hooks, sensores ou interfaces internos do Apache Airflow, no seu ambiente do Cloud Composer.
Dependências do Python: é possível instalar dependências do Python do Índice de pacotes Python no ambiente ou de um repositório de pacotes particular, incluindo repositórios do Artifact Registry. Se as dependências não estiverem no índice de pacotes, também será possível usar plug-ins.
Registro e monitoramento de DAGs, componentes do Airflow e ambientes do Cloud Composer:
É possível ver os registros do Airflow associados a tarefas únicas de DAG na interface da Web do Airflow e na pasta
logsno bucket do ambiente.Registros do Cloud Monitoring e métricas de ambiente para ambientes do Cloud Composer.
Controle de acesso no Cloud Composer
Você gerencia a segurança no nível do Google Cloud projeto e pode atribuir papéis do IAM que permitam que usuários individuais modifiquem ou criem ambientes. Se uma pessoa não tiver acesso ao seu projeto ou não tiver um papel apropriado do IAM do Cloud Composer, ela não poderá acessar nenhum de seus ambientes.
Além do IAM, é possível usar o controle de acesso da interface do Airflow, que é baseado no modelo de controle de acesso do Apache Airflow.
Para mais informações sobre os recursos de segurança no Cloud Composer, consulte Visão geral da segurança do Cloud Composer.
Rede de ambiente
O Cloud Composer oferece suporte a várias configurações de rede para ambientes, com muitas opções de configuração. Por exemplo, em um ambiente de IP particular, os DAGs e os componentes do Airflow são totalmente isolados da Internet pública.
Para mais informações sobre redes no Cloud Composer, consulte as páginas de recursos de rede individuais:
- Ambientes de IP público e IP particular
- Como conectar um ambiente à rede VPC
- Ambientes de VPC compartilhada
- Como configurar o VPC Service Controls
Outros recursos do Cloud Composer
Outros recursos do Cloud Composer incluem:
- Ambientes de escalonamento automático
- Desenvolvimento com ambientes locais do Airflow
- Ambientes altamente resilientes
- Snapshots de ambiente
- Integração de linhagem de dados com o Knowledge Catalog
- Criptografia com chaves de criptografia gerenciadas pelo cliente (CMEK)
Perguntas frequentes
O Cloud Composer usa qual versão do Apache Airflow?
Os ambientes do Cloud Composer são baseados em imagens do Cloud Composer. Ao criar um ambiente, é possível selecionar uma imagem com uma versão específica do Airflow:
- O Cloud Composer 3 oferece suporte ao Airflow 2.
- O Cloud Composer 2 oferece suporte ao Airflow 2.
- O Cloud Composer 1 oferece suporte ao Airflow 1 e ao Airflow 2.
Você controla a versão do Apache Airflow do seu ambiente. É possível decidir fazer upgrade do ambiente para uma versão mais recente da imagem do Cloud Composer. Cada versão do Cloud Composer oferece suporte a várias versões do Apache Airflow.
Posso usar a IU e a CLI nativas do Airflow?
Você pode acessar a interface da Web do Apache Airflow no seu ambiente. Cada um dos ambientes tem a própria IU do Airflow. Para mais informações sobre como acessar a IU do Airflow, consulte Interface da Web do Airflow.
Para executar comandos da CLI do Airflow nos seus ambientes, use comandos gcloud.
Para 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 o banco de dados do Airflow?
O Cloud Composer usa um serviço de banco de dados gerenciado para o banco de dados do Airflow. Não é possível usar um banco de dados fornecido pelo usuário como o banco de dados do Airflow.
Posso usar meu próprio cluster como um cluster do Cloud Composer?
O Cloud Composer usa o serviço do Google Kubernetes Engine para criar, gerenciar e excluir clusters de ambiente em que 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 do Google Kubernetes Engine autogerenciado.
Posso usar meu próprio Container Registry?
O Cloud Composer usa o serviço do Artifact Registry para gerenciar repositórios de imagens de contêiner usados por ambientes do Cloud Composer. Não é possível substituí-lo por um Container Registry fornecido pelo usuário.
Os ambientes do Cloud Composer são zonais ou regionais?
Ao criar um ambiente, você especifica uma região para ele:
- Os ambientes padrão do Cloud Composer têm um banco de dados do Airflow zonal e uma camada de execução do Airflow multizonal. O banco de dados do Airflow está localizado em uma das zonas da região especificada, e os componentes do Airflow são distribuídos entre várias zonas.
- Altamente resilientes (altamente disponíveis) Os ambientes do Cloud Composer têm um banco de dados do Airflow multizonal e uma camada de execução do Airflow multizonal. Um ambiente altamente resiliente é executado em pelo menos duas zonas da região selecionada. O Cloud Composer distribui automaticamente os componentes do ambiente entre as zonas. O componente do Cloud SQL que armazena o banco de dados do Airflow tem uma instância principal e uma instância de espera distribuídas entre as zonas na região selecionada.