Migrar ambientes para o Cloud Composer 3

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Nesta página, explicamos como transferir DAGs, dados e configuração do ambiente atual do Cloud Composer 2 para o Cloud Composer 3.

Outros guias de migração

De Para Método Guia
Cloud Composer 2 Cloud Composer 3 Lado a lado, usando o script de migração Guia de migração de scripts
Cloud Composer 2 Cloud Composer 3 Lado a lado, usando snapshots Este guia
Cloud Composer 1, Airflow 2 Cloud Composer 3 Lado a lado, usando snapshots Guia de migração de snapshots
Cloud Composer 1, Airflow 2 Cloud Composer 2 Lado a lado, usando snapshots Guia de migração de snapshots
Cloud Composer 1, Airflow 2 Cloud Composer 2 Lado a lado, transferência manual Guia de migração manual
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Lado a lado, usando snapshots Guia de migração de snapshots
Cloud Composer 1, Airflow 1 Cloud Composer 2, Airflow 2 Lado a lado, transferência manual Guia de migração manual
Cloud Composer 1, Airflow 1 Cloud Composer 1, Airflow 2 Lado a lado, transferência manual Guia de migração manual

Antes de começar

  • Este guia de migração usa snapshots. Os snapshots são compatíveis com o Cloud Composer 2 versão 2.0.9 e mais recente.

  • O Cloud Composer é compatível com a migração lado a lado do Cloud Composer 2 para o Cloud Composer 3. Não é possível fazer upgrade do Cloud Composer 2 para o Cloud Composer 3 no local.

  • Confira a lista de diferenças entre o Cloud Composer 2 e o Cloud Composer 3. Verifique se o ambiente não usa recursos que ainda não estão disponíveis no Cloud Composer 3.

  • O tamanho máximo do banco de dados do Airflow que aceita snapshots é de 20 GB. Se o banco de dados do ambiente ocupar mais de 20 GB, reduza o tamanho do banco de dados do Airflow.

  • O número total de objetos nas pastas /dags, /plugins e /data no bucket do ambiente precisa ser menor que 100.000 para criar snapshots.

  • Se você usar o mecanismo XCom para transferir arquivos, use-o de acordo com as diretrizes do Airflow. A transferência de arquivos grandes ou de um grande número de arquivos usando XCom afeta o desempenho do banco de dados do Airflow e pode causar falhas ao carregar snapshots ou fazer upgrade do ambiente. Considere usar alternativas como o Cloud Storage para transferir grandes volumes de dados.

Verifique se os DAGs são compatíveis com o Cloud Composer 3

Siga estas sugestões para garantir que seus DAGs sejam compatíveis com o Cloud Composer 3:

  • A lista de pacotes no ambiente do Cloud Composer 3 pode ser diferente da do ambiente do Cloud Composer 2. Isso pode afetar a compatibilidade dos seus DAGs com o Cloud Composer 3.

  • O Cloud Composer carrega modificações de configuração, variáveis de ambiente e pacotes PyPI do snapshot do ambiente do Cloud Composer 2 para o Cloud Composer 3 sem mudar ou ajustar para compatibilidade. Para resolver conflitos entre esses parâmetros de configuração, é possível pular o carregamento de pacotes PyPI personalizados, variáveis de ambiente e substituições de configuração do Airflow ao carregar o snapshot.

  • No Cloud Composer 3, o cluster do ambiente está localizado no projeto do locatário. Verifique se os DAGs são compatíveis com essa mudança. Em particular, as cargas de trabalho KubernetesPodOperator agora são escalonadas de forma independente do seu ambiente, e não é possível usar configurações de afinidade de pod.

Pausar DAGs no ambiente do Cloud Composer 2

Para evitar execuções de DAG duplicadas, pause todos os DAGs no ambiente do Cloud Composer 2 antes de salvar o snapshot. Pule o DAG de monitoramento de atividade (airflow_monitoring). Ele é usado para fins de monitoramento e não está incluído nos snapshots de ambiente.

