Tous les produits
Search
Centre de documentation

CloudOps Orchestration Service:ACS-RDS-ScheduleToStartAndStopOrStopAndStartInstances

Dernière mise à jour :Aug 11, 2026

Planifie les opérations quotidiennes de démarrage et d'arrêt des instances ApsaraDB RDS.

Nom du modèle

ACS-RDS-ScheduleToStartAndStopOrStopAndStartInstances : planifie le démarrage, l'arrêt ou le redémarrage des instances RDS

Exécuter maintenant

description du modèle

Démarre puis arrête, ou arrête puis démarre, les instances ApsaraDB RDS selon une planification quotidienne.

type de modèle

Automatisé

Propriétaire

Alibaba Cloud

Paramètres d'entrée

|
**Paramètre**
|
**description**
|
**type de données**
|
**Obligatoire**
|
**Valeur par défaut**
|
**Limite**
| | --- | --- | --- | --- | --- | --- | |
targets
|
Instances RDS cibles.
|
Json
|
Oui
| | | |
dailyStartTime
|
Heure de démarrage quotidienne de l'instance.
|
String
|
Oui
| | | |
dailyStopTime
|
Heure d'arrêt quotidienne de l'instance.
|
String
|
Oui
| | | |
regionId
|
ID de la région.
|
String
|
Non
|
{{ ACS::RegionId }}
| | |
startFirstOrStopFirst
|
Indique s'il faut démarrer ou arrêter les instances en premier.
|
String
|
Non
|
StartFirst
| | |
weekdays
|
Jours de la semaine pour l'exécution de la tâche.
|
String
|
Non
|
*
| | |
triggerEndDate
|
Date de fin de la planification.
|
String
|
Non
|
2099-12-01T00:00:00Z
| | |
rateControl
|
Paramètres de contrôle de la concurrence.
|
Json
|
Non
|
{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}
| | |
OOSAssumeRole
|
Rôle RAM endossé par OOS.
|
String
|
Non
|
AliyunServiceRoleForOOSInstanceScheduler
| |

Paramètres de sortie

S.O.

permissions requises

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "rds:DescribeDBInstances",
                "rds:StartDBInstance",
                "rds:StopDBInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Détails

ACS-RDS-ScheduleToStartAndStopOrStopAndStartInstances

Contenu du modèle

FormatVersion: OOS-2019-06-01
Description:
  en: Schedule to start and stop RDS instances
  name-en: ACS-RDS-ScheduleToStartAndStopOrStopAndStartInstances
  categories:
    - time_trigger
    - rds
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Type: Json
    Label:
      en: TargetInstance
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::RDS::Instance
      RegionId: regionId
      ChargeType: PostPaid
  startFirstOrStopFirst:
    Type: String
    Label:
      en: StartFirstOrStopFirst
    AllowedValues:
      - StartFirst
      - StopFirst
    Default: StartFirst
    AssociationPropertyMetadata:
      LocaleKey: OOSStopInstanceMode
  weekdays:
    Label:
      en: Task execution cycle
    Type: String
    AssociationProperty: TimeTriggerWeekly
    Default: '*'
    AssociationPropertyMetadata:
      Mode: '${startFirstOrStopFirst}'
      StartTime: '${dailyStartTime}'
      StopTime: '${dailyStopTime}'
  dailyStartTime:
    Label:
      en: DailyStartTime
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: HH:mm:ssZ
  dailyStopTime:
    Label:
      en: DailyStopTime
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: HH:mm:ssZ
  triggerEndDate:
    Label:
      en: The end date of time trigger
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: YYYY-MM-DDTHH:mm:ssZ
    Default: '2099-12-01T00:00:00Z'
  rateControl:
    Label:
      en: RateControl
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
    Type: String
    Default: AliyunServiceRoleForOOSInstanceScheduler
RamRole: '{{ OOSAssumeRole }}'
Conditions:
  StartFirst:
    Fn::Equals:
      - StartFirst
      - '{{startFirstOrStopFirst}}'
  StopFirst:
    Fn::Equals:
      - StopFirst
      - '{{startFirstOrStopFirst}}'
Tasks:
  - Name: timerTrigger
    Action: ACS::TimerTrigger
    Description:
      en: Triggers a task as scheduled by specifying a cron expression
    Properties:
      Type: cron
      EndDate: '{{ triggerEndDate }}'
      Expression:
        Fn::Join:
          - ' '
          - - '0'
            - Fn::Select:
                - 1
                - Fn::Split:
                    - ':'
                    - Fn::If:
                        - Fn::Equals:
                            - StartFirst
                            - '{{startFirstOrStopFirst}}'
                        - '{{ dailyStartTime }}'
                        - '{{ dailyStopTime }}'
            - Fn::Select:
                - 0
                - Fn::Split:
                    - ':'
                    - Fn::If:
                        - Fn::Equals:
                            - StartFirst
                            - '{{startFirstOrStopFirst}}'
                        - '{{ dailyStartTime }}'
                        - '{{ dailyStopTime }}'
            - '?'
            - '*'
            - '{{ weekdays }}'
  - Name: getInstance
    Description:
      en: Gets the RDS instances
    Action: ACS::SelectTargets
    Properties:
      ResourceType: ALIYUN::RDS::Instance
      RegionId: '{{regionId}}'
      Filters:
        - '{{ targets }}'
  - Name: startInstanceFirst
    Action: ACS::RDS::StartInstance
    Description:
      en: Starts the RDS instances first
    When: StartFirst
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.Instances.Instance[].InstanceId }}'
  - Name: sleepToStopTime
    Action: ACS::Sleep
    Description:
      en: Sleeps until the instance stop time
    When: StartFirst
    Properties:
      Duration:
        Fn::DurationBetween:
          - '{{ dailyStartTime }}'
          - '{{ dailyStopTime }}'
  - Name: stopInstanceSecond
    Action: ACS::RDS::StopInstance
    Description:
      en: Stops the RDS instances
    When: StartFirst
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.Instances.Instance[].InstanceId }}'
  - Name: stopInstanceFirst
    Action: ACS::RDS::StopInstance
    Description:
      en: Stops the RDS instances first
    When: StopFirst
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.Instances.Instance[].InstanceId }}'
  - Name: sleepToStartTime
    Action: ACS::Sleep
    Description:
      en: Sleeps until the instance start time
    When: StopFirst
    Properties:
      Duration:
        Fn::DurationBetween:
          - '{{ dailyStopTime }}'
          - '{{ dailyStartTime }}'
  - Name: startInstance
    Action: ACS::RDS::StartInstance
    Description:
      en: Starts the RDS instances
    When: StopFirst
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.Instances.Instance[].InstanceId }}'