Contexto
Quando os requisitos de uso mudam, pode ser necessário alternar as instâncias ECS entre os métodos de faturamento por assinatura e pagamento conforme o uso. Fazer isso manualmente para várias instâncias é ineficiente e propenso a erros. Utilize o CloudOps Orchestration Service para alterar o método de faturamento de múltiplas instâncias ECS simultaneamente. As instâncias ECS suportam dois métodos de faturamento: assinatura e pagamento conforme o uso.
Pré-requisitos
Para alterar de assinatura para pagamento conforme o uso, consulte Alterar o método de faturamento de uma instância de assinatura para pagamento conforme o uso.
Para alterar de pagamento conforme o uso para assinatura, consulte Alterar o método de faturamento de uma instância de pagamento conforme o uso para assinatura.
Procedimento
No console OOS, acesse a página Automated Task > Public Template.
Na caixa de pesquisa, insira Bulk modify instance charge type, clique em
e, em seguida, clique em Create Execution nos resultados da pesquisa.
Clique em Next Step: Parameter Settings.

-
Defina os seguintes parâmetros:
-
instanceChargeType: Método de faturamento a ser aplicado às instâncias.period: (Obrigatório ao alternar de pagamento conforme o uso para assinatura) Duração da assinatura. SePeriodUnitestiver definido comoWeek, os valores válidos são de 1 a 4. CasoPeriodUnitesteja definido comoMonth, os valores válidos são 1 a 12, 24, 36, 48 e 60.periodUnit: (Obrigatório ao alternar de pagamento conforme o uso para assinatura) Unidade de tempo para a duração da assinatura.
includeDataDisks: (Obrigatório ao alternar de pagamento conforme o uso para assinatura) Indica se todos os discos de dados pagos conforme o uso anexados devem ser convertidos para assinatura.networkChargeType: Método de faturamento a ser aplicado à rede.regionId: ID da região.targets: Instâncias de destino.rateControl: (Opcional) Taxa de concorrência para execução da tarefa.OOSAssumeRole: (Opcional) Função RAM que o OOS assume para executar a tarefa.
-
Clique em Next Step: OK e, em seguida, clique em Create.
-
Na página Task Execution Management, localize a nova execução.
Se o status da execução for Running, a alteração do método de faturamento está em andamento.
Quando o status da execução mudar para Success, a operação estará concluída. Verifique o novo método de faturamento na página Instances no console ECS.
NotaPara obter mais detalhes, clique em Details referente à execução. Visualize os logs de execução para acompanhar o progresso em tempo real.
Apêndice
Modelo público: ACS-ECS-BulkyModifyInstanceChargeType
FormatVersion: OOS-2019-06-01
Description:
en: Bulk modify instance charge type
zh-cn: 批量修改实例的计费方式
name-en: ACS-ECS-BulkyModifyInstanceChargeType
name-zh-cn: 批量修改实例的计费方式
categories:
- instance_manage
Parameters:
regionId:
Type: String
Label:
en: RegionId
zh-cn: 地域ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Type: Json
Label:
en: TargetInstance
zh-cn: 目标实例
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
instanceChargeType:
Label:
en: InstanceChargeType
zh-cn: 实例需要修改的目标计费方式
Type: String
AllowedValues:
- PostPaid
- PrePaid
Default: PostPaid
periodUnit:
Label:
en: PeriodUnit
zh-cn: 续费时长的时间单位
Type: String
AllowedValues:
- Week
- Month
Default: Month
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
period:
Description:
en: 'If PeriodUnit is set to Week, the valid values for Period are 1 to 4. If PeriodUnit is set to Month, the valid values are 1 to 12, 24, 36, 48, and 60.'
zh-cn: PeriodUnit=Week时,Period取值:1~4,PeriodUnit=Month时,Period取值:1~12,24, 36, 48, 60
Label:
en: Period
zh-cn: 续费时长
Type: Number
Default: 1
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
includeDataDisks:
Description:
en: Specifies whether to change the billing method of all data disks attached to the instance from pay-as-you-go to subscription
zh-cn: 是否将实例挂载的所有按量付费数据盘一起转换为包年包月数据盘
Label:
en: IncludeDataDisks
zh-cn: 是否转换数据盘
Type: Boolean
Default: false
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Not:
Fn::Equals:
- ${instanceChargeType}
- PostPaid
networkChargeType:
Label:
en: NetworkChargeType
zh-cn: 网络需要修改的目标计费方式
Type: String
AllowedValues:
- PayByBandwidth
- PayByTraffic
- ''
Default: PayByTraffic
rateControl:
Label:
en: RateControl
zh-cn: 任务执行的并发比率
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOS扮演的RAM角色
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Retrieves the ECS instances
zh-cn: 获取ECS实例
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: modifyInstanceChargeType
Description:
en: Modify instance charge type
zh-cn: 修改实例计费方式
Action: ACS::ECS::ModifyInstanceChargeType
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
instanceChargeType: '{{ instanceChargeType }}'
networkChargeType: '{{ networkChargeType }}'
period: '{{ period }}'
periodUnit: '{{ periodUnit }}'
includeDataDisks: '{{ includeDataDisks }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- instanceChargeType
- period
- periodUnit
- includeDataDisks
- networkChargeType
Label:
default:
zh-cn: 计费方式参数选择
en: Instance Charge Type Settings
- Parameters:
- regionId
- target
Label:
default:
zh-cn: 选择实例
en: Select ECS Instances
- Parameters:
- rateControl
- OOSAssumeRole
Label:
default:
zh-cn: 高级选项
en: Control Options