Você pode usar qualquer uma das seguintes opções para pausar DAGs:

  • Pause os DAGs um por um no console Google Cloud :

    1. No console Google Cloud , acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione um ambiente para ver os detalhes.

    3. Na página Detalhes do ambiente, acesse a guia DAGs.

    4. Clique no nome de um DAG.

    5. Na página Detalhes do DAG, clique em Pausar DAG.

  • Na interface da Web do Airflow, acesse DAGs e pause todos os DAGs manualmente.

  • Use o script composer_dags para pausar todos os DAGs:

    python3 composer_dags.py --environment COMPOSER_2_ENV \
      --project PROJECT_ID \
      --location COMPOSER_2_LOCATION \
      --operation pause
    

    Substitua:

    • COMPOSER_2_ENV pelo nome do ambiente do Cloud Composer 2.
    • PROJECT_ID pelo ID do projeto;
    • COMPOSER_2_LOCATION pela região em que o ambiente está localizado;

Salvar um snapshot do ambiente do Cloud Composer 2

Console

Crie um snapshot do seu ambiente:

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 2. A página Detalhes do ambiente é aberta.

  3. Clique em Criar snapshot.

  4. Na caixa de diálogo Criar snapshot, clique em Enviar. Neste guia, você salva o snapshot no bucket do ambiente do Cloud Composer 2, mas é possível selecionar um local diferente, se quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisam ter permissões de leitura e gravação para o local especificado.

  5. Aguarde até que o Cloud Composer crie o snapshot.

  6. Depois que o snapshot é criado, a mensagem exibida mostra o local dele. Salve essas informações para usar mais tarde ao carregar esse snapshot no ambiente do Cloud Composer 3.

    Por exemplo, o local do snapshot pode ser assim: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

gcloud

  1. Crie um snapshot do ambiente do Cloud Composer 2:

    gcloud composer environments snapshots save \
      COMPOSER_2_ENV \
      --location COMPOSER_2_LOCATION
    

    Substitua:

    • COMPOSER_2_ENV pelo nome do ambiente do Cloud Composer 2.
    • COMPOSER_2_LOCATION é a região em que o ambiente do Cloud Composer está localizado.
    • (opcional) Use o argumento --snapshot-location para especificar um local personalizado em que o snapshot do ambiente precisa ser armazenado.

      Neste guia, você salva o snapshot no bucket do ambiente do Cloud Composer 2, mas é possível selecionar um local diferente, se quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisarão ter permissões de leitura e gravação para o local especificado.

  2. Depois que o snapshot é criado, a mensagem exibida mostra o local dele. Salve essas informações para usar mais tarde ao carregar esse snapshot no ambiente do Cloud Composer 3.

    Por exemplo, o local do snapshot pode ser assim: gs://us-central1-example-916807e1-bucket/snapshots/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

Criar um ambiente do Cloud Composer 3

Crie um ambiente do Cloud Composer 3 usando as seguintes diretrizes:

  • Você pode começar com a mesma configuração de limites de recursos do ambiente do Cloud Composer 2 e, depois, escalonar e otimizar ainda mais a configuração.

  • Em ambientes do Cloud Composer 3, o processador de DAGs do Airflow é executado como um componente de ambiente separado. Como o processador DAG descarrega a análise de DAGs do programador, talvez seja necessário redistribuir os recursos alocados anteriormente aos programadores do Airflow. Você pode fazer isso mais tarde, depois de migrar para o Cloud Composer 3 e monitorar o desempenho do programador e do processador de DAGs.

  • O Cloud Composer 3 oferece uma configuração de rede mais simplificada em comparação com o Cloud Composer 2. É possível alternar entre a configuração de rede de IP público e IP privado e anexar e desconectar redes VPC. Não é necessário especificar intervalos de IP . Verifique se a configuração de rede do ambiente do Cloud Composer 3 corresponde à configuração do Cloud Composer 2.

  • Não é necessário especificar modificações de configuração e variáveis de ambiente, porque elas serão substituídas mais tarde ao carregar o snapshot do ambiente do Cloud Composer 2.

