本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
範例排程
AWS 上的執行個體排程器可讓您自動啟動和停止 Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon Relational Database Service (Amazon RDS) 執行個體。下一節提供一些可以適應許多常見使用案例的範例排程。
標準 9-5 工作時間
此排程說明如何在倫敦的工作日上午 9 點至下午 5 點執行執行個體。
期間
此期間會在上午 9 點開始執行個體,並在工作日 (週一至週五) 下午 5 點停止執行個體。
| 欄位 | 類型 | Value |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
排程
排程名稱提供必須套用至執行個體的標籤值,以及將使用的時區。
| 欄位 | 類型 | Value |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
執行個體標籤
若要將此排程套用至執行個體,您必須將 Schedule=london-working-hours 標籤新增至執行個體。如果您在 AWS CloudFormation 執行個體排程器標籤名稱參數中變更預設標籤名稱,您的標籤將會不同。例如,如果您輸入 Sked做為標籤名稱,您的標籤將為 Sked=london-working-hours。如需詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的標記您的 資源。
排程器 CLI
若要使用執行個體排程器 CLI 設定上述排程,請使用下列命令:
scheduler-cli create-period --stack <stackname> --name weekdays-9-5 --weekdays mon-fri --begintime 9:00 --endtime 16:59 scheduler-cli create-schedule --stack <stackname> --name london-working-hours --periods weekdays-9-5 --timezone Europe/London Europe/London
自訂資源
下列 CloudFormation 範本將使用排程自訂資源建立上述排程。
若要部署此範本,您需要透過選取先前部署的執行個體排程器中樞堆疊,然後選取輸出,提供可在 AWS CloudFormation 主控台中找到的 ServiceInstanceScheduleServiceToken ARN。
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
LondonWorkingWeek:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: london-working-hours
Description: run instances from 9am to 5pm in London on weekdays
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: Europe/London
Periods:
- Description: 9am to 5pm on weekdays
BeginTime: '09:00'
EndTime: '16:59'
WeekDays: mon-fri
下午 5 點後停止執行個體
執行個體可以在一天中的任何時間自由啟動,此排程將確保停止命令每天在東部時間下午 5 點自動傳送給它們。
期間
此期間將在每天下午 5 點停止執行個體。
| 欄位 | 類型 | Value |
|---|---|---|
|
|
|
|
|
|
|
|
排程
排程名稱提供必須套用至執行個體的標籤值,以及將使用的時區。
| 欄位 | Value | |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
執行個體標籤
若要將此排程套用至執行個體,您必須將 Schedule=stop-at-5-new-york 標籤新增至執行個體。如果您在 AWS CloudFormation 執行個體排程器標籤名稱參數中變更預設標籤名稱,您的標籤將會不同。例如,如果您輸入 Sked做為標籤名稱,您的標籤將為 Sked=stop-at-5-new-york 。如需詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的標記您的 資源。
排程器 CLI
若要使用執行個體排程器 CLI 設定上述排程,請使用下列命令:
scheduler-cli create-period --stack <stackname> --name stop-at-5 --endtime 16:59 scheduler-cli create-schedule --stack <stackname> --name stop-at-5-new-york --periods stop-at-5 --timezone America/New_York
自訂資源
下列 CloudFormation 範本將使用排程自訂資源建立上述排程。
若要部署此範本,您需要按一下先前部署的執行個體排程器中樞堆疊並選取輸出,以提供可在 AWS CloudFormation 主控台中找到的 ServiceInstanceScheduleServiceToken ARN。
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
StopAfter5:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: stop-at-5-new-york
Description: stop instances at 5pm ET every day
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: America/New_York
Periods:
- Description: stop at 5pm
EndTime: '16:59'
在週末停止執行個體
此排程說明如何在東部時間星期一上午 9 點到東部時間星期五下午 5 點執行執行個體。由於週一和週五不是整天,此排程包含三個時段:週一、週二至週四和週五。
期間
第一個期間會在星期一上午 9 點開始標記的執行個體,並在午夜停止。此期間包含下列欄位和值。
| 欄位 | 類型 | Value |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
第二個期間會在星期二到星期四全天執行已標記的執行個體。此期間包含下列欄位和值。
| 欄位 | Value | |
|---|---|---|
|
|
|
|
|
|
|
|
第三個期間會在星期五下午 5 點停止標記的執行個體。此期間包含下列欄位和值。
| 欄位 | Value | |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
排程
排程會將三個期間合併為已標記執行個體的排程。排程包含下列欄位和值。
| 欄位 | Value | |
|---|---|---|
|
|
|
週一至上午 9 點至週五下午 5 點 |
|
|
|
mon-start-9am,tue-thu-full-day,fri-stop-5pm |
|
|
|
America/New_York |
執行個體標籤
若要將此排程套用至執行個體,您必須將 Schedule=mon-9am-fri-5pm 標籤新增至執行個體。請注意,如果您在 AWS CloudFormation 執行個體排程器標籤名稱參數中變更預設標籤名稱,您的標籤將會不同。例如,如果您輸入 Sked 做為標籤名稱,您的標籤將為 Sked=mon-9am-fri-5pm。如需詳細資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的標記您的 資源。
排程器 CLI
若要使用執行個體排程器 CLI 設定上述排程,請使用下列命令:
scheduler-cli create-period --stack <stackname> --name mon-start-9am --weekdays mon --begintime 9:00 --endtime 23:59 scheduler-cli create-period --stack <stackname> --name tue-thu-full-day --weekdays tue-thu scheduler-cli create-period --stack <stackname> --namefri-stop-5pm --weekdays fri --begintime 0:00 --endtime 17:00 scheduler-cli create-schedule --stack <stackname> --name mon-9am-fri-5pm --periods mon-start-9am,tue-thu-full-day,fri-stop-5pm -timezone America/New_York
自訂資源
下列 CloudFormation 範本將使用排程自訂資源建立上述排程。
若要部署此範本,您需要提供可在 AWS CloudFormation 主控台中找到的 ServiceInstanceScheduleServiceToken ARN,方法是選取先前部署的執行個體排程器中樞堆疊,然後選取輸出。
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
StopOnWeekends:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: mon-9am-fri-5pm
Description: start instances at 9am on monday and stop them at 5pm on friday
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: America/New_York
Periods:
- Description: 9am monday start
BeginTime: '09:00'
EndTime: '23:59'
WeekDays: mon
- Description: all day tuesday-thursday
WeekDays: tue-thu
- Description: 5pm friday stop
BeginTime: '00:00'
EndTime: '16:59'
WeekDays: fri
解決方案資源
下列資源會建立為 AWS 堆疊上執行個體排程器的一部分。
| 資源名稱 | 類型 | 說明 |
|---|---|---|
|
主要 |
|
AWS Lambda 函數上的執行個體排程器。 |
|
排程器組態協助程式 |
|
將全域組態設定儲存在 Amazon DynamoDB 中。 |
|
排程器叫用許可 |
|
允許 Amazon CloudWatch 事件叫用執行個體排程器的 AWS Lambda 函數。 |
|
排程器日誌 |
|
執行個體排程器的 CloudWatch Log Group。 |
|
排程器政策 |
|
允許排程器執行啟動和停止動作、變更 Amazon EC2 執行個體屬性、設定標籤和存取排程器資源的政策。 |
|
排程器規則 |
|
叫用排程器 Lambda 函數的 Amazon EventBridge 事件規則。 |
|
組態指標事件規則 |
|
定期叫用組態描述匿名指標函數的 Amazon EventBridge 事件規則。停用匿名指標時停用。 |
|
狀態資料表 |
|
存放上次所需執行個體狀態的 DynamoDB 資料表。 |
|
組態資料表 |
|
存放全域組態、排程和期間資料的 DynamoDB 資料表。 |
|
執行個體排程器 SNS 主題 |
|
傳送警告和錯誤訊息至訂閱的電子郵件地址。 |