Tous les produits
Search
Centre de documentation

CloudOps Orchestration Service:Create and update custom images

Dernière mise à jour :Sep 06, 2026

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.

  • Recommandé par Alibaba Cloud, sécurisé et fiable

  • Basé sur le web ; aucune installation requise

  • Utilise des modèles officiels ; aucun codage requis

  • Aucune paire AccessKey requise

  • Prend en charge les modèles personnalisés

  • Suivi visuel de l'exécution

  • Prend en charge les opérations par lots et planifiées

Aucun

  • Créer une image personnalisée à partir d'un snapshot

  • Créer une image personnalisée à partir d'une instance

Aucune autre dépendance

Facile à utiliser dans la console ECS

  • Nécessite la création manuelle d'instances et de snapshots

  • Processus complexe, sujet aux erreurs et inefficace

Utiliser Packer pour créer une image personnalisée

Installation de Packer requise.

Open source avec prise en charge multi-cloud

  • Installation et maintenance requises

  • Écriture de scripts personnalisés requise

Procédure

  1. Connectez-vous à la console CloudOps Orchestration Service.

  2. Dans le volet de navigation de gauche, choisissez Automated Task > Public Template.

  3. Recherchez le modèle Update Image et cliquez sur Create an execution.

  4. Cliquez sur Next Step: Parameter Settings.

  5. 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 à Automated Task > Task Execution Management 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 :

  1. Vérifie si le nom que vous avez spécifié pour la nouvelle image est disponible.

  2. 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.

  3. Installe le client Cloud Assistant sur l'instance temporaire s'il n'est pas déjà présent.

  4. 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.

  5. Arrête l'instance temporaire après l'exécution des commandes de mise à jour.

  6. Crée une image personnalisée à partir de l'instance arrêtée et attend que la création soit terminée.

  7. Supprime l'instance temporaire.