Nama Template
ACS-ECS-ScheduleToStartAndStopInstances – Menjadwalkan instans ECS untuk dijalankan dan dihentikan
Deskripsi Template
Menjalankan dan menghentikan instans Elastic Compute Service (ECS) sesuai jadwal. Template ini berguna untuk skenario yang memerlukan manajemen rutin instans ECS, seperti operasi dan pemeliharaan (O&M) otomatis serta optimalisasi biaya pada lingkungan pengembangan. Saat dikonfigurasi, Anda harus memberikan parameter yang diperlukan untuk menentukan aturan penjadwalan: ID wilayah (regionId) instans, waktu mulai harian (dailyStartTime), waktu berhenti harian (dailyStopTime), serta hari dalam seminggu (weekdays). Setelah dieksekusi, template ini akan menjalankan dan menghentikan instans ECS berdasarkan jadwal yang telah ditentukan.
Tipe Template
Otomatis
Pemilik
Alibaba Cloud
Parameter masukan
Parameter | Deskripsi | Tipe | Diperlukan | Nilai Default | Batasan |
dailyStartTime | Waktu ketika instance ECS dimulai setiap hari. | String | Ya | ||
dailyStopTime | Waktu ketika instance ECS dihentikan setiap hari. | String | Ya | ||
targets | Instans sasaran | Json | Ya | ||
regionId | ID wilayah. | String | Tidak | {{ ACS::RegionId }} | |
weekdays | Siklus tugas terjadwal. | String | Tidak | SEN-JUM | |
triggerEndDate | Waktu akhir tugas terjadwal. | String | Tidak | 2099-12-01T00:00:00Z | |
stoppedMode | Penagihan untuk instans yang dihentikan | String | Tidak | "" | |
hibernate | Menentukan apakah instance ECS di-hibernate. | Boolean | Tidak | False | |
rateControl | Konkurensi eksekusi tugas | Json | Tidak | {'Mode': 'Concurrency', 'MaxErrors': '100%', 'Concurrency': 10} | |
OOSAssumeRole | Peran Resource Access Management (RAM) yang diasumsikan oleh CloudOps Orchestration Service (OOS). | String | Tidak | AliyunServiceRoleForOOSInstanceScheduler |
Parameter Output
Tidak ada
Kebijakan izin yang diperlukan untuk mengeksekusi template
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:DescribeInstances",
"ecs:StartInstance",
"ecs:StopInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Detail
Untuk detail selengkapnya, lihat ACS-ECS-ScheduleToStartAndStopInstances.
Konten Template
FormatVersion: OOS-2019-06-01
Description:
en: 'Schedule to start and stop ECS instances, applicable to scenarios where regular and scheduled management of ECS instances is required, such as automated operations of development environments and cost optimization. During configuration, users need to provide the following required parameter information: Region ID (regionId), which specifies the region of the ECS instances to be operated on, Daily Start Time (dailyStartTime), Daily Stop Time (dailyStopTime), and the Days of Week (weekdays), which define the schedule for the tasks. Upon execution, the template will start and stop the ECS instances according to the configured schedule.'
zh-cn: 'Schedule to start and stop ECS instances, applicable to scenarios where regular and scheduled management of ECS instances is required, such as automated operations of development environments and cost optimization. During configuration, users need to provide the following required parameter information: Region ID (regionId), which specifies the region of the ECS instances to be operated on, Daily Start Time (dailyStartTime), Daily Stop Time (dailyStopTime), and the Days of Week (weekdays), which define the schedule for the tasks. Upon execution, the template will start and stop the ECS instances according to the configured schedule.'
name-en: ACS-ECS-ScheduleToStartAndStopInstances
name-zh-cn: Schedule to Start and Stop ECS Instances
categories:
- time_trigger
Parameters:
regionId:
Type: String
Label:
en: Region ID
zh-cn: Region ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
dailyStartTime:
Label:
en: Daily start time
zh-cn: Daily start time
Type: String
AssociationProperty: DateTime
AssociationPropertyMetadata:
Format: 'HH:mm:ssZ'
dailyStopTime:
Label:
en: Daily stop time
zh-cn: Daily stop time
Type: String
AssociationProperty: DateTime
AssociationPropertyMetadata:
Format: 'HH:mm:ssZ'
weekdays:
Label:
en: Weekdays
zh-cn: Weekdays
Description:
en: '* indicates daily, MON indicates Monday only, and MON-FRI indicates Monday to Friday. For more information, see https://www.alibabacloud.com/help/document_detail/169784.html'
zh-cn: '* indicates daily, MON indicates Monday only, and MON-FRI indicates Monday to Friday. For more information, see https://www.alibabacloud.com/help/document_detail/169784.html'
Type: String
Default: MON-FRI
triggerEndDate:
Label:
en: Trigger end date
zh-cn: Trigger end date
Description:
en: 'Format: yyyy-MM-ddTHH:mm:ssZ.'
zh-cn: 'Format: yyyy-MM-ddTHH:mm:ssZ.'
Type: String
AssociationProperty: DateTime
AssociationPropertyMetadata:
Format: 'YYYY-MM-DDTHH:mm:ssZ'
Default: '2099-12-01T00:00:00Z'
targets:
Type: Json
Label:
en: Target instance
zh-cn: Target instance
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: regionId
stoppedMode:
Label:
en: Stopped mode
zh-cn: Stopped mode
Description:
en: Specifies whether to continue billing for a pay-as-you-go ECS instance after it is stopped.
zh-cn: Specifies whether to continue billing for a pay-as-you-go ECS instance after it is stopped.
Type: String
AllowedValues:
- StopCharging
- KeepCharging
- ''
Default: ''
hibernate:
Label:
en: Hibernate instance
zh-cn: Hibernate instance
Type: Boolean
Default: false
rateControl:
Label:
en: Rate control
zh-cn: Rate control
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 100%
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: OOSAssumeRole
Type: String
Default: AliyunServiceRoleForOOSInstanceScheduler
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: timerTrigger
Action: 'ACS::TimerTrigger'
Description:
en: Triggers a task as scheduled by specifying a cron expression.
zh-cn: Triggers a task as scheduled by specifying a cron expression.
Properties:
Type: cron
EndDate: '{{ triggerEndDate }}'
Expression:
'Fn::Join':
- ' '
- - '0'
- 'Fn::Select':
- 1
- 'Fn::Split':
- ':'
- '{{ dailyStartTime }}'
- 'Fn::Select':
- 0
- 'Fn::Split':
- ':'
- '{{ dailyStartTime }}'
- '?'
- '*'
- '{{ weekdays }}'
- Name: getInstance
Description:
en: Gets the ECS instances.
zh-cn: Gets the ECS instances.
Action: 'ACS::SelectTargets'
Properties:
ResourceType: 'ALIYUN::ECS::Instance'
RegionId: '{{regionId}}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: 'Instances.Instance[].InstanceId'
- Name: startInstance
Action: 'ACS::ECS::StartInstance'
Description:
en: Starts the ECS instances.
zh-cn: Starts the ECS instances.
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
- Name: sleepToSpecifiedTime
Description:
en: Sleeps until the instance stop time.
zh-cn: Sleeps until the instance stop time.
Action: 'ACS::Sleep'
Properties:
Duration:
'Fn::DurationBetween':
- '{{ dailyStartTime }}'
- '{{ dailyStopTime }}'
- Name: stopInstance
Action: 'ACS::ECS::StopInstance'
Description:
en: Stops the ECS instances.
zh-cn: Stops the ECS instances.
Properties:
regionId: '{{ regionId }}'
instanceId: '{{ ACS::TaskLoopItem }}'
stoppedMode: '{{ stoppedMode }}'
hibernate: '{{ hibernate }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'