すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ACS-ECS-ScheduleToStartAndStopOrStopAndStartInstances

最終更新日:Dec 21, 2025

テンプレート名

ACS-ECS-ScheduleToStartAndStopOrStopAndStartInstances

今すぐ実行

テンプレートの説明

定期的な起動と停止

テンプレートのタイプ

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

タイプ

必須

デフォルト値

制約

targets

ターゲットインスタンス。

Json

はい

dailyStartTime

インスタンスを毎日起動する時刻。

String

はい

dailyStopTime

インスタンスを毎日停止する時刻。

String

はい

regionId

リージョン ID。

String

いいえ

{{ ACS::RegionId }}

startFirstOrStopFirst

起動/停止モード。

String

いいえ

StartFirst

weekdays

タスクを実行する曜日。

String

いいえ

*

triggerEndDate

トリガーの終了時刻。

String

いいえ

2099-12-01T00:00:00Z

stoppedMode

停止モード。

String

いいえ

KeepCharging

hibernate

インスタンスを休止状態にするかどうかを指定します。

Boolean

いいえ

False

rateControl

タスクの同時実行レート。

Json

いいえ

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Operation Orchestration Service (OOS) が引き受ける RAM ロール。

String

いいえ

AliyunServiceRoleForOOSInstanceScheduler

出力パラメーター

なし。

必要なアクセスポリシー

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:StartInstance",
                "ecs:StopInstance"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

詳細

ACS-ECS-ScheduleToStartAndStopOrStopAndStartInstances の詳細

テンプレートの内容

従量課金 ECS インスタンスの停止モードを指定します。有効な値: 
StopChargingFormatVersion: OOS-2019-06-01
Description:
  ja: ECS インスタンスを「起動してから停止」または「停止してから起動」するようにスケジュールします。
  name-ja: インスタンスのスケジュールされた起動と停止、または停止と起動
  categories:
    - time_trigger
Parameters:
  regionId:
    Type: String
    Label:
      ja: リージョン ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  targets:
    Type: Json
    Label:
      ja: ターゲットインスタンス
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::ECS::Instance
      RegionId: regionId
  startFirstOrStopFirst:
    Type: String
    Label:
      ja: 起動/停止モード
    Description:
      ja: 'スケジュールされた起動および停止操作は単一のタスクです。その日のスケジュールされた開始時刻を過ぎてからこのタスクを作成した場合、その日には実行されません。'
    AllowedValues:
      - StartFirst
      - StopFirst
    Default: StartFirst
    AssociationPropertyMetadata:
      LocaleKey: OOSStopInstanceMode
  weekdays:
    Label:
      ja: タスク実行サイクル
    Type: String
    AssociationProperty: TimeTriggerWeekly
    Default: '*'
    AssociationPropertyMetadata:
      Mode: '${startFirstOrStopFirst}'
      StartTime: '${dailyStartTime}'
      StopTime: '${dailyStopTime}'
  dailyStartTime:
    Label:
      ja: 毎日の開始時刻
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: HH:mm:ssZ
  dailyStopTime:
    Label:
      ja: 毎日の停止時刻
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: HH:mm:ssZ
  triggerEndDate:
    Label:
      ja: トリガー終了時刻
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: YYYY-MM-DDTHH:mm:ssZ
    Default: '2099-12-01T00:00:00Z'
  stoppedMode:
    Label:
      ja: 停止モード
    Description:
      ja: <p>従量課金 ECS インスタンスの停止モード。値:</p> <ul> <li><code>StopCharging</code></li></ul>
