Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, explicamos como transferir DAGs, dados e configuração dos ambientes atuais do Cloud Composer 1, Airflow 2 para o Cloud Composer 2, Airflow 2.
Este guia de migração usa o recurso Snapshots.
Outros guias de migração
De | Até | Método | Guia |
---|---|---|---|
Cloud Composer 1 e Airflow 2 | Cloud Composer 2, Airflow 2 | Lado a lado, usando snapshots | Este guia (snapshots) |
Cloud Composer 1, Airflow 1 | Cloud Composer 2 e Airflow 2 | Lado a lado, usando snapshots | Guia de migração (snapshots) |
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Lado a lado, transferência manual | Guia de migração manual |
Cloud Composer 1 e Airflow 1 | Cloud Composer 2, Airflow 2 | Lado a lado, transferência manual | Guia de migração manual |
Airflow 1 | Airflow 2 | Transferência manual lado a lado | Guia de migração manual |
Antes de começar
Os snapshots são compatíveis com o Cloud Composer 2 versão 2.0.9 e posterior. O Cloud Composer 1 oferece suporte ao salvamento de snapshots de ambiente na versão 1.18.5.
O Cloud Composer é compatível com a migração lado a lado do Cloud Composer 1 para o Cloud Composer 2. Não é possível fazer upgrade do Cloud Composer 1 para o Cloud Composer 2 no local.
Confira a lista de diferenças entre o Cloud Composer 1 e o Cloud Composer 2.
O tamanho máximo do banco de dados do Airflow compatível com snapshots é de 20 GB. Se o banco de dados do seu ambiente ocupar mais de 20 GB, reduz 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.
Etapa 1: pausar os DAGs no ambiente do Cloud Composer 1
Para evitar execuções de DAG duplicadas, pause todos os DAGs no Cloud Composer 1 antes de salvar o snapshot.
Você pode usar qualquer uma das seguintes opções:
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_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Substitua:
COMPOSER_1_ENV
pelo nome do ambiente do Cloud Composer 1.PROJECT_ID
pelo ID do projeto;COMPOSER_1_LOCATION
pela região em que o ambiente está localizado;
Etapa 2: salvar o snapshot do ambiente do Cloud Composer 1
Console
Crie um snapshot do seu ambiente:
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 1. A página Detalhes do ambiente é aberta.
Clique em Criar snapshot.
Na caixa de diálogo Criar snapshot, clique em Enviar. Em deste guia, você vai salvar o snapshot no ambiente do Cloud Composer 1 bucket, mas é possível selecionar um local diferente, se você quiser.
Aguarde até que o Cloud Composer crie o snapshot.
gcloud
Receba o URI do bucket do ambiente do Cloud Composer 1:
Execute este comando:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Substitua:
COMPOSER_1_ENV
pelo nome do Cloud Composer 1 de nuvem.COMPOSER_1_LOCATION
pela região em que o ambiente está localizado;
Na saída, remova a pasta
/dags
. O resultado é o URI do bucket do ambiente do Cloud Composer 1.Por exemplo, altere
gs://us-central1-example-916807e1-bucket/dags
parags://us-central1-example-916807e1-bucket
.
Crie um instantâneo do ambiente do Cloud Composer 1:
gcloud composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Substitua:
COMPOSER_1_ENV
pelo nome do ambiente do Cloud Composer 1.COMPOSER_1_LOCATION
é a região em que o ambiente do Cloud Composer 1 está localizado.COMPOSER_1_SNAPSHOTS_FOLDER
pelo URI do Cloud Composer 1 bucket do seu ambiente de execução. Neste guia, você vai salvar o snapshot na bucket do ambiente do Cloud Composer 1, mas é possível selecionar um em um local diferente, se quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisam permissões de leitura e gravação do local especificado.
Etapa 3: criar um ambiente do Cloud Composer 2
Crie um ambiente do Cloud Composer 2. É possível começar com uma predefinição de ambiente que corresponda às demandas de recursos esperadas e, depois, escalonar e otimizar o ambiente ainda mais.
Não é necessário especificar substituições de configuração e variáveis de ambiente, já que elas serão substituídas mais tarde quando você carregar o snapshot do ambiente do Cloud Composer 1.
Etapa 4: carregar o snapshot no ambiente do Cloud Composer 2
Console
Para carregar o snapshot no ambiente do Cloud Composer 2:
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 2. A página Detalhes do ambiente é aberta.
Clique em Carregar snapshot.
Na caixa de diálogo Carregar snapshot, clique em Procurar.
Selecione a pasta com o snapshot. Se você usa o local padrão para deste guia, essa pasta está localizada no seu ambiente do Cloud Composer 1 bucket na pasta
/snapshots
, e o nome é o carimbo de data/hora do operação de salvamento do snapshot. Por exemplo,us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.Clique em Carregar e aguarde até que o Cloud Composer carregue o snapshot.
gcloud
Carregue o snapshot do seu ambiente do Cloud Composer 1 no Ambiente do Cloud Composer 2:
gcloud composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
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.SNAPSHOT_PATH
pelo URI do Cloud Composer 1 bucket do ambiente, seguido pelo caminho para o snapshot. Por exemplo,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Etapa 5: retomar a pausa dos DAGs no ambiente do Cloud Composer 2
Você pode usar qualquer uma das seguintes opções:
Na interface da Web do Airflow, acesse DAGs e retome todos eles manualmente, um por um.
Use o script composer_dags para retomar todos os DAGs:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
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;
Etapa 6: verificar se há erros de DAG
Na interface da Web do Airflow, acesse DAGs e verifique se há erros de sintaxe de DAG relatados.
Verifique se as execuções de DAG estão programadas para o horário correto.
Aguarde até que as execuções do DAG aconteçam no ambiente do Cloud Composer 2 e verifique se foram bem-sucedidas. Se uma execução do DAG foi bem-sucedida, não a retome no ambiente do Cloud Composer 1. Se você fizer isso, uma execução do DAG para o mesmo horário e data ocorrerá no ambiente do Cloud Composer 1.
Se uma execução de DAG específica falhar, tente resolver problemas do DAG até que ele seja executado no Cloud Composer 2.
Etapa 7: monitorar o ambiente do Cloud Composer 2
Depois de transferir todos os DAGs e a configuração para o ambiente do Airflow 2, 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 2 for executado sem problemas por um período suficiente, avalie a possibilidade de excluir o ambiente.
A seguir
- Como resolver problemas de DAGs
- Como resolver problemas da criação de ambientes
- Solução de problemas de atualizações do ambiente
- Como usar pacotes de backport