Si vous utilisez des images personnalisées, maintenez-les à jour pour garantir la sécurité. Les mises à jour régulières incluent l'installation des derniers correctifs du système d'exploitation (SE), la mise à niveau des intergiciels et l'ajout des dernières versions de logiciels tiers. Le modèle public fourni par OOS automatise les mises à jour d'images et réduit les coûts opérationnels.
Fonctionnement
OOS propose un modèle public qui automatise entièrement le processus de mise à jour des images. Pour commencer, sélectionnez un modèle OOS, fournissez les paramètres requis (tels que les commandes Shell pour une instance Linux), puis créez une exécution pour générer une nouvelle image. Avec ECS, nul besoin d'installer des outils supplémentaires, de gérer le cycle de vie des instances OOS (création, connexion, modification et libération) ou de configurer des variables d'environnement et des paires AccessKey. Vous pouvez également personnaliser les modèles OOS pour planifier des mises à jour automatisées ou mettre à jour des images par lots.
Comparaison avec d'autres méthodes de mise à jour d'images
|
Méthode |
Outils et dépendances |
Avantages |
Inconvénients |
|
Utiliser OOS pour créer et mettre à jour des images personnalisées |
Activation d'OOS. Aucune autre dépendance. |
|
Aucun |
|
Aucune autre dépendance |
Facile à utiliser dans la console ECS |
|
|
Utiliser Packer pour créer une image personnalisée |
Installation de Packer requise. |
Open source avec prise en charge multi-cloud |
|
Procédure
Connectez-vous à la console CloudOps Orchestration Service.
Dans le volet de navigation de gauche, choisissez .
-
Recherchez le modèle Update Image et cliquez sur Create an execution.

-
Cliquez sur Next Step: Parameter Settings.

-
Configurez les paramètres suivants.
Select Source Image : sélectionnez l'image source à mettre à jour.
Image Settings : définissez le nom et les tags de la nouvelle image.
Transit Instance Settings : configurez le type d'instance et d'autres paramètres pour ECS.
Update Image Configuration : spécifiez la méthode de mise à jour, le type de commande et le contenu du script.
Advanced Options : par défaut, OOS effectue les actions en utilisant les autorisations de l'utilisateur actuel. Si vous spécifiez un rôle OOS, OOS assume ce rôle pour effectuer les actions.

-
Cliquez sur Next Step: Confirm, puis sur Confirm and Create.

-
Accédez à pour afficher l'exécution que vous venez de créer. Si le statut de l'exécution est Running, la mise à jour de l'image est en cours.

-
Lorsque le statut de l'exécution passe à Success, la mise à jour de l'image est terminée. Vous pouvez trouver l'ID de la nouvelle image sur la page des détails de l'exécution.

Pour en savoir plus sur le processus de mise à jour, cliquez sur Details pour l'exécution et consultez l'onglet Execution Logs afin de surveiller la progression et le statut en temps réel.
Annexe 1 : Modèle public et logique
Le contenu suivant montre le modèle public ACS-ECS-UpdateImage :
FormatVersion: OOS-2019-06-01
Description: Updates an existing ECS image via ECS Cloud Assistant then creates a
ECS image.
Parameters:
sourceImageId:
Description: The image ID for the ECS instances, centos_6_10_64_20G_alibase_20190326.vhd,
for example.
Type: String
AllowedPattern: '[A-Za-z0-9_\-\.]*'
MinLength: 1
MaxLength: 40
instanceType:
Description: The instance type for the ECS instances, ecs.g5.large, for example.
Type: String
AllowedPattern: ecs\.[A-Za-z0-9\.\-]*
MinLength: 1
MaxLength: 30
securityGroupId:
Description: The security group ID for the ECS instances, sg-xxxxxxxxxxxxxxxxxxxx,
for example.
Type: String
AllowedPattern: sg-[A-Za-z0-9]*
MinLength: 1
MaxLength: 30
vSwitchId:
Description: The virtual switch ID for the ECS instances, vsw-xxxxxxxxxxxxxxxxxxxx,
for example.
Type: String
AllowedPattern: vsw-[A-Za-z0-9]*
MinLength: 1
MaxLength: 30
commandContent:
Description: The content of command.
Type: String
commandType:
Description: The type of command to run in ECS instance.
Type: String
AllowedValues:
- RunBatScript
- RunPowerShellScript
- RunShellScript
MinLength: 1
MaxLength: 30
targetImageName:
Description: The name of image.
Type: String
AllowedPattern: '[A-Za-z0-9\-_]*'
MinLength: 1
MaxLength: 30
OOSAssumeRole:
Description: The RAM role to be assumed by OOS.
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: checkNewImageName
Action: ACS::CheckFor
Description: Check image name is available.
Properties:
Service: ECS
API: DescribeImages
Parameters:
ImageName: '{{ targetImageName }}'
DesiredValues:
- 0
PropertySelector: TotalCount
- Name: runInstances
Action: ACS::ECS::RunInstances
Description: Create a ECS instance for the cloud assistant.
Properties:
imageId: '{{ sourceImageId }}'
instanceType: '{{ instanceType }}'
securityGroupId: '{{ securityGroupId }}'
vSwitchId: '{{ vSwitchId }}'
Outputs:
instanceId:
ValueSelector: instanceIds[0]
Type: String
- Name: installCloudAssistant
Action: ACS::ECS::InstallCloudAssistant
Description: Install cloud assostant for ECS instance.
OnError: deleteInstance
Properties:
instanceId: '{{ runInstances.instanceId }}'
- Name: runCommand
Action: ACS::ECS::RunCommand
Description: Run command on ECS instance.
OnError: deleteInstance
Properties:
commandContent: '{{ commandContent }}'
commandType: '{{ commandType }}'
instanceId: '{{ runInstances.instanceId }}'
- Name: stopInstance
Action: ACS::ECS::StopInstance
Description: Stops the ECS instance by the instance ID.
Properties:
instanceId: '{{ runInstances.instanceId }}'
- Name: createImage
Action: ACS::ECS::CreateImage
Description: Create image with the specified image name and instance ID.
OnError: deleteInstance
Properties:
imageName: '{{ targetImageName }}'
instanceId: '{{ runInstances.instanceId }}'
Outputs:
imageId:
ValueSelector: imageId
Type: String
- Name: deleteInstance
Action: ACS::ExecuteAPI
Description: Deletes the ECS instance by the instance ID.
Properties:
Service: ECS
API: DeleteInstance
Risk: Normal
Parameters:
InstanceId: '{{ runInstances.instanceId }}'
Force: true
Outputs:
imageId:
Type: String
Value: '{{ createImage.imageId }}'
Le modèle effectue les tâches suivantes :
Vérifie si le nom que vous avez spécifié pour la nouvelle image est disponible.
Crée et exécute une instance temporaire lancée à partir de l'image source et configurée avec les paramètres que vous fournissez.
Installe le client Cloud Assistant sur l'instance temporaire s'il n'est pas déjà présent.
Exécute les commandes de mise à jour sur l'instance temporaire en utilisant Cloud Assistant et attend que les commandes se terminent avec succès.
Arrête l'instance temporaire après l'exécution des commandes de mise à jour.
Crée une image personnalisée à partir de l'instance arrêtée et attend que la création soit terminée.
Supprime l'instance temporaire.