FormatVersion: OOS-2019-06-01 Description: en: ECS インスタンスを、起動してから停止、または停止してから起動するようにスケジュールします。 zh-cn: Schedules ECS instances to either start then stop, or stop then start. name-en: ACS-ECS-ScheduleToStartAndStopOrStopAndStartInstances name-zh-cn: Scheduled start and stop or stop and start of instances categories: - time_trigger Parameters: regionId: Type: String Label: en: リージョン ID zh-cn: Region ID AssociationProperty: RegionId Default: '{{ ACS::RegionId }}' targets: Type: Json Label: en: ターゲットインスタンス zh-cn: Target instance AssociationProperty: Targets AssociationPropertyMetadata: ResourceType: ALIYUN::ECS::Instance RegionId: regionId startFirstOrStopFirst: Type: String Label: en: 起動または停止モード zh-cn: Start or stop mode Description: en: '定期的な起動および停止アクションは単一のタスクです。その日の定期起動時刻を過ぎてからこのタスクを作成した場合、その日には実行されません。' zh-cn: 'The scheduled start and stop actions are a single task. If you create this task after its scheduled start time for the day, it will not run on that day.' AllowedValues: - StartFirst - StopFirst Default: StartFirst AssociationPropertyMetadata: LocaleKey: OOSStopInstanceMode weekdays: Label: en: タスク実行サイクル zh-cn: Task execution cycle Type: String AssociationProperty: TimeTriggerWeekly Default: '*' AssociationPropertyMetadata: Mode: '${startFirstOrStopFirst}' StartTime: '${dailyStartTime}' StopTime: '${dailyStopTime}' dailyStartTime: Label: en: 毎日の起動時刻 zh-cn: Daily start time Type: String AssociationProperty: DateTime AssociationPropertyMetadata: Format: HH:mm:ssZ dailyStopTime: Label: en: 毎日の停止時刻 zh-cn: Daily stop time Type: String AssociationProperty: DateTime AssociationPropertyMetadata: Format: HH:mm:ssZ triggerEndDate: Label: en: トリガー終了時刻 zh-cn: Trigger end time Type: String AssociationProperty: DateTime AssociationPropertyMetadata: Format: YYYY-MM-DDTHH:mm:ssZ Default: '2099-12-01T00:00:00Z' stoppedMode: Label: en: 停止モード zh-cn: Stop mode Description: en: <p>従量課金 ECS インスタンスの停止モード。値:</p> <ul> <li><code="">StopCharging</code=""></li></ul> zh-cn: <p>The stop mode for pay-as-you-go ECS instances. Value:</p> <ul> <li><code="">StopCharging</code=""></li></ul> を有効にするには、「従量課金インスタンスの節約モード」をご参照ください。
  • 標準停止モード:インスタンスは停止後も課金が継続されます。
  • 従量課金インスタンスの停止モード。有効な値は次のとおりです。

    • 節約モード:StopCharging を有効にするために必要な条件については、「従量課金インスタンスの節約モード」の「条件」セクションをご参照ください。
    • 標準停止モード:インスタンスは停止後も課金が継続されます。
    FormatVersion: OOS-2019-06-01 Description: en: Elastic Compute Service (ECS) インスタンスを、スケジュールに従って起動してから停止、または停止してから起動します。 Parameters: regionId: Label: en: リージョン Description: en: ECS インスタンスが配置されているリージョン。 Type: String AssociationProperty: RegionId Default: '{{ ACS::RegionId }}' targets: Label: en: ターゲットインスタンス Description: en: 操作対象の ECS インスタンス。 Type: Json AssociationProperty: Targets AssociationPropertyMetadata: ResourceType: ALIYUN::ECS::Instance RegionId: regionId startFirstOrStopFirst: Label: en: 最初に起動または最初に停止 Description: en: インスタンスを最初に起動するか、最初に停止するかを指定します。 Type: String AllowedValues: - StartFirst - StopFirst Default: StartFirst weekdays: Label: en: 曜日 Description: 'en: タスクを実行する曜日。コンマ (,) で区切って複数の曜日を指定できます。' Type: String AllowedPattern: '^((([1-7]|MON|TUE|WED|THU|FRI|SAT|SUN),)*([1-7]|MON|TUE|WED|THU|FRI|SAT|SUN)|^\*|^\?)$' Default: 1,2,3,4,5 dailyStartTime: Label: en: 毎日の起動時刻 Description: 'en: インスタンスを起動する時刻。HH:mm 形式を使用します。時刻は UTC です。' Type: String AllowedPattern: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$' Default: '09:00' dailyStopTime: Label: en: 毎日の停止時刻 Description: 'en: インスタンスを停止する時刻。HH:mm 形式を使用します。時刻は UTC です。' Type: String AllowedPattern: '^([01]?[0-9]|2[0-3]):[0-5][0-9]$' Default: '18:00' triggerEndDate: Label: en: トリガー終了日 Description: 'en: 定期タスクの終了日。時刻は UTC です。' Type: String AllowedPattern: ^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]Z$ stoppedMode: Label: en: ECS 停止モード Description: 'en: 従量課金インスタンスの停止モード。有効な値は StopCharging と KeepCharging です。StopCharging:節約モード。このモードが有効になるために必要な条件については、「従量課金インスタンスの節約モード」をご参照ください。KeepCharging:標準停止モード。インスタンスは停止後も課金が継続されます。' Type: String AllowedValues: - StopCharging - KeepCharging Default: KeepCharging AssociationPropertyMetadata: LocaleKey: ECSStoppedMode hibernate: Label: en: インスタンスの休止 Type: Boolean Default: false rateControl: Label: en: レート制御 Type: Json AssociationProperty: RateControl Default: Mode: Concurrency MaxErrors: 0 Concurrency: 10 OOSAssumeRole: Label: en: OOS Assume Role Type: String Default: AliyunServiceRoleForOOSInstanceScheduler RamRole: '{{ OOSAssumeRole }}' Tasks: - Name: timerTrigger Action: ACS::TimerTrigger Description: en: cron 式を使用してスケジュールに従ってタスクをトリガーします。 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: 指定された ECS インスタンスを取得します。 Action: ACS::SelectTargets Properties: ResourceType: ALIYUN::ECS::Instance RegionId: '{{regionId}}' Filters: - '{{ targets }}' Outputs: instanceIds: Type: List ValueSelector: Instances.Instance[].InstanceId - Name: startInstanceFirst Action: ACS::ECS::StartInstance Description: en: 最初に ECS インスタンスを起動します。 When: Fn::Equals: - StartFirst - '{{startFirstOrStopFirst}}' OnError: sleepToStopTime Properties: regionId: '{{ regionId }}' instanceId: '{{ ACS::TaskLoopItem }}' Loop: RateControl: '{{ rateControl }}' Items: '{{ getInstance.instanceIds }}' - Name: sleepToStopTime Action: ACS::Sleep Description: en: 指定されたインスタンスの停止時刻まで実行を一時停止します。 When: Fn::Equals: - StartFirst - '{{startFirstOrStopFirst}}' Properties: Duration: Fn::DurationBetween: - '{{ dailyStartTime }}' - '{{ dailyStopTime }}' - Name: stopInstanceSecond Action: ACS::ECS::StopInstance Description: en: ECS インスタンスを停止します。 When: Fn::Equals: - StartFirst - '{{startFirstOrStopFirst}}' Properties: regionId: '{{ regionId }}' instanceId: '{{ ACS::TaskLoopItem }}' stoppedMode: '{{ stoppedMode }}' hibernate: '{{ hibernate }}' Loop: RateControl: '{{ rateControl }}' Items: '{{ getInstance.instanceIds }}' - Name: stopInstanceFirst Action: ACS::ECS::StopInstance Description: en: 最初に ECS インスタンスを停止します。 When: Fn::Equals: - StopFirst - '{{startFirstOrStopFirst}}' OnError: sleepToStartTime Properties: regionId: '{{ regionId }}' instanceId: '{{ ACS::TaskLoopItem }}' stoppedMode: '{{ stoppedMode }}' hibernate: '{{ hibernate }}' Loop: RateControl: '{{ rateControl }}' Items: '{{ getInstance.instanceIds }}' - Name: sleepToStartTime Action: ACS::Sleep Description: en: 指定されたインスタンスの起動時刻まで実行を一時停止します。 When: Fn::Equals: - StopFirst - '{{startFirstOrStopFirst}}' Properties: Duration: Fn::DurationBetween: - '{{ dailyStopTime }}' - '{{ dailyStartTime }}' - Name: startInstance Action: ACS::ECS::StartInstance Description: en: ECS インスタンスを起動します。 When: Fn::Equals: - StopFirst - '{{startFirstOrStopFirst}}' Properties: regionId: '{{ regionId }}' instanceId: '{{ ACS::TaskLoopItem }}' Loop: RateControl: '{{ rateControl }}' Items: '{{ getInstance.instanceIds }}'