Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page explique comment transférer des DAG, des données et des configurations de vos environnements Cloud Composer 1, Airflow 2 existants vers Cloud Composer 2, Airflow 2.
Ce guide de migration utilise la fonctionnalité Instantanés.
Autres guides de migration
Origine(s) | Cible(s) | Méthode | Guide |
---|---|---|---|
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Côte à côte, à l'aide d'instantanés | Ce guide (instantanés) |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Côte à côte, à l'aide d'instantanés | Guide de migration (instantanés) |
Cloud Composer 1, Airflow 2 | Cloud Composer 2, Airflow 2 | Transfert manuel côte à côte | Guide de migration manuelle |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transfert manuel côte à côte | Guide de migration manuelle |
Airflow 1 | Airflow 2 | Transfert manuel côte à côte | Guide de migration manuelle |
Avant de commencer
Les instantanés sont compatibles avec Cloud Composer 2 version 2.0.9 et versions ultérieures. Cloud Composer 1 est compatible avec l'enregistrement des instantanés d'environnement dans la version 1.18.5.
Cloud Composer prend en charge la migration côte à côte de Cloud Composer 1 vers Cloud Composer 2. Il n'est pas possible de passer de Cloud Composer 1 à Cloud Composer 2 en place.
Consultez la liste des différences entre Cloud Composer 1 et Cloud Composer 2.
La taille maximale de la base de données Airflow compatible avec les instantanés est de 20 Go. Si la base de données de votre environnement prend plus de 20 Go, réduisez la taille de la base de données Airflow.
Étape 1: Mettez en pause les DAG dans votre environnement Cloud Composer 1
Pour éviter les exécutions de DAG en double, suspendez tous les DAG dans votre environnement Cloud Composer 1 avant d'enregistrer leur instantané.
Vous pouvez utiliser l'une des options suivantes:
Dans l'interface Web Airflow, accédez à la page DAG et suspendez tous les DAG manuellement.
Utilisez le script composer_dags pour suspendre tous les DAG:
python3 composer_dags.py --environment COMPOSER_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Remplacez :
COMPOSER_1_ENV
par le nom de votre environnement Cloud Composer 1.PROJECT_ID
par l'ID du projet.COMPOSER_1_LOCATION
par la région dans laquelle se trouve l'environnement.
Étape 2: Enregistrez l'instantané de votre environnement Cloud Composer 1
Console
Créez un instantané de votre environnement:
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement Cloud Composer 1. La page Détails de l'environnement s'ouvre.
Cliquez sur Create snapshot (Créer un instantané).
Dans la boîte de dialogue Créer un instantané, cliquez sur Envoyer. Dans ce guide, vous enregistrez l'instantané dans le bucket de l'environnement Cloud Composer 1, mais vous pouvez sélectionner un autre emplacement si vous le souhaitez.
Attendez que Cloud Composer crée l'instantané.
gcloud
Obtenez l'URI du bucket de votre environnement Cloud Composer 1:
Exécutez la commande ci-dessous.
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Remplacez :
COMPOSER_1_ENV
par le nom de votre environnement Cloud Composer 1.COMPOSER_1_LOCATION
par la région dans laquelle se trouve l'environnement.
Dans le résultat, supprimez le dossier
/dags
. Le résultat est l'URI du bucket de votre environnement Cloud Composer 1.Par exemple, remplacez
gs://us-central1-example-916807e1-bucket/dags
pargs://us-central1-example-916807e1-bucket
.
Créez un instantané de votre environnement Cloud Composer 1:
gcloud beta composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Remplacez :
COMPOSER_1_ENV
par le nom de votre environnement Cloud Composer 1.COMPOSER_1_LOCATION
par la région où se trouve l'environnement Cloud Composer 1.COMPOSER_1_SNAPSHOTS_FOLDER
par l'URI du bucket de votre environnement Cloud Composer 1. Dans ce guide, vous enregistrez l'instantané dans le bucket de l'environnement Cloud Composer 1, mais vous pouvez sélectionner un autre emplacement si vous le souhaitez. Si vous spécifiez un emplacement personnalisé, les comptes de service des deux environnements doivent disposer d'autorisations de lecture et d'écriture pour l'emplacement spécifié.
Étape 3: Créez un environnement Cloud Composer 2
Créez un environnement Cloud Composer 2. Vous pouvez commencer avec un environnement prédéfini qui correspond à vos besoins en ressources attendus, puis faire évoluer et optimiser votre environnement.
Vous n'avez pas besoin de spécifier des remplacements de configuration et des variables d'environnement, car vous les remplacerez ultérieurement lorsque vous chargerez l'instantané de votre environnement Cloud Composer 1.
Étape 4: Chargez l'instantané dans votre environnement Cloud Composer 2
Console
Pour charger l'instantané dans votre environnement Cloud Composer 2, procédez comme suit:
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement Cloud Composer 2. La page Détails de l'environnement s'ouvre.
Cliquez sur Charger l'instantané.
Dans la boîte de dialogue Charger l'instantané, cliquez sur Parcourir.
Sélectionnez le dossier contenant l'instantané. Si vous utilisez l'emplacement par défaut pour ce guide, ce dossier se trouve dans votre bucket d'environnement Cloud Composer 1, dans le dossier
/snapshots
, et son nom correspond au code temporel de l'opération d'enregistrement de l'instantané. Exemple :us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.Cliquez sur Charger et attendez que Cloud Composer charge l'instantané.
gcloud
Chargez l'instantané de votre environnement Cloud Composer 1 dans votre environnement Cloud Composer 2:
gcloud beta composer environments snapshots load \
COMPOSER_2_ENV \
--location COMPOSER_2_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Remplacez :
COMPOSER_2_ENV
par le nom de votre environnement Cloud Composer 2.COMPOSER_2_LOCATION
par la région où se trouve l'environnement Cloud Composer 2.SNAPSHOT_PATH
par l'URI du bucket de votre environnement Cloud Composer 1, suivi du chemin d'accès à l'instantané. Par exemple,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Étape 5: Réactivez les DAG dans l'environnement Cloud Composer 2
Vous pouvez utiliser l'une des options suivantes:
Dans l'interface Web Airflow, accédez à DAG et réactivez tous les DAG manuellement un par un.
Utilisez le script composer_dags pour réactiver tous les DAG:
python3 composer_dags.py --environment COMPOSER_2_ENV \ --project PROJECT_ID \ --location COMPOSER_2_LOCATION \ --operation unpause
Remplacez :
COMPOSER_2_ENV
par le nom de votre environnement Cloud Composer 2.PROJECT_ID
par l'ID du projet.COMPOSER_2_LOCATION
par la région dans laquelle se trouve l'environnement.
Étape 6: Recherchez les erreurs liées au DAG
Dans l'interface Web Airflow, accédez aux DAG et recherchez les erreurs de syntaxe des DAG signalés.
Vérifiez que les exécutions du DAG sont planifiées au bon moment.
Attendez que les exécutions du DAG se produisent dans l'environnement Cloud Composer 2 et vérifiez si elles ont réussi. Si l'exécution du DAG a réussi, ne la réactivez pas dans l'environnement Cloud Composer 1. Si vous le faites, un DAG s'exécutera à la même heure et à la même date dans votre environnement Cloud Composer 1.
Si l'exécution d'un DAG spécifique échoue, essayez de résoudre les problèmes liés au DAG jusqu'à ce qu'il s'exécute correctement dans Cloud Composer 2.
Étape 7: Surveillez votre environnement Cloud Composer 2
Une fois que vous avez transféré tous les DAG et la configuration vers l'environnement Cloud Composer 2, surveillez-les pour détecter les problèmes potentiels, les exécutions de DAG ayant échoué et l'état général de l'environnement.
Si l'environnement Cloud Composer 2 s'exécute sans problème pendant une période suffisante, envisagez de supprimer l'environnement Cloud Composer 1.
Étapes suivantes
- Découvrez comment résoudre les problèmes liés aux DAG.
- Résoudre les problèmes de création d'environnement
- Résoudre les problèmes liés aux mises à jour de l'environnement
- Utiliser des packages de rétroportage