Le service Patch vous permet d'appliquer des correctifs du système d'exploitation sur un groupe d'instances de machines virtuelles (VM).
Pour appliquer des correctifs à vos VM, procédez comme suit :
Avant de commencer
- Consultez les quotas d'OS Config.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Vous ne pouvez déployer et exécuter des jobs d'application de correctifs que pour les VM d'un même projet Google Cloud. Vous ne pouvez pas exécuter de jobs d'application de correctifs sur plusieurs projets Google Cloud, même si les VM se trouvent dans un VPC partagé. Cependant, vous pouvez afficher les données de conformité des correctifs pour plusieurs projets.
- Les limites suivantes s'appliquent lorsque vous appliquez des correctifs aux VM faisant partie d'un groupe d'instances géré (MIG) :
- Lorsqu'un MIG répare une VM, il recrée la VM en fonction du modèle d'instance. Cela peut rétablir l'état non corrigé de la VM.
- La correction de VM peut entraîner des résultats inattendus dans un MIG pour lequel l'autoscaling est activé. L'autoscaler supprime les VM corrigées en cas de défaillance de la charge et crée des VM sans correctifs, à l'aide du modèle d'instance du MIG lorsque la charge augmente. Par exemple, si l'utilisation moyenne du processeur est inférieure à l'utilisation cible que vous avez spécifiée pour l'autoscaling, le MIG peut supprimer certaines des VM corrigées lors du scaling vertical.
- Pour toutes les VM, configurez VM Manager.
- Nous vous recommandons de désactiver les mises à jour automatiques sur les VM Windows. Cette opération limite les conflits entre les mises à jour automatiques de Windows et le service Patch.
roles/osconfig.patchJobExecutor
: contient les autorisations nécessaires pour exécuter, annuler, obtenir et répertorier les tâches de correctif. Le rôle contient également des autorisations permettant d'afficher les détails de l'instance pour une tâche de correctif.roles/osconfig.patchJobViewer
: contient des autorisations d'accès en lecture seule pour obtenir et répertorier les tâches de correctif. Le rôle contient également des autorisations permettant d'afficher les détails de l'instance pour une tâche de correctif.project-id
: ID du projetuser-id
: nom d'utilisateur Google Workspace de l'utilisateur- Dans la console Google Cloud, accédez à la page Compute Engine > VM Manager > Patch.
- Cliquez sur Nouveau déploiement de correctifs.
Dans la section VM cibles, sélectionnez la zone contenant les VM auxquelles vous souhaitez appliquer des correctifs. Vous pouvez également choisir de sélectionner toutes les zones.
Après avoir sélectionné les zones, vous pouvez ensuite filtrer les VM qu'elles contiennent.
Par exemple, pour corriger des VM spécifiques dans les zones sélectionnées, saisissez les filtres de nom et de libellé comme suit :
- Name Prefix (Préfixe de nom) :
test-
- Labels (Libellés) :
env=dev
etapp=web
- Name Prefix (Préfixe de nom) :
Dans la section Configuration de correctifs, configurez le correctif.
- Indiquez un nom pour votre correctif.
- Sélectionnez les mises à jour requises pour votre système d'exploitation. Pour en savoir plus, consultez la section Configuration des correctifs.
Dans la section Planification, procédez comme suit :
- Sélectionnez une programmation. Pour exécuter la tâche d'application de correctifs immédiatement, sélectionnez Commencer.
- Facultatif : Définissez une durée ou un intervalle de maintenance.
Dans la section Options de déploiement, configurez les options de déploiement de correctifs :
- Indiquez si vous souhaitez appliquer un correctif à une zone à la fois ou simultanément dans toutes les zones.
- Définissez un budget d'interruption. Ce budget correspond au nombre ou au pourcentage de VM que vous souhaitez que le processus d'application de correctifs puisse interrompre simultanément dans une zone.
Facultatif : Dans la section Options avancées, vous pouvez effectuer les tâches suivantes :
- Sélectionner une option de redémarrage.
- Importez des scripts préliminaires et consécutifs aux correctifs. Pour en savoir plus sur les scripts préliminaires et consécutifs aux correctifs, consultez la section Scripts préliminaires et consécutifs aux correctifs.
Cliquez sur Déployer.
- Nom de l'instance :
instance-1
- Zone :
us-east1-b
Description :
patch for instance-1
Vous devez exécuter la commande suivante :
- Le correctif doit être exécuté sur toutes les instances du projet.
- La tâche de correctif doit expirer et s'arrêter au bout d'une heure et 30 minutes.
- Les machines doivent redémarrer en fonction des paramètres système après l'installation des mises à jour.
- Sur les VM exécutant Apt, l'application de correctifs s'effectue à l'aide de
apt dist-upgrade
. - Sur les VM exécutant Windows, n'appliquez de correctifs que pour la mise à jour
KB4339284
. - Sur les VM exécutant Yum, l'application de correctifs s'effectue à l'aide de l'utilitaire
yum update-minimal --security
. project-id
: ID de votre projetinstance-filter
: paramètres de filtre souhaités. Pour en savoir plus sur les filtres d'instances, consultez la section Filtres d'instances.- Les VM associées aux libellés
env=dev
etapp=web
- Les VM situées dans
asia-east1-b
ouasia-east1-c
- Les VM dotées du préfixe
test-
- Le correctif doit être exécuté sur toutes les instances du projet.
- La tâche de correctif doit expirer et s'arrêter au bout d'une heure et 30 minutes. Dans l'API, la durée doit être exprimée en secondes. Définissez donc cette valeur sur 5 400 secondes.
- Les machines doivent redémarrer en fonction des paramètres système après l'installation des mises à jour.
- Sur les VM exécutant Apt, l'application de correctifs s'effectue à l'aide de
apt dist-upgrade
. - Sur les VM exécutant Windows, n'appliquez de correctifs que pour la mise à jour
KB4339284
. - Sur les VM exécutant Yum, l'application de correctifs s'effectue à l'aide de l'utilitaire
yum update-minimal --security
. Filtrer par nom : limitez la tâche de correctif aux instances portant des noms spécifiques. Les noms d'instances doivent être spécifiés à l'aide de l'URI complet. Les formats d'URI suivants sont compatibles :
zones/zone/instances/instance-name
projects/project-id/zones/zone/instances/instance-name
https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
Filtrer par préfixe de nom : limitez la tâche de correctif aux instances dont le nom contient un préfixe spécifique.
Filtrer par zone : limitez la tâche de correctif aux instances d'une zone spécifique.
Filtrer par libellé : limitez la tâche de correctif aux instances associées à des libellés spécifiques.
- Pour Windows, vous spécifiez la classification des correctifs à appliquer (par exemple,
Security
etCritical
) ou ciblez des bases de connaissances spécifiques à exclure. Pour en savoir plus sur la classification des correctifs, consultez la documentation d'assistance Microsoft. Pour RHEL, Rocky Linux et CentOS, le système sous-jacent est
yum
.- Pour les correctifs qui ciblent les VM RHEL et Rocky Linux, vous pouvez spécifier les packages
security
etminimal
. - Pour les VM CentOS, il n'existe pas de métadonnées
security
dans le dépôt CentOSyum
. Par conséquent, vous n'avez pas besoin de spécifier l'optionsecurity
lors de la mise à jour des packages de sécurité. Si vous ne spécifiez aucun package, le job d'application de correctifs met à jour tous les packages, y compris ceux avec des mises à jour de sécurité. - Vous pouvez également exclure des packages spécifiques. Pour en savoir plus, consultez les pages de manuel concernant
yum
.
- Pour les correctifs qui ciblent les VM RHEL et Rocky Linux, vous pouvez spécifier les packages
Pour Debian et Ubuntu, le système sous-jacent est
apt
. Pour les correctifs qui ciblent ces VM, vous pouvez spécifierdist-upgrade
ou une mise à niveau standard. Vous pouvez également exclure des packages spécifiques. Pour en savoir plus, consultez les pages de manuel concernant Debian ou les pages de manuel concernant Ubuntu.Pour SuSE, le système sous-jacent est
zypper
. Il utilise en particulier des correctifs zypper. Pour les correctifs qui ciblent ces VM, vous pouvez spécifier des options telles que les suivantes :with update
: met à jour tous les packages non couverts par les correctifswith optional
: les correctifs facultatifs sont traités si nécessaire- Les catégories ou le niveau de gravité des correctifs à appliquer
Vous pouvez également exclure des correctifs spécifiques.
- Suivez les étapes décrites dans l'onglet de la console pour créer une tâche de correctif ou un déploiement de correctifs.
- Dans la section Configuration de correctifs, sélectionnez les paramètres de votre tâche d'application de correctifs.
- Effectuez toutes les configurations supplémentaires nécessaires pour votre tâche ou déploiement de correctifs.
- Cliquez sur Déployer.
- Par défaut : l'agent décide si un redémarrage est nécessaire en vérifiant les signaux connus sur chaque système d'exploitation. Plusieurs redémarrages peuvent se produire pendant l'application des correctifs et avant leur installation.
- Toujours : la machine redémarre une fois la mise à jour terminée.
- Jamais : la machine ne redémarre pas une fois la mise à jour terminée. Dans certains cas, cela peut signifier que tous les correctifs n'ont pas entièrement été appliqués.
- Les scripts préliminaires aux correctifs s'exécutent avant le lancement de l'application de correctifs. Si un redémarrage système est nécessaire avant l'application de correctifs, le script préliminaire s'exécute avant le redémarrage.
- Les scripts consécutifs aux correctifs s'exécutent une fois l'application des correctifs terminée. Si un redémarrage système est nécessaire dans le cadre de l'application de correctifs, le script consécutif aux correctifs s'exécute après le redémarrage.
- Suivez les étapes décrites dans l'onglet de la console pour créer une tâche de correctif ou un déploiement de correctifs.
- Dans la section Options avancées, pour les sections concernant les scripts préliminaires et consécutifs aux correctifs, cliquez sur Parcourir. Une page d'objet Cloud Storage s'affiche.
- Sur la page de l'objet Cloud Storage, sélectionnez le bucket Cloud Storage qui contient le script, puis sélectionnez l'objet ou le fichier Cloud Storage.
- Effectuez toutes les configurations supplémentaires nécessaires pour votre tâche ou déploiement de correctifs.
- Cliquez sur Déployer.
- L'opération d'application de correctifs échoue lors de son application.
- L'opération d'application de correctifs échoue lors de l'exécution des étapes préliminaires ou consécutives aux correctifs.
- L'opération d'application de correctifs ne répond pas avec une notification de réussite avant l'expiration du délai.
- Suivez les étapes décrites dans l'onglet de la console pour créer une tâche de correctif ou un déploiement de correctifs.
- Dans la section Options de déploiement, configurez les options de déploiement :
- Indiquez si vous souhaitez appliquer un correctif à une zone à la fois ou simultanément dans toutes les zones.
- Définissez le budget d'interruption. Un budget d'interruption correspond au nombre ou au pourcentage de VM d'une zone que vous souhaitez interrompre simultanément par le processus d'application de correctifs.
- Effectuez toutes les configurations supplémentaires nécessaires pour votre tâche d'application de correctifs ou votre déploiement de correctifs.
- Cliquez sur Déployer.
- Appliquer des correctifs à toutes les VM de votre projet
- Appliquer des correctifs aux VM zone par zone
- S'assurer de ne pas interrompre plus de 10 VM d'une même zone à un moment donné
- Appliquer des correctifs à toutes les VM de votre projet
- Appliquer des correctifs simultanément dans plusieurs zones
- S'assurer de ne pas interrompre plus de 50 % des VM d'une même zone à un moment donné
- Appliquer des correctifs à toutes les VM des zones
us-central1-a
,us-central1-c
etus-central1-f
- Appliquer des correctifs simultanément dans plusieurs zones
- S'assurer de ne pas interrompre plus de 25 % des VM d'une même zone à un moment donné
- Dans le menu Démarrer de Windows, sélectionnez Paramètres > Mise à jour et sécurité > Windows Update.
- Dans la section Options avancées, activez l'option Recevoir les mises à jour d'autres produits Microsoft lorsque vous mettez à jour Windows.
Consultez les détails de l'instance pour la tâche de correctif affectée. Cela vous permet d'identifier les instances ayant échoué ou l'état dans lequel elles restent bloquées. La liste des détails de l'instance contient également un bref message d'erreur pour chaque instance.
Si un correctif échoue avec l'état
NO_AGENT_DETECTED
ouTIMED_OUT
, cela signifie généralement que le service a envoyé une requête à l'agent pour commencer la correction, mais n'a jamais reçu de réponse de l'agent. Voici les causes et les solutions possibles :- L'instance n'est pas en cours d'exécution. Pour résoudre ce problème, démarrez l'instance de VM.
- Vérifiez la configuration à l'aide de la checklist de vérification.
- Les paramètres réseau du réseau VPC ou de l'instance n'ont pas autorisé l'agent de configuration du système d'exploitation à communiquer avec l'API du service OS Config. Pour résoudre ce problème, vérifiez les paramètres réseau.
Si les détails de l'instance ne fournissent pas suffisamment d'informations, consultez les journaux Cloud Logging ou la console du port série. L'agent OS Config écrit ses entrées de journal aux deux emplacements. Dans Cloud Logging, vous pouvez filtrer les journaux à l'aide de l'ID de tâche de correctif pour afficher toutes les entrées de journal associées à cette tâche. Vous pouvez également activer la journalisation des données de débogage en définissant la valeur de métadonnées
osconfig-log-level=debug
au niveau de la VM ou du projet Google Cloud.- Apprenez-en plus sur le service Patch.
- Gérez vos jobs d'application de correctifs.
- Planifiez des tâches de correctif.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Limites
Systèmes d'exploitation compatibles
Pour obtenir la liste complète des systèmes d'exploitation et des versions compatibles avec Patch, consultez la page Détails des systèmes d'exploitation.
Configurez votre VM.
Procédez comme suit pour utiliser la fonctionnalité Patch :
Autorisations
Les propriétaires d'un projet Google Cloud disposent d'un accès complet pour exécuter et gérer des tâches d'application de correctifs. Pour tous les autres utilisateurs, vous devez accorder des autorisations. Vous pouvez attribuer l'un des rôles suivants :
Par exemple, pour autoriser un utilisateur à exécuter des tâches de correctif, employez la commande suivante :
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchJobExecutor
Remplacez l'élément suivant :
Exécuter des jobs d'application de correctifs
Vous pouvez exécuter une tâche de correctif à l'aide de Google Cloud Console, de Google Cloud CLI ou de REST.
Lorsque vous exécutez une tâche de correctif, la correction des VM démarre simultanément sur toutes les instances spécifiées par le filtre d'instance.
Après avoir démarré un job d'application de correctifs, vous pouvez surveiller vos correctifs via le tableau de bord Patch. Une fois un job d'application de correctifs lancé, les données mettent environ 30 minutes à apparaître dans le tableau de bord.
Console
gcloud
Utilisez la commande
os-config patch-jobs execute
pour exécuter une tâche de correctif. Remplacezinstance-filter
par le filtre d'instance souhaité. Pour en savoir plus sur les filtres d'instances, consultez la section Filtres d'instances.gcloud compute os-config patch-jobs execute instance-filter
Pour en savoir plus sur les mises à jour appliquées, consultez les éléments inclus dans une tâche de correctif de système d'exploitation. Pour personnaliser vos mises à jour, utilisez les options facultatives.
Exemples
Exemple 1 Pour exécuter une tâche de correctif avec les configurations suivantes :
gcloud compute os-config patch-jobs execute \ --instance-filter-names="zones/us-east1-b/instances/instance-1" \ --description "patch for instance-1"
Exemple 2 Supposons que vous souhaitiez exécuter une tâche de correctif de manière asynchrone avec les configurations suivantes :
Vous devez exécuter la commande suivante :
gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --duration="1h30m" --reboot-config="DEFAULT" \ --apt-dist --windows-exclusive-patches=4339284 \ --yum-minimal --yum-security \ --async
REST
Dans l'API, créez une requête
POST
pour exécuter une nouvelle tâche de correctif. Vous devez définir explicitement tous les champs de configuration requis, comme décrit dans la documentation de l'APIpatchJobs.execute
.Pour en savoir plus sur les mises à jour appliquées, consultez les éléments inclus dans une tâche de correctif de système d'exploitation. Pour personnaliser vos mises à jour, utilisez les paramètres
PatchConfig
.Par exemple, une tâche de correctif qui ne comporte que les champs obligatoires se présente comme suit :
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter }
Remplacez l'élément suivant :
Exemples
Exemple 1 Supposons que vous souhaitiez exécuter une tâche de correctif sur une instance nommée
instance1
située dans la zoneus-east1-b
. Dans cet exemple, nous ajoutons une description et spécifions que la tâche s'exécute pendant une heure et 30 minutes. Remplacezproject-id
par l'ID du projet.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "description":"patch instance1 in us-east1-b", "duration":"5400s", "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Exemple 2 La tâche de correctif suivante sélectionne les VM avec les configurations suivantes :
Dans la commande suivante, remplacez
project-id
par l'ID de votre projet :POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } } ], "instanceNamePrefixes":[ "test-" ], "zones":[ "asia-east1-b", "asia-east1-c" ] } }
Exemple 3
Supposons que vous souhaitiez exécuter une tâche de correctif avec les configurations suivantes :
Vous créez donc la requête suivante :
Dans la commande suivante, remplacez
project-id
par l'ID de votre projet :POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "duration":"5400s", "instanceFilter":{ "all":true }, "patchConfig":{ "rebootConfig":"DEFAULT", "apt":{ "type":"DIST" }, "yum":{ "security":true, "minimal":true }, "windowsUpdate":{ "exclusivePatches":"4339284" } } }
Filtres d'instances
Vous pouvez spécifier les instances à inclure dans une tâche de correctif à l'aide de filtres. Les filtres suivants sont compatibles avec les tâches de correctif :
Vous pouvez également exécuter des tâches d'application de correctifs sur toutes les instances d'un projet Google Cloud en définissant le champ
all
dansinstanceFilter
surtrue
. Pour en savoir plus, consultez la section Exemples de filtres d'instances.Exemples de filtres d'instances
Scénario Filtre gcloud Filtre d'API Toutes les instances d'un projet Google Cloud --instance-filter-all
{ "instanceFilter":{ "all":"true" } }
Instance nommée instance1
située dans la zoneus-east1-b
--instance-filter-names="zones/us-east1-b/instances/instance1"
{ "instanceFilter":{ "instances":[ "zones/us-east1-b/instances/instance1" ] } }
Instances avec le préfixe app-
--instance-filter-name-prefixes="app-"
{ "instanceFilter":{ "instanceNamePrefixes":[ "app-" ] } }
Instances situées dans les zones us-east1-b
ouus-east1-c
--instance-filter-zones="us-east1-b","us-east1-c"
{ "instanceFilter":{ "zones":[ "us-east1-b", "us-east1-c" ] } }
Instances associées aux libellés env=dev
etapp=web
, ou aux libellésenv=dev
etapp=worker
.--instance-filter-group-labels="env=dev,app=web" --instance-filter-group-labels="env=dev,app=worker"
{ "instanceFilter":{ "groupLabels":[ { "labels":{ "env":"dev", "app":"web" } }, { "labels":{ "env":"dev", "app":"worker" } } ] } }
Combiner des filtres d'instances
Les filtres d'instances peuvent également être combinés. Par exemple, pour exécuter une tâche de correctif sur les instances portant le préfixe
test-
, situées dans la zoneus-east1-c
et associées aux libellésenv=dev
etapp=web
, exécutez la commande suivante :gcloud compute os-config patch-jobs execute \ --instance-filter-name-prefixes="test-" \ --instance-filter-zones="us-east1-c" \ --instance-filter-group-labels="env=prod,app=web"
Configuration des correctifs
Lorsque vous exécutez une tâche de correctif, vous pouvez spécifier des paramètres pour contrôler les correctifs appliqués à la VM. Les paramètres de configuration des correctifs dépendent de la plate-forme et sont souvent transmis aux outils de mise à jour du système sous-jacent. Les correctifs réels proviennent des dépôts de packages (Linux) ou du serveur Windows Update (Windows) configuré sur la VM.
Vous pouvez spécifier les configurations de correctif suivantes pour vos VM :
Pour tous les systèmes d'exploitation compatibles, vous pouvez éventuellement choisir de n'installer que des correctifs approuvés en spécifiant ces mises à jour. Cela vous permet de saisir une liste de packages ou de correctifs approuvés. Lorsque vous sélectionnez ces correctifs approuvés, seuls les packages ou correctifs approuvés sont installés. Tous les autres paramètres de configuration des correctifs sont ignorés lors de la mise à jour.
Examples
Console
gcloud
Par exemple, pour exécuter une tâche de correctif sur toutes les instances de la zone
northamerica-northeast1-a
avec des configurations de correctif spécifiques pour différents systèmes d'exploitation, exécutez la commandegcloud compute os-config patch-jobs execute
:gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --apt-dist \ --yum-security \ --yum-minimal \ --zypper-categories=security \ --windows-classifications=critical,security \ --reboot-config=default
Pour en savoir plus sur les options acceptées, exécutez la commande suivante :
gcloud compute os-config patch-jobs execute --help
REST
Par exemple, pour exécuter une tâche de correctif sur toutes les instances de la zone
northamerica-northeast1-a
avec des configurations de correctif spécifiques pour différents systèmes d'exploitation, exécutez la commande suivante :POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "apt": { "type": "dist-upgrade" }, "yum": { "security": true, "minimal": true }, "zypper": { "categories": ["security"] }, "windowsUpdate": { "classifications": ["CRITICAL", "SECURITY"] }, "rebootConfig": "DEFAULT" } }
Pour en savoir plus sur les paramètres acceptés, consultez la documentation de
PatchConfig API
.Intervalle de maintenance
Un intervalle de maintenance correspond à la durée totale d'exécution d'une tâche d'application de correctifs. Les tâches d'application de correctifs expirent si elles ne se terminent pas dans l'intervalle de maintenance spécifié.
Par exemple, si vous définissez un intervalle de maintenance de
60 minutes
, aucune nouvelle tâche d'application de correctifs ne sera lancée pendant les 60 minutes suivant l'heure de début. Certains processus, tels que le téléchargement d'un fichier ou le redémarrage, peuvent se produire en dehors de cet intervalle de maintenance, mais aucune nouvelle tâche d'application de correctifs ne sera lancée.Options de redémarrage
Lors de l'exécution d'une tâche de correctif, vous pouvez spécifier les options de redémarrage du correctif. Les options suivantes sont disponibles :
Scripts préliminaires et consécutifs aux correctifs
Lorsque vous exécutez une tâche de correctif, vous pouvez spécifier des scripts à exécuter dans le cadre du processus de correction. Ces scripts sont utiles pour effectuer des tâches telles que l'arrêt d'une application et la vérification de l'état.
Une tâche de correctif accepte un script préliminaire et un script consécutif aux correctifs pour Linux, et un script préliminaire ainsi qu'un script consécutif aux correctifs pour Windows. Les scripts Linux et Windows doivent être fournis à l'aide des options, paramètres ou sections appropriés, qui sont spécifiés respectivement dans Google Cloud CLI, REST ou la console Google Cloud. Les scripts Linux ne s'exécutent que sur des VM Linux, et les scripts Windows que sur des VM Windows.
Ces fichiers de script peuvent être stockés sur la VM ou dans un bucket Cloud Storage avec des versions gérées. Si votre objet Cloud Storage n'est pas lisible publiquement, assurez-vous que le compte de service Compute Engine par défaut du projet Google Cloud dispose des autorisations IAM nécessaires pour lire des objets Cloud Storage. Pour vous assurer que vous disposez bien des autorisations appropriées, consultez les paramètres d'autorisation sur l'objet Cloud Storage.
Si vous souhaitez utiliser un bucket Cloud Storage pour stocker vos scripts, créez un bucket Cloud Storage et importez vos scripts dans le bucket.
Examples
Console
gcloud
Par exemple, pour exécuter une tâche de correctif sur toutes les instances de la zone
northamerica-northeast1-a
avec un script préliminaire et un script consécutif aux correctifs pour les instances Linux et Windows, exécutez la commande suivante :gcloud compute os-config patch-jobs execute \ --instance-filter-zones="northamerica-northeast1-a" \ --async \ --pre-patch-linux-executable="/tmp/pre_patch_script.sh" \ --post-patch-linux-executable="gs://my-patch-scripts/linux/post_patch_script#1523477886880" \ --pre-patch-windows-executable="C:\\Users\\user\\pre-patch-script.cmd" \ --post-patch-windows-executable="gs://my-patch-scripts/windows/post_patch_script.ps1#135920493447"
Pour en savoir plus sur les formats de fichiers acceptés, exécutez la commande suivante :
gcloud compute os-config patch-jobs execute --help
REST
Par exemple, pour exécuter une tâche de correctif sur toutes les instances de la zone
northamerica-northeast1-a
avec un script préliminaire et un script consécutif aux correctifs pour les instances Linux et Windows, exécutez la commande suivante :POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "northamerica-northeast1-a" ] }, "patchConfig":{ "preStep":{ "linuxExecStepConfig":{ "localPath":"/tmp/pre_patch_script.sh" }, "windowsExecStepConfig":{ "interpreter":"SHELL", "localPath":"C:\\Users\\user\\pre-patch-script.cmd" } }, "postStep":{ "linuxExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"1523477886880", "object":"linux/post_patch_script" } }, "windowsExecStepConfig":{ "gcsObject":{ "bucket":"my-patch-scripts", "generationNumber":"135920493447", "object":"windows/post_patch_script.ps1" }, "interpreter":"POWERSHELL" } } } }
Pour en savoir plus sur les formats de fichiers acceptés, consultez la section
ExecStepConfig
de la documentation de l'APIPatchConfig
.Options de déploiement de correctifs
Vous pouvez choisir d'appliquer des correctifs sur les VM d'une zone à la fois (zone par zone) ou d'appliquer des correctifs simultanément dans toutes les zones.
Outre la sélection de la zone de déploiement, vous pouvez également spécifier un budget d'interruption de zone pour vos VM.
Budget d'interruption de zone
Un budget d'interruption correspond au nombre maximal (ou au pourcentage) de VM par zone à interrompre à un moment donné.
Qu'entend-on par VM interrompue ?
Lors de l'application de correctifs, une VM est considérée comme interrompue depuis le moment où l'agent OS Config est invité à démarrer jusqu'à la fin de l'application de correctifs. Ce temps d'interruption inclut le temps nécessaire au redémarrage et les étapes consécutives aux correctifs.
Une VM est également comptabilisée dans le budget d'interruption si elle remplit l'une des conditions suivantes :
Fonctionnement des budgets d'interruption
Pour les déploiements zone par zone, en cas de dépassement du budget d'interruption dans une zone, la tâche d'application de correctifs s'arrête. Cela est dû au fait que le passage à la zone suivante nécessite l'achèvement du processus d'application de correctifs dans la zone précédente.
Par exemple, si le budget de perturbation a une valeur de 10 et que huit VM ne parviennent pas à être corrigées dans la zone actuelle, la tâche d'application de correctifs continue de corriger deux VM à la fois jusqu'à ce que la zone soit terminée. Une fois cette zone terminée, l'application de correctifs commence avec 10 VM à la fois dans la zone suivante. Si l'application de correctifs échoue pour 10 VM de la zone suivante, la tâche s'arrête.
Examples
Console
gcloud
Exemple 1
Cet exemple montre la commande
os-config patch-jobs execute
permettant d'exécuter une tâche d'application de correctifs avec les spécifications suivantes :gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=zone-by-zone \ --rollout-disruption-budget=10
Exemple 2
Cet exemple montre la commande
os-config patch-jobs execute
permettant d'exécuter une tâche d'application de correctifs avec les spécifications suivantes :gcloud compute os-config patch-jobs execute \ --instance-filter-all \ --rollout-mode=concurrent-zones \ --rollout-disruption-budget-percent=50
REST
Cet exemple montre la méthode
patchJobs.execute
permettant d'exécuter une tâche d'application de correctifs avec les spécifications suivantes :POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter":{ "zones":[ "us-central1-a", "us-central1-c", "us-central1-f" ] }, "rollout": { "disruptionBudget": { "percent": 25 }, "mode": "CONCURRENT_ZONES" } }
Pour en savoir plus sur le déploiement des correctifs, consultez la documentation de l'API
PatchRollout
.Activer l'application de correctifs aux logiciels Microsoft sur des VM Windows
Lorsque vous exécutez un job d'application de correctifs sur des VM Windows, le service Patch n'applique par défaut que les correctifs concernant le système d'exploitation Windows.
Vous pouvez appliquer des mises à jour aux logiciels Microsoft tels que Microsoft SQL Server, SharePoint Server ou .NET Framework exécutés sur vos VM Windows lorsque vous lancez un job d'application de correctifs. L'application de correctifs sur ces applications est désactivée par défaut, afin d'éviter toute interruption de service et de séparer les mises à jour planifiées de ces logiciels. Pour activer l'application automatique de correctifs aux logiciels Microsoft, vous pouvez utiliser l'interface utilisateur Windows ou PowerShell.
UI Windows
PowerShell
$service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager' $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")
Déboguer un job d'application de correctifs
Si votre correctif échoue, vous pouvez suivre les étapes ci-dessous pour identifier et résoudre les problèmes.
Étape suivante
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 2024/12/22 (UTC).
-