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

CloudOps Orchestration Service:ACS-ECS-ScheduleToStopAndStartInstances

最終更新日:Dec 21, 2025

テンプレート名

ACS-ECS-ScheduleToStopAndStartInstances:ECS インスタンスの停止と起動をスケジュールします

今すぐ実行

テンプレートの説明

このテンプレートは、スケジュールに従って Elastic Compute Service (ECS) インスタンスを停止および起動します。これは、自動化された運用保守 (O&M) やリソース管理に役立ちます。テンプレートを使用するには、リージョン ID (regionId)、毎日の停止時刻 (dailyStopTime)、毎日の起動時刻 (dailyStartTime)、曜日 (weekdays)、ターゲットインスタンス (targets) などの必須パラメーターを設定する必要があります。インスタンスを休止状態にすることも選択できます。その後、テンプレートは設定されたスケジュールに基づいて ECS インスタンスを停止および起動します。

テンプレートの種類

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター名

説明

種類

必須

デフォルト値

制約

dailyStopTime

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

String

はい

dailyStartTime

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

String

はい

targets

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

Json

はい

regionId

リージョン ID。

String

いいえ

{{ ACS::RegionId }}

weekdays

タスクを実行する曜日。

String

いいえ

MON-FRI

triggerEndDate

トリガーの有効期限が切れる時刻。

String

いいえ

2099-12-01T00:00:00Z

stoppedMode

停止した従量課金インスタンスの課金モード。

String

いいえ

""

hibernate

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

Boolean

いいえ

False

rateControl

タスク実行の同時実行率。

Json

いいえ

{'Mode': 'Concurrency', 'MaxErrors': '100%', '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-ScheduleToStopAndStartInstances」をご参照ください。

テンプレートコンテンツ

FormatVersion: OOS-2019-06-01
Description:
  ja: 'ECS インスタンスの停止と起動をスケジュールします。自動メンテナンス タスクやリソース管理など、特定の時刻に ECS インスタンスを自動的に停止および起動する必要があるシナリオに適用できます。設定時に、操作対象の ECS インスタンスのリージョンを指定するリージョン ID (regionId)、タスクのスケジュールを定義する毎日の停止時刻 (dailyStopTime) と毎日の起動時刻 (dailyStartTime)、および曜日 (weekdays)、操作対象の特定の ECS インスタンスを定義するターゲットインスタンス (targets) といった必須パラメーター情報を提供する必要があります。インスタンスを停止するか休止状態にするかを選択することもできます。テンプレートは、設定されたスケジュールに従って ECS インスタンスを停止および起動します。'
  name-ja: ECS インスタンスの停止と起動のスケジュール
  categories:
    - time_trigger
Parameters:
  regionId:
    Type: String
    Label:
      ja: リージョン ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  dailyStopTime:
    Label:
      ja: 毎日の停止時刻
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: 'HH:mm:ssZ'
  dailyStartTime:
    Label:
      ja: 毎日の起動時刻
    Type: String
    AssociationProperty: DateTime
    AssociationPropertyMetadata:
      Format: 'HH:mm:ssZ'
  weekdays:
    Label:
      ja: タスク実行サイクル
    Description:
      ja: '* は毎日、MON は月曜日のみ、MON-FRI は月曜日から金曜日までを示します。詳細については、https://www.alibabacloud.com/help/document_detail/169784.html をご参照ください。'
    Type: String
    Default: MON-FRI
  triggerEndDate:
    Label:
      ja: トリガー終了日時
    Description:
      ja: 'フォーマット: 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:
      ja: ターゲットインスタンス
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  stoppedMode:
    Label:
      ja: 停止モード
    Description:
      ja: 停止後も従量課金 ECS インスタンスが課金され続けるかどうかを指定します。
    Type: String
    AllowedValues:
      - StopCharging
      - KeepCharging
      - ''
    Default: ''
  hibernate:
    Label:
      ja: インスタンスを休止状態にするかどうか
    Type: Boolean
    Default: false
  rateControl:
    Label:
      ja: タスク実行の同時実行率
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 100%
      Concurrency: 10
  OOSAssumeRole:
    Label:
      ja: OOS が引き受ける RAM ロール
    Type: String
    Default: AliyunServiceRoleForOOSInstanceScheduler
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: timerTrigger
    Action: 'ACS::TimerTrigger'
    Description:
      ja: cron 式を指定して、スケジュールどおりにタスクをトリガーします。
    Properties:
      Type: cron
      EndDate: '{{ triggerEndDate }}'
      Expression:
        'Fn::Join':
          - ' '
          - - '0'
            - 'Fn::Select':
                - 1
                - 'Fn::Split':
                    - ':'
                    - '{{ dailyStopTime }}'
            - 'Fn::Select':
                - 0
                - 'Fn::Split':
                    - ':'
                    - '{{ dailyStopTime }}'
            - '?'
            - '*'
            - '{{ weekdays }}'
  - Name: getInstance
    Description:
      ja: ECS インスタンスを取得します。
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{regionId}}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: stopInstance
    Action: 'ACS::ECS::StopInstance'
    Description:
      ja: インスタンスを停止します。
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      stoppedMode: '{{ stoppedMode }}'
      hibernate: '{{ hibernate }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'
  - Name: sleepToSpecifiedTime
    Description:
      ja: インスタンスの起動時刻までスリープします。
    Action: 'ACS::Sleep'
    Properties:
      Duration:
        'Fn::DurationBetween':
          - '{{ dailyStopTime }}'
          - '{{ dailyStartTime }}'
  - Name: startInstance
    Action: 'ACS::ECS::StartInstance'
    Description:
      ja: インスタンスを起動します。
    Properties:
      regionId: '{{ regionId }}'
      instanceId: '{{ ACS::TaskLoopItem }}'
    Loop:
      RateControl: '{{ rateControl }}'
      Items: '{{ getInstance.instanceIds }}'