Configurer des environnements hautement résilients

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Cette page explique comment configurer Cloud Composer hautement résilient de l'infrastructure.

À propos de la résilience pour les défaillances de zone dans Cloud Composer

Les environnements Cloud Composer hautement résilients utilisent la redondance intégrée. et des mécanismes de basculement qui réduisent la vulnérabilité de l'environnement aux et les pannes de point de défaillance unique.

Par exemple, une panne de zone interrompt les tâches Airflow qui s'exécutent dans un dans la zone. Par la suite, un environnement hautement résilient se rétablit, redémarre les composants affectés dans une autre zone et bascule sa base de données sur une zone secondaire. Les tâches Airflow ayant échoué peuvent être reprogrammées redémarré par Airflow, tout en conservant l'historique des DAG et d'autres paramètres.

Un environnement hautement résilient s'exécute dans au moins deux zones d'une dans la même région. Cloud Composer distribue automatiquement les composants de votre entre les zones.

Vous pouvez utiliser des environnements Cloud Composer hautement résilients processus métier critiques.

À propos de la base de données à disponibilité élevée de votre environnement

Dans les environnements Cloud Composer à disponibilité élevée, Cloud SQL qui stocke la base de données de votre environnement mode haute disponibilité. Une instance Cloud SQL configurée pour la haute disponibilité est aussi appelée instance régionale et se trouve dans une zone principale et une zone secondaire de la région configurée. Dans une instance régionale, la configuration se compose d'une instance principale et une instance de secours.

En cas de panne, l'instance Cloud SQL de votre environnement le basculement automatique de la base de données vers l'instance Cloud SQL de secours ; Compute Engine. Aucune autre action n'est requise dans votre Cloud Composer. Une fois que la zone principale est opérationnelle l'environnement revient à deux zones (principale et secondaire). Dans certains cas, les zones principale et secondaire peuvent être interverties. La L'instance Cloud SQL en mode haute disponibilité utilise la même adresse IP après un basculement.

À propos des composants Airflow à disponibilité élevée

Les environnements Cloud Composer à disponibilité élevée exécutent Airflow sont répartis entre les zones.

Votre environnement exécute toujours exactement deux programmeurs 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 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 répartit les instances de nœuds de calcul entre les zones. Dans en cas de panne zonale, les instances de nœuds de calcul concernées sont reprogrammées une zone différente.

Pour en savoir plus sur l'architecture des environnements hautement résilients, Consultez la section Architecture d'un environnement hautement résilient.

Avant de commencer

  • Disponibilité d'environnements hautement résilients uniquement dans les environnements IP privés.

  • Des environnements hautement résilients sont proposés à des frais supplémentaires par rapport au des environnements réguliers.

  • Cloud Composer propose des environnements hautement résilients versions 2.2.0 et ultérieures.

  • Si vous souhaitez passer d'un environnement standard à un environnement hautement résilient, vérifiez qu'il répond aux exigences de configuration suivantes. Si votre environnement ne répond pas à ces exigences, vous pouvez mettre à jour leur échelle et leurs paramètres de performances.

    • Le nombre minimal de nœuds de calcul Airflow est d'au moins deux.
    • Le nombre de programmeurs Airflow est exactement de deux.
    • Si vous utilisez des opérateurs différables dans vos DAG, puis au moins 2 déclencheurs.

Créer un environnement hautement résilient

Pour créer un environnement hautement résilient, activer le mode haute résilience lorsque vous créez un environnement.

Mettre à jour un environnement standard vers le mode de résilience élevée

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Sélectionnez l'onglet Configuration de l'environnement.

  4. Dans la section Mode de résilience, cliquez sur Modifier.

  5. 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 environnement
  • LOCATION: région dans laquelle se trouve l'environnement.

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez la Masque config.resilienceMode.

    2. Dans le corps de la requête, spécifiez HIGH_RESILIENCE pour passer au haut débit le mode de résilience mobile.

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 la résilience . Pour utiliser le mode de résilience élevée, 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 environnement
  • LOCATION: région dans laquelle se trouve l'environnement.

Exemple :

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Faire passer un environnement hautement résilient au mode de résilience standard

Vous pouvez passer votre environnement au mode de résilience standard à tout moment. Ce opération:

  • Réduit le nombre de serveurs Web de votre environnement à 1.
  • Cette option désactive le mode haute disponibilité de votre la base de données Airflow de votre environnement.
  • Ne modifie pas les paramètres du nombre minimal de nœuds de calcul Airflow, les planificateurs ou les déclencheurs.

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Sélectionnez l'onglet Configuration de l'environnement.

  4. Dans la section Mode de résilience, cliquez sur Modifier.

  5. Sélectionnez Résilience 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 Composer
  • LOCATION: région dans laquelle se trouve l'environnement.

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez la Masque config.resilienceMode.

    2. Dans le corps de la requête, spécifiez RESILIENCE_MODE_UNSPECIFIED pour changer 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 la 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 environnement
  • LOCATION: région dans laquelle 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

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Sélectionnez l'onglet Configuration de l'environnement.

  4. Dans la section Mode de résilience, affichez le mode de résilience de votre environnement.

gcloud

Pour vérifier si le mode de résilience élevée est activé dans votre environnement, exécutez la à l'aide de la commande Google Cloud CLI suivante. La valeur True signifie que le mode de 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 Composer
  • LOCATION: région dans laquelle se trouve l'environnement.

Étape suivante