Cette page s'applique à Apigee, mais pas à Apigee hybrid.
Consultez la documentation d'
Apigee Edge.
Ce document explique comment inspecter et mettre à niveau les groupes d'instances gérés Compute Engine qui acheminent le trafic entrant vers Apigee.
Présentation
Certains déploiements Apigee acheminent le trafic proxy d'un équilibreur de charge via des MIG Compute Engine qui s'exécutent dans votre projet et transfèrent les requêtes au point de terminaison d'exécution Apigee, y compris l'équilibrage de charge Northbound et les vérifications d'état actives avec Private Service Connect. Apigee ne gère pas ces MIG. Pour garantir la sécurité et la fiabilité, vous devez suivre, gérer et mettre à niveau vous-même ces MIG et leurs VM afin de rester à jour avec le cycle de vie du système d'exploitation Compute Engine.
Lorsqu'un OS arrive en fin de vie, Compute Engine supprime l'alias de la famille d'images pour les nouvelles VM. Les VM existantes du MIG continuent de s'exécuter et de survivre aux événements de maintenance de l'hôte en direct. Toutefois, si le MIG tente de créer une VM lors de l'autoscaling, de l'autoréparation ou d'un remplacement progressif, la création de la VM échoue, car la famille d'images sources n'est plus trouvée. Si les VM de proxy opérationnelles deviennent indisponibles, l'équilibreur de charge renvoie des erreurs HTTP 502 Bad Gateway et le trafic de l'API s'arrête.
Avant de commencer
Les commandes de ce document sont des exemples. Votre déploiement peut utiliser des tags réseau, des types de machines, des tailles de disque, des métadonnées ou un nombre de VM différents. Inspectez d'abord votre configuration existante et ajustez les options de commande en fonction de votre environnement.
Remplacez les espaces réservés suivants dans les exemples de commandes par les valeurs de votre environnement :
-
PROJECT_ID: ID du projet Google Cloud dans lequel vos MIG et vos modèles d'instance sont déployés. -
REGION: région Compute Engine de votre MIG. -
EXISTING_MIG_NAME: nom de votre MIG existant. -
OLD_TEMPLATE_NAME: nom du modèle d'instance associé àEXISTING_MIG_NAME. -
NEW_TEMPLATE_NAME: nom du nouveau modèle d'instance que vous créez. -
VPC_NAME: nom du réseau VPC utilisé par votre MIG. -
VPC_SUBNET: nom du sous-réseau VPC dansREGIONutilisé par votre MIG. -
IMAGE_FAMILY: famille d'images de l'OS compatible, d'après les Détails des systèmes d'exploitation Compute Engine. -
IMAGE_PROJECT: projet d'image contenantIMAGE_FAMILY. -
APIGEE_ENDPOINT: adresse IP cible configurée dans les métadonnéesENDPOINTde votre modèle d'instance existant. -
STARTUP_SCRIPT_URL: URL Cloud Storage configurée dans les métadonnéesstartup-script-urlde votre modèle d'instance existant.
Inspecter vos MIG et vos modèles d'instance
Les MIG de routage Apigee utilisent généralement le tag apigee-mig-proxy et les métadonnées ENDPOINT. Pour inspecter vos MIG et vos modèles d'instance, procédez comme suit :
-
Répertoriez les MIG de votre projet et identifiez les modèles d'instance associés :
gcloud compute instance-groups managed list --project=PROJECT_ID \ --format="table(name,region.basename(),zone.basename(),instanceTemplate.basename())"
-
Vérifiez l'image de l'OS source de votre modèle d'instance existant. Ajoutez
--region=REGIONsi le modèle est régional :gcloud compute instance-templates describe OLD_TEMPLATE_NAME \ --project=PROJECT_ID \ --format="value(properties.disks[0].initializeParams.sourceImage)"
-
Inspectez le type de machine, la configuration du disque, le réseau, le sous-réseau, les tags et les métadonnées de
OLD_TEMPLATE_NAMEafin de pouvoir faire correspondre ces paramètres lors de la création du modèle. Ajoutez--region=REGIONsi le modèle est régional :gcloud compute instance-templates describe OLD_TEMPLATE_NAME \ --project=PROJECT_ID \ --format="yaml(properties.machineType,properties.disks,properties.networkInterfaces,properties.tags,properties.metadata)"
Créer un modèle d'instance et exécuter une mise à jour progressive
Créez un modèle d'instance avec une famille d'images d'OS compatible et lancez une mise à jour progressive sur le MIG. L'utilisation de --max-surge avec --max-unavailable=0 provisionne et vérifie les nouvelles VM avant de drainer et de supprimer les anciennes instances, ce qui évite les interruptions de trafic même si les nouvelles VM ne démarrent pas en raison d'une rupture de stock de ressources ou d'une erreur de configuration.
-
Créer un modèle d'instance. La commande suivante est un exemple. Ajustez le réseau, le sous-réseau, les tags, le type de machine, la taille du disque et les métadonnées pour qu'ils correspondent à la configuration de votre modèle existant :
gcloud compute instance-templates create NEW_TEMPLATE_NAME \ --project=PROJECT_ID \ --region=REGION \ --network=VPC_NAME \ --subnet=VPC_SUBNET \ --tags=https-server,apigee-mig-proxy,gke-apigee-proxy \ --machine-type=e2-medium \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --boot-disk-size=20GB \ --no-address \ --metadata=ENDPOINT=APIGEE_ENDPOINT,startup-script-url=STARTUP_SCRIPT_URL
Cette commande crée un modèle d'instance global dans
projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME. Si vous préférez créer un modèle d'instance régional, ajoutez--instance-template-region=REGIONet utilisezprojects/PROJECT_ID/regions/REGION/instanceTemplates/NEW_TEMPLATE_NAMEà l'étape suivante. -
Lancez une mise à jour progressive sur le MIG. Ajustez
--max-surgesi nécessaire en fonction de la taille et du quota de votre MIG :gcloud compute instance-groups managed rolling-action start-update EXISTING_MIG_NAME \ --project=PROJECT_ID \ --region=REGION \ --version=template=projects/PROJECT_ID/global/instanceTemplates/NEW_TEMPLATE_NAME \ --max-surge=3 \ --max-unavailable=0
-
Vérifiez que toutes les VM du MIG exécutent
NEW_TEMPLATE_NAMEet signalent l'étatRUNNING:gcloud compute instance-groups managed list-instances EXISTING_MIG_NAME \ --project=PROJECT_ID \ --region=REGION
Étapes suivantes
- Migrer le routage Northbound vers Private Service Connect
- Configurer vérification de l'état active pour le basculement régional avec Private Service Connect
- Déployer des mises à jour sur des MIG
- Cycle de vie des systèmes d'exploitation Compute Engine
- Détails des systèmes d'exploitation Compute Engine