Carregar o snapshot no ambiente do Cloud Composer 3

Console

Para carregar o snapshot no ambiente do Cloud Composer 3:

  1. No console Google Cloud , acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 3. A página Detalhes do ambiente é aberta.

  3. Clique em Carregar snapshot.

  4. Na caixa de diálogo Carregar snapshot, clique em Procurar.

  5. Selecione a pasta com o snapshot.

    Se você usar o local padrão deste guia, essa pasta estará no bucket do ambiente do Cloud Composer 2, na pasta /snapshots, e o nome dela será o carimbo de data/hora da operação de salvamento do snapshot. O mesmo local foi mostrado na mensagem sobre a criação bem-sucedida do snapshot.

    Por exemplo: us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2024-05-15T15-23-12.

  6. Clique em Carregar e aguarde até que o Cloud Composer carregue o snapshot.

gcloud

Carregue o snapshot do ambiente do Cloud Composer 2 no ambiente do Cloud Composer 3:

gcloud composer environments snapshots load \
  COMPOSER_3_ENV \
  --location COMPOSER_3_LOCATION \
  --snapshot-path "SNAPSHOT_PATH"

Substitua:

  • COMPOSER_3_ENV com o nome do ambiente do Cloud Composer 3.
  • COMPOSER_3_LOCATION é a região em que o ambiente do Cloud Composer 3 está localizado.
  • SNAPSHOT_PATH pelo URI do bucket do ambiente do Cloud Composer 2, seguido pelo caminho do snapshot. O mesmo local foi mostrado na mensagem sobre a criação bem-sucedida do snapshot. Por exemplo, gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2024-05-15T15-23-12.

Retomar DAGs no ambiente do Cloud Composer 3

Você pode usar uma das seguintes opções:

  • Remova a pausa dos DAGs um por um no console Google Cloud :

    1. No console Google Cloud , acesse a página Ambientes.

      Acessar "Ambientes"

    2. Selecione um ambiente para ver os detalhes.

    3. Na página Detalhes do ambiente, acesse a guia DAGs.

    4. Clique no nome de um DAG.

    5. Na página Detalhes do DAG, clique em Retomar DAG.

  • Na interface da Web do Airflow, acesse DAGs e retome todos os DAGs manualmente, um por um.

  • Use o script composer_dags para retomar todos os DAGs:

      python3 composer_dags.py --environment COMPOSER_3_ENV \
      --project PROJECT_ID \
      --location COMPOSER_3_LOCATION \
      --operation unpause
    

    Substitua:

    • COMPOSER_3_ENV com o nome do ambiente do Cloud Composer 3.
    • PROJECT_ID pelo ID do projeto;
    • COMPOSER_3_LOCATION pela região em que o ambiente está localizado;

Verificar se há erros no DAG

  1. Na interface da Web do Airflow, acesse DAGs e verifique se há erros de sintaxe de DAG relatados.

  2. Verifique se as execuções de DAG estão programadas para o horário correto.

  3. Aguarde até que as execuções do DAG aconteçam no ambiente do Cloud Composer 3 e verifique se foram bem-sucedidas. Se uma execução do DAG foi bem-sucedida, não a retome no ambiente do Cloud Composer 2. Se você fizer isso, uma execução do DAG para o mesmo horário e data ocorrerá no ambiente do Cloud Composer 2.

  4. Se um DAG específico falhar, tente resolver problemas do DAG até que ele seja executado no Cloud Composer 3.

Monitorar o ambiente do Cloud Composer 3

Depois de transferir todos os DAGs e a configuração para o ambiente do Cloud Composer 3, monitore-os em busca de possíveis problemas, execuções com falha do DAG e integridade geral do ambiente.

Se o ambiente do Cloud Composer 3 for executado sem problemas por um período suficiente, avalie a possibilidade de excluir o ambiente do Cloud Composer 2.

A seguir