Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve a arquitetura dos ambientes do Cloud Composer.
Configurações de arquitetura do ambiente
Os ambientes do Cloud Composer 2 podem ter as seguintes configurações de arquitetura:
Projetos de clientes e inquilinos
Quando cria um ambiente, o Cloud Composer distribui os recursos do ambiente entre um inquilino e um projeto do cliente:
O projeto do cliente é um Google Cloud projeto onde cria os seus ambientes. Pode criar mais do que um ambiente num único projeto de cliente.
O projeto de inquilino é um projeto de inquilino gerido pela Google e pertence à organização Google.com. O projeto de inquilino oferece controlo de acesso unificado e uma camada adicional de segurança de dados ao seu ambiente. Cada ambiente do Cloud Composer tem o seu próprio projeto de inquilino.
Componentes do ambiente
Um ambiente do Cloud Composer é composto por componentes do ambiente.
Um componente de ambiente é um elemento de uma infraestrutura do Airflow gerida que é executado no Google Cloud, como parte do seu ambiente. Os componentes do ambiente são executados no inquilino ou no projeto do cliente do seu ambiente.
Cluster do ambiente
O cluster do ambiente é um cluster do Google Kubernetes Engine Autopilot no modo nativo da VPC do seu ambiente:
Por predefinição, o Cloud Composer ativa as atualizações automáticas de nós e a autorreparação de nós para proteger o cluster do seu ambiente contra vulnerabilidades de segurança. Estas operações ocorrem durante os períodos de manutenção que especificar para o seu ambiente.
Segmento do ambiente
O contentor do ambiente é um contentor do Cloud Storage que armazena DAGs, plug-ins, dependências de dados e registos do Airflow. O contentor do ambiente está localizado no projeto do cliente.
Quando carrega os ficheiros DAG para a pasta /dags
no contentor do seu ambiente, o Cloud Composer sincroniza os DAGs com os componentes do Airflow do seu ambiente.
Servidor Web do Airflow
O servidor Web do Airflow executa a IU do Airflow do seu ambiente.
O Cloud Composer fornece acesso à interface com base nas identidades dos utilizadores e nas associações de políticas do IAM definidas para os utilizadores.
Base de dados do Airflow
A base de dados do Airflow é uma instância do Cloud SQL que é executada no projeto de inquilino do seu ambiente. Alojamento da base de dados de metadados do Airflow.
Para proteger informações confidenciais de ligação e fluxo de trabalho, o Cloud Composer permite o acesso à base de dados apenas à conta de serviço do seu ambiente.
Outros componentes do fluxo de ar
Outros componentes do Airflow que são executados no seu ambiente:
Os programadores do Airflow analisam ficheiros de definição de DAG, programam execuções de DAG com base no intervalo de programação e colocam tarefas em fila para execução pelos trabalhadores do Airflow. No Cloud Composer 2, os processadores DAG do Airflow são executados como parte dos componentes do programador.
Os acionadores do Airflow monitorizam de forma assíncrona todas as tarefas adiadas no seu ambiente. Se definir o número de acionadores no seu ambiente acima de zero, pode usar operadores adiáveis nos seus DAGs.
Os trabalhadores do Airflow executam tarefas agendadas pelos programadores do Airflow. O número mínimo e máximo de trabalhadores no seu ambiente muda dinamicamente consoante o número de tarefas na fila.
Arquitetura do ambiente de IP público
Numa arquitetura de ambiente de IP público para o Cloud Composer 2:
- O projeto de inquilino aloja uma instância do Cloud SQL e armazenamento do Cloud SQL.
- O projeto do cliente aloja todos os outros componentes do ambiente.
- Os programadores e os trabalhadores do Airflow no projeto do cliente comunicam com a base de dados do Airflow através de uma instância de proxy do Cloud SQL localizada no projeto do cliente.
Arquitetura do ambiente de IP privado
Por predefinição, o Cloud Composer 2 usa o Private Service Connect, para que os seus ambientes de IP privado comuniquem internamente sem usar interligações de VPC. Também é possível usar as interligações de VPC em vez do Private Service Connect no seu ambiente. Esta é uma opção não predefinida.
Na arquitetura do ambiente de IP privado:
- O projeto de inquilino aloja uma instância do Cloud SQL e armazenamento do Cloud SQL.
- O projeto do cliente aloja todos os outros componentes do ambiente.
- Os programadores e os trabalhadores do Airflow estabelecem ligação à base de dados do Airflow através do ponto final do PSC configurado.
Arquitetura de IP privado altamente resiliente
Os ambientes do Cloud Composer altamente resilientes (altamente disponíveis) são ambientes multizonais que usam redundância incorporada e mecanismos de failover que reduzem a suscetibilidade do ambiente a falhas zonais e interrupções de ponto único de falha.
Neste tipo de ambiente de IP privado:
- Um componente do Cloud SQL do seu ambiente tem uma instância principal e uma instância de reserva que são distribuídas entre zonas.
- O seu ambiente executa dois programadores do Airflow, dois servidores Web e, se forem usados acionadores, um mínimo de dois (até um total de dez) acionadores. Estes pares de componentes são executados em duas zonas separadas.
- O número mínimo de trabalhadores está definido como dois e o cluster do seu ambiente distribui instâncias de trabalhadores entre zonas. Em caso de uma indisponibilidade zonal, as instâncias de trabalho afetadas são reagendadas numa zona diferente.
Integração com o Cloud Logging e o Cloud Monitoring
O Cloud Composer integra-se com o Cloud Logging e o Cloud Monitoring do seu Google Cloud projeto, para que tenha um local central para ver os registos do Airflow e DAG.
O Cloud Monitoring recolhe e carrega métricas, eventos e metadados do Cloud Composer para gerar estatísticas através de painéis de controlo e gráficos.
Devido à natureza de streaming do Cloud Logging, pode ver os registos emitidos pelos componentes do Airflow imediatamente, em vez de esperar que os registos do Airflow apareçam no contentor do Cloud Storage do seu ambiente.
Para limitar o número de registos no seu Google Cloud projeto, pode parar toda a ingestão de registos. Não desative o registo.