Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Cette page explique comment configurer des environnements Cloud Composer hautement résilients.
À propos de la résilience en cas de défaillances zonales dans Cloud Composer
Les environnements Cloud Composer hautement résilients utilisent des mécanismes de redondance et de basculement intégrés qui réduisent la sensibilité de l'environnement aux pannes zonales et aux pannes liées à un point de défaillance unique.
Par exemple, une panne zonale interrompt les tâches Airflow exécutées dans une zone spécifique. Ensuite, un environnement hautement résilient se rétablit, redémarre ses composants affectés dans une autre zone et transfère sa base de données vers une zone secondaire. Ainsi, les tâches Airflow ayant échoué peuvent être reprogrammées et redémarrées par Airflow, tout en préservant l'historique des exécutions de DAG et d'autres paramètres.
Un environnement hautement résilient s'exécute sur au moins deux zones d'une région sélectionnée. Cloud Composer distribue automatiquement les composants de votre environnement entre les zones.
Vous pouvez utiliser des environnements Cloud Composer hautement résilients pour vos processus métier critiques.
À propos de la base de données hautement disponible de votre environnement
Dans les environnements Cloud Composer hautement disponibles, l'instance Cloud SQL qui stocke la base de données de votre environnement s'exécute en mode haute disponibilité. Une instance Cloud SQL configurée pour la haute disponibilité est également appelée "instance régionale". Elle se situe dans une zone principale et dans une zone secondaire de la région configurée. Au sein d'une instance régionale, la configuration se compose d'une instance principale et d'une instance de secours.
En cas de panne, l'instance Cloud SQL de votre environnement effectue le basculement automatique de la base de données vers l'instance Cloud SQL de secours. Vous n'avez aucune action supplémentaire à effectuer dans votre environnement Cloud Composer. Une fois la zone principale de nouveau opérationnelle, l'environnement revient à deux zones (principale et secondaire). Dans certains cas, les zones principale et secondaire peuvent être interchangées. L'instance Cloud SQL en mode haute disponibilité utilise la même adresse IP après un basculement.
À propos des composants Airflow hautement disponibles
Les environnements Cloud Composer hautement disponibles exécutent des composants Airflow distribués entre les zones.
Votre environnement exécute toujours exactement deux planificateurs Airflow, deux serveurs Web et au moins deux (mais pas plus de dix) déclencheurs si les déclencheurs sont activés. Ces paires de composants s'exécutent dans des zones distinctes. Le nombre minimal de nœuds de calcul est défini sur deux, et le cluster de votre environnement distribue les instances de nœuds de calcul entre les zones. En cas de panne zonale, les instances de nœud de calcul concernées sont reprogrammées dans une autre zone.
Pour en savoir plus sur l'architecture des environnements hautement résilients, consultez la page Architecture d'un environnement hautement résilient.
Avant de commencer
Les environnements hautement résilients ne sont disponibles que dans les environnements d'adresse IP privée.
Les environnements hautement résilients sont proposés en supplément par rapport aux environnements standards.
Les environnements hautement résilients sont disponibles dans Cloud Composer version 2.2.0 et versions ultérieures.
Si vous souhaitez passer d'un environnement standard à un environnement hautement résilient, assurez-vous qu'il répond aux exigences de configuration suivantes. Si votre environnement ne répond pas à ces exigences, vous pouvez mettre à jour ses paramètres d'évolutivité et de performances.
- Le nombre minimal de nœuds de calcul Airflow est de deux ou plus.
- Le nombre de programmeurs Airflow est exactement de deux.
- Si vous utilisez des opérateurs différables dans vos DAG, vous devez utiliser au moins deux déclencheurs.
Créer un environnement hautement résilient
Pour créer un environnement hautement résilient, activez le mode haute résilience lorsque vous créez un environnement.
Passer d'un environnement standard au mode haute résilience
Console
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Sélectionnez l'onglet Configuration de l'environnement.
Dans la section Mode résilience, cliquez sur Modifier.
Sélectionnez Haute résilience, puis cliquez sur Enregistrer.
gcloud
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-high-resilience
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région où se trouve l'environnement.
API
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.resilienceMode
.Dans le corps de la requête, spécifiez
HIGH_RESILIENCE
pour passer au mode haute résilience.
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode
{
"config": {
"resilience_mode": { "HIGH_RESILIENCE" }
}
}
Terraform
Le champ resilience_mode
du bloc config
spécifie le mode de résilience. Pour utiliser le mode haute résilience, définissez cette valeur sur HIGH_RESILIENCE
.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "HIGH_RESILIENCE"
}
}
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région où se trouve l'environnement.
Exemple :
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "HIGH_RESILIENCE"
}
Passer d'un environnement hautement résilient au mode de résilience standard
Vous pouvez passer à tout moment au mode de résilience standard. Cette opération:
- Réduit le nombre de serveurs Web dans votre environnement à un.
- Désactive le mode haute disponibilité de la base de données Airflow de votre environnement.
Ne modifie pas les paramètres du nombre minimal de nœuds de calcul, de planificateurs ou de déclencheurs Airflow.
Console
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Sélectionnez l'onglet Configuration de l'environnement.
Dans la section Mode résilience, cliquez sur Modifier.
Sélectionnez Résistance standard (par défaut), puis cliquez sur Enregistrer.
gcloud
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-high-resilience
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnement Cloud ComposerLOCATION
: région où se trouve l'environnement.
API
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.resilienceMode
.Dans le corps de la requête, spécifiez
RESILIENCE_MODE_UNSPECIFIED
pour passer au mode de résilience standard.
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode
{
"config": {
"resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
}
}
Terraform
Le champ resilience_mode
du bloc config
spécifie le mode de résilience. Pour utiliser le mode de résilience standard, définissez cette valeur sur STANDARD_RESILIENCE
.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "STANDARD_RESILIENCE"
}
}
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnementLOCATION
: région où se trouve l'environnement.
Exemple :
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "STANDARD_RESILIENCE"
}
Vérifier si votre environnement s'exécute en mode haute résilience
Console
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Sélectionnez l'onglet Configuration de l'environnement.
Dans la section Mode de résilience, affichez le mode de résilience de votre environnement.
gcloud
Pour vérifier si le mode haute résilience est activé dans votre environnement, exécutez la commande Google Cloud CLI suivante. La valeur True
signifie que le mode haute résilience est activé dans votre environnement.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.resilienceMode)"
Remplacez les éléments suivants :
ENVIRONMENT_NAME
: nom de votre environnement Cloud ComposerLOCATION
: région où se trouve l'environnement.
Étape suivante
- Effectuez des tests de basculement pour votre environnement hautement résilient.
- Reprise après sinistre avec des instantanés d'environnement