Le 15 septembre 2026, tous les environnements Cloud Composer 1 et Cloud Composer 2 version 2.0.x atteindront leur fin de vie prévue et vous ne pourrez plus les utiliser. Nous vous recommandons de planifier la migration vers Cloud Composer 3.
Cette page explique comment mettre à jour un environnement.
À propos des opérations de mise à jour
Lorsque vous modifiez les paramètres de votre environnement, par exemple en spécifiant de nouveaux paramètres d'évolutivité et de performances, ou en installant des packages PyPI personnalisés, votre environnement est mis à jour.
Une fois cette opération terminée, les modifications sont disponibles dans votre environnement.
Pour un environnement Cloud Composer unique, vous ne pouvez démarrer qu'une seule opération de mise à jour à la fois. Vous devez attendre la fin d'une opération de mise à jour avant de commencer une autre opération d'environnement.
Impact des mises à jour sur les tâches Airflow en cours d'exécution
Lorsque vous exécutez une opération de mise à jour, les nœuds de calcul et les programmeurs Airflow de votre environnement peuvent nécessiter un redémarrage. Dans ce cas, toutes les tâches en cours d'exécution sont arrêtées. Une fois l'opération de mise à jour terminée, Airflow planifie une nouvelle tentative pour ces tâches, en fonction de la façon dont vous configurez les nouvelles tentatives pour vos DAG.
Les modifications suivantes entraînent l'arrêt des tâches Airflow :
Mettre à niveau votre environnement vers une nouvelle version.
Ajout, modification ou suppression de packages PyPI personnalisés
Modifier les variables d'environnement Cloud Composer
Ajouter ou supprimer des options de configuration Airflow, ou modifier leurs valeurs
Modifier le processeur, la mémoire ou le stockage des nœuds de calcul Airflow.
Réduire le nombre maximal de nœuds de calcul Airflow si la nouvelle valeur est inférieure au nombre de nœuds de calcul actuellement en cours d'exécution. Par exemple, si un environnement exécute actuellement trois nœuds de calcul et que le nombre maximal est réduit à deux.
Les modifications suivantes n'entraînent pas l'arrêt de la tâche Airflow :
Créer, mettre à jour ou supprimer un DAG (et non une opération de mise à jour).
Mettre en veille ou réactiver des DAG (pas une opération de mise à jour).
Modification des variables Airflow (et non une opération de mise à jour).
Modifier les connexions Airflow (pas une opération de mise à jour).
Activer ou désactiver l'intégration de la traçabilité des données Dataplex Universal Catalog.
Modifier la taille de l'environnement
Modifier le nombre de programmeurs
Modifier le processeur, la mémoire ou le stockage des programmeurs Airflow.
Modifier le nombre de déclencheurs
Modifier le processeur, la mémoire ou le stockage des déclencheurs Airflow.
Modifier le processeur, la mémoire ou le stockage du serveur Web Airflow
Augmenter ou diminuer le nombre minimal de nœuds de calcul.
Réduisez le nombre maximal de nœuds de calcul Airflow. Par exemple, si un environnement exécute actuellement deux nœuds de calcul et que le nombre maximal est réduit à trois.
Modifier les intervalles de maintenance.
Modifier les paramètres des instantanés programmés.
Modifier les libellés d'environnement
Mettre à jour avec Terraform
Exécutez terraform plan avant terraform apply pour voir si Terraform crée un nouvel environnement au lieu de le mettre à jour.
Avant de commencer
Vérifiez que votre compte, le compte de service de votre environnement et le compte de l'agent de service Cloud Composer dans votre projet disposent des autorisations requises :
La commande gcloud composer environments update se termine une fois l'opération terminée. Vous pouvez utiliser l'option --async pour éviter d'attendre la fin de l'opération.
Mettre à jour des environnements
Pour en savoir plus sur la mise à jour de votre environnement, consultez les autres pages de documentation sur les opérations de mise à jour spécifiques. Exemple :
RESOURCE_NAME par le nom de la ressource de votre environnement.
Effectuer un rollback des modifications apportées par une mise à jour
Dans de rares cas, une opération de mise à jour peut être interrompue (par exemple, en raison d'un délai d'expiration) et les modifications demandées peuvent ne pas être annulées dans tous les composants de l'environnement (comme le serveur Web Airflow).
Par exemple, une opération de mise à jour peut installer ou supprimer des modules PyPI supplémentaires, redéfinir ou définir une nouvelle variable d'environnement Airflow ou Cloud Composer, ou modifier certains paramètres liés à Airflow.
Cela peut se produire si une opération de mise à jour est déclenchée alors que d'autres opérations sont en cours, par exemple l'autoscaling ou une opération de maintenance du cluster Cloud Composer.
Dans ce cas, il est recommandé de répéter l'opération.
Durée des opérations de mise à jour ou de mise à niveau
La durée des opérations de mise à jour et de mise à niveau dépend des facteurs suivants :
La plupart des opérations de mise à jour ou de mise à niveau nécessitent le redémarrage des composants Airflow, tels que les programmeurs, les nœuds de calcul et les serveurs Web Airflow. Une fois qu'un composant est redémarré, il doit être initialisé. Lors de l'initialisation, les programmeurs et les nœuds de calcul Airflow téléchargent le contenu des dossiers /dags et /plugins à partir du bucket de l'environnement. La synchronisation des fichiers avec les programmeurs et les nœuds de calcul Airflow n'est pas instantanée. Elle dépend de la taille et du nombre total d'objets dans ces dossiers.
Nous vous recommandons de ne conserver que les fichiers DAG et de plug-in dans les dossiers /dags et /plugins (respectivement) et de supprimer tous les autres fichiers. Trop de données dans les dossiers /dags et /plugins peuvent ralentir l'initialisation des composants Airflow et, dans certains cas, la rendre impossible.
Nous vous recommandons de conserver moins de 30 Mo de données dans les dossiers /dags et /plugins, et de ne surtout pas dépasser 100 Mo. Pour en savoir plus, consultez également Gérer un grand nombre de DAG et de plug-ins.
La taille de la base de données Airflow peut augmenter considérablement la durée des opérations de mise à niveau. Nous vous recommandons de maintenir la taille de la base de données Airflow en configurant une règle de conservation de la base de données.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/29 (UTC)."],[[["\u003cp\u003eThis page describes how to update Cloud Composer environments, noting that it currently reflects Cloud Composer 2 documentation.\u003c/p\u003e\n"],["\u003cp\u003eUpdating an environment can involve changes to parameters like scaling, performance, or custom PyPI packages, with only one update operation allowed at a time.\u003c/p\u003e\n"],["\u003cp\u003eCertain updates, such as upgrading the environment or modifying custom packages and configurations, will terminate all running Airflow tasks, while others like changes to DAGs or connections will not.\u003c/p\u003e\n"],["\u003cp\u003eUpdating with Terraform may result in the deletion and recreation of the environment if the parameter being changed is not supported for updates, and caution is advised.\u003c/p\u003e\n"],["\u003cp\u003eUpdate operations can be affected by the size of data in \u003ccode\u003e/dags\u003c/code\u003e and \u003ccode\u003e/plugins\u003c/code\u003e folders, and keeping it below 30MB, and never above 100 MB, is highly recommended to prevent slowdowns or initialization failures.\u003c/p\u003e\n"]]],[],null,["# Update Cloud Composer environments\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\n**Cloud Composer 3** \\| [Cloud Composer 2](/composer/docs/composer-2/update-environments \"View this page for Cloud Composer 2\") \\| [Cloud Composer 1](/composer/docs/composer-1/update-environments \"View this page for Cloud Composer 1\")\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThis page explains how an environment can be updated.\n\nAbout update operations\n-----------------------\n\nWhen you change parameters of your environment, such as specifying new scaling\nand performance parameters, or installing custom PyPI packages, your\nenvironment updates.\n\nAfter this operation is completed, changes become available in your\nenvironment.\n\nFor a single Cloud Composer environment, you can start only one\nupdate operation at a time. You must wait for an update operation to complete\nbefore starting another environment operation.\n\nHow updates affect running Airflow tasks\n----------------------------------------\n\n| **Caution:** Some update operations **terminate all running tasks**.\n\nWhen you [run an update operation](#update-operations), Airflow schedulers and\nworkers in your environment might require a restart. In this case, all\ncurrently running tasks are terminated. After the update operation is\ncompleted, Airflow schedules these tasks for a retry, depending on the way you\nconfigure retries for your DAGs.\n| **Note:** Airflow workers can get restarted as part of the environment maintenance, during the maintenance windows.\n\nThe following changes **cause** Airflow task termination:\n\n- Upgrading your environment to a new version.\n- Adding, changing, or deleting custom PyPI packages.\n- Changing Cloud Composer environment variables.\n- Adding or removing Airflow configuration options overrides, or changing their values.\n- Changing Airflow workers' CPU, memory, or storage.\n- Reducing the maximum number of Airflow workers, if the new value is\n lower than the number of currently running workers. For example, if an\n environment currently runs three workers, and the maximum is reduced to two.\n\nThe following changes **don't cause** Airflow task termination:\n\n- Creating, updating, or deleting a DAG (not an update operation).\n- Pausing or unpausing DAGs (not an update operation).\n- Changing Airflow variables (not an update operation).\n- Changing Airflow connections (not an update operation).\n- Enabling or disabling Dataplex Universal Catalog Data Lineage integration.\n- Changing environment's size.\n- Changing the number of schedulers.\n- Changing Airflow schedulers' CPU, memory, or storage.\n- Changing the number of triggerers.\n- Changing Airflow triggerers' CPU, memory, or storage.\n- Changing Airflow web server's CPU, memory, or storage.\n- Increasing or decreasing the minimum number of workers.\n- Reducing the maximum number of Airflow workers. For example, if an environment currently runs two workers, and the maximum is reduced to three.\n- Changing maintenance windows.\n- Changing scheduled snapshots settings.\n- Changing environment labels.\n\nUpdating with Terraform\n-----------------------\n\n| **Warning:** If you attempt to change a configuration parameter that cannot be updated, Terraform **deletes your environment and creates a new one** with the new parameter value.\n\nRun `terraform plan` before `terraform apply` to see if Terraform creates a new\nenvironment instead of updating it.\n\nBefore you begin\n----------------\n\n- Check that your account, the service account of your environment, and\n the Cloud Composer Service Agent account in your project have\n required permissions:\n\n - Your account must have a role that\n [can trigger environment update operations](/composer/docs/composer-3/access-control#user-account).\n\n - The service account of your environment must have a role that\n [has enough permissions to perform update operations](/composer/docs/composer-3/access-control#service-account).\n\n- The `gcloud composer environments update` command terminates when the\n operation is finished. You can use the `--async` flag to avoid waiting for\n the operation to complete.\n\nUpdate environments\n-------------------\n\nFor more information about updating your environment, see other documentation\npages about specific update operations. For example:\n\n- [Override Airflow configuration options](/composer/docs/composer-3/override-airflow-configurations)\n- [Set environment variables](/composer/docs/composer-3/set-environment-variables)\n- [Install Python dependencies](/composer/docs/composer-3/install-python-dependencies)\n- [Scale environments](/composer/docs/composer-3/scale-environments)\n\nView environment details\n------------------------\n\n### Console\n\n1. In Google Cloud console, go to the **Environments** page.\n\n [Go to Environments](https://console.cloud.google.com/composer/environments)\n2. In the list of environments, click the name of your environment.\n The **Environment details** page opens.\n\n### gcloud\n\nRun the following `gcloud` command: \n\n gcloud composer environments describe \u003cvar translate=\"no\"\u003eENVIRONMENT_NAME\u003c/var\u003e \\\n --location \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e\n\nReplace:\n\n- `ENVIRONMENT_NAME` with the name of the environment.\n- `LOCATION` with the region where the environment is located.\n\n### API\n\nConstruct an [`environments.get`](/composer/docs/reference/rest/v1/projects.locations.environments/get) API request.\n\nExample: \n\n GET https://composer.googleapis.com/v1/projects/example-project/\n locations/us-central1/environments/example-environment\n\n### Terraform\n\nRun the `terraform state show` command for your environment's resource.\n\nThe name of your environment's Terraform resource might be different than the\nname of your environment. \n\n terraform state show google_composer_environment.\u003cvar translate=\"no\"\u003eRESOURCE_NAME\u003c/var\u003e\n\nReplace:\n\n- `RESOURCE_NAME` with the name of your environment's resource.\n\n### Rolling back update changes\n\nIn some rare situations, an update operation might be interrupted\n(for example, because of a timeout) and the requested changes might not be\nrolled back in all environment components (such as the Airflow web server).\n\nFor example, an update operation might be installing or removing additional\nPyPI modules, re-defining or defining a new Airflow or Cloud Composer\nenvironment variable, or changing some Airflow-related parameters.\n\nSuch a situation might occur if an update operation is triggered when other\noperations are in progress, for example Cloud Composer cluster's\nautoscaling or a maintenance operation.\n\nIn such a situation, it's recommended to repeat the operation.\n\n### Duration of update or upgrade operations\n\nThe duration of update and upgrade operations is affected by the following\nfactors:\n\n- Most update or upgrade operations require restarting Airflow components\n like Airflow schedulers, workers and web servers. After a component is\n restarted, it must be initialized. During the initialization, Airflow\n schedulers and workers download the contents of `/dags` and `/plugins`\n folders from the environment's bucket. The process of syncing files to\n Airflow schedulers and workers isn't instantaneous and depends on the total\n size and number of all objects in these folders.\n\n We recommend to keep only DAG and plugin files in `/dags` and `/plugins`\n folders (respectively) and remove all other files. Too much data\n in `/dags` and `/plugins` folders might slow down the initialization of\n Airflow components and in certain cases might make the initialization not\n possible.\n\n We recommend to keep less than 30 MB of data in `/dags` and `/plugins`\n folders, and to definitely not exceed 100 MB size of data. For more\n information, also see\n [Handling large number of DAGs and plugins](/composer/docs/composer-2/troubleshooting-dags#large-number-of-dags)\n- The size of the Airflow database might significantly increase the time of\n upgrade operations. We recommend to maintain the Airflow database size by\n\n configuring a [database retention policy](/composer/docs/composer-3/configure-db-retention).\n\nWhat's next\n-----------\n\n- [Upgrade environments](/composer/docs/composer-3/upgrade-environments)\n- [Override Airflow configuration options](/composer/docs/composer-3/override-airflow-configurations)"]]