Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:Criar e atualizar imagens personalizadas

Última atualização: Sep 06, 2026

Ao usar imagens personalizadas, mantenha-as atualizadas para garantir a segurança. As atualizações regulares incluem a instalação dos patches mais recentes do sistema operacional (SO), a atualização de middleware e a adição das versões mais recentes de softwares de terceiros. O modelo público do OOS ajuda a automatizar as atualizações de imagem e reduzir os custos operacionais.

Como funciona

O OOS oferece um modelo público que automatiza totalmente o processo de atualização de imagem. Para começar, selecione um modelo do OOS, forneça os parâmetros necessários, como comandos Shell para uma instância Linux, e crie uma execução para gerar uma nova imagem. Com o ECS, não é necessário instalar ferramentas adicionais, gerenciar o ciclo de vida das instâncias do OOS (criação, login, modificação e liberação) ou configurar variáveis de ambiente e pares de AccessKey. Também é possível personalizar modelos do OOS para agendar atualizações automáticas ou atualizar imagens em lotes.

Comparação com outros métodos de atualização de imagem

Método

Ferramentas e dependências

Vantagens

Desvantagens

Usar o OOS para criar e atualizar imagens personalizadas

Ativar o OOS. Sem outras dependências.

  • Recomendado pela Alibaba Cloud, seguro e confiável

  • Baseado na web; sem necessidade de instalação

  • Usa modelos oficiais; sem necessidade de codificação

  • Não exige par de AccessKey

  • Suporta modelos personalizados

  • Rastreamento visual da execução

  • Suporta operações em lote e agendadas

Nenhuma

  • Criar uma imagem personalizada a partir de um snapshot

  • Criar uma imagem personalizada a partir de uma instância

Sem outras dependências

Fácil de usar no console do ECS

  • Exige criação manual de instâncias e snapshots

  • Processo complexo, propenso a erros e ineficiente

Usar o Packer para criar uma imagem personalizada

Instalação do Packer necessária.

Código aberto com suporte multicloud

  • Exige instalação e manutenção

  • Exige escrita de scripts personalizados

Procedimento

  1. Faça login no console do CloudOps Orchestration Service.

  2. No painel de navegação à esquerda, escolha Automated Task > Public Template.

  3. Localize o modelo Update Image e clique em Create an execution.

  4. Clique em Next Step: Parameter Settings.

  5. Configure os seguintes parâmetros:

    • Select Source Image: selecione a imagem de source a ser atualizada.

    • Image Settings: defina o nome e as tags da nova imagem.

    • Transit Instance Settings: configure o tipo de instância e outras definições do ECS.

    • Update Image Configuration: especifique o método de atualização, o tipo de comando e o conteúdo do script.

    • Advanced Options: por padrão, o OOS executa ações com as permissões do usuário atual. Se você especificar uma função do OOS, o OOS assumirá essa função para executar as ações.

  • Clique em Next Step: Confirm e, em seguida, clique em Confirm and Create.

  • Acesse Automated Task > Task Execution Management para visualizar a execução recém-criada. Se o status da execução for Running, a atualização da imagem está em andamento.

  • Quando o status da execução mudar para Success, a atualização da imagem estará concluída. Encontre o ID da nova imagem na página de detalhes da execução.

  • Para obter mais informações sobre o processo de atualização, clique em Details na execução e visualize a aba Execution Logs para monitorar o progresso e o status em tempo real.

Apêndice 1: Modelo público e lógica

O conteúdo do modelo público ACS-ECS-UpdateImage é apresentado abaixo:

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 }}'        

Este modelo executa as seguintes tarefas:

  1. Verifica se o nome especificado para a nova imagem está disponível.

  2. Cria e inicia uma instância temporária a partir da imagem de source, configurada com os parâmetros fornecidos.

  3. Instala o cliente Cloud Assistant na instância temporária, caso ainda não esteja presente.

  4. Executa os comandos de atualização na instância temporária por meio do Cloud Assistant e aguarda a conclusão bem-sucedida dos comandos.

  5. Interrompe a instância temporária após a finalização dos comandos de atualização.

  6. Cria uma imagem personalizada a partir da instância interrompida e aguarda a conclusão da criação.

  7. Exclui a instância temporária.