本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用基礎設施即程式碼 (IaC) 管理排程
重要
在中樞堆疊部署完成後,使用單獨的範本部署排程。
AWS 上的執行個體排程器提供自訂資源 (ServiceInstanceSchedule),您可以透過 AWS CloudFormation 來設定和管理排程。自訂資源針對與 Amazon DynamoDB 中執行個體排程器組態資料表相同的資料使用 PascalCase 金鑰 (範例請參閱下列範本)。如需排程欄位的詳細資訊,請參閱排程定義。如需期間欄位的詳細資訊,請參閱期間定義。
當您使用自訂資源建立排程時,該排程的名稱預設為自訂資源的邏輯資源名稱。若要指定不同的名稱,請使用自訂資源的名稱屬性。根據預設,解決方案也會將堆疊名稱新增至排程名稱做為字首。如果您不想將堆疊名稱新增為字首,請使用 NoStackPrefix 屬性。
當您使用名稱和NoStackPrefix屬性時,請務必選擇唯一的排程名稱。如果具有相同名稱的排程已存在,則不會建立或更新資源。
若要開始使用 IaC 管理排程,請複製並貼上下列範例範本,並自訂任意數量的排程。將檔案儲存為 .template 檔案 (例如:my-schedules.template),然後使用 AWS CloudFormation 部署您的新範本。如需已完成排程範本的範例,請參閱範例排程。
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
SampleSchedule1:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN #do not edit this line
NoStackPrefix: 'False'
Name: my-renamed-sample-schedule
Description: a full sample template for creating cfn schedules showing all possible values
Timezone: America/New_York
Enforced: 'True'
Hibernate: 'True'
RetainRunning: 'True'
StopNewInstances: 'True'
UseMaintenanceWindow: 'True'
SsmMaintenanceWindow: 'my_window_name'
Periods:
- Description: run from 9-5 on the first 3 days of March
BeginTime: '9:00'
EndTime: '17:00'
InstanceType: 't2.micro'
MonthDays: '1-3'
Months: '3'
- Description: run from 2pm-5pm on the weekends
BeginTime: '14:00'
EndTime: '17:00'
InstanceType: 't2.micro'
WeekDays: 'Sat-Sun'
SampleSchedule2:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN #do not edit this line
NoStackPrefix: 'True'
Description: a sample template for creating simple cfn schedules
Timezone: Europe/Amsterdam
Periods:
- Description: stop at 5pm every day
EndTime: '17:00'部署範本時,您必須為在 AWS 上部署執行個體排程器提供 ServiceTokenARN。您可以在 CloudFormation 中找到此 ARN,方法是導覽至您部署的執行個體排程器堆疊、選取輸出,以及尋找 ServiceInstanceScheduleServiceToken.
重要
請勿使用 DynamoDB 主控台或排程器 CLI 來刪除或修改使用自訂資源設定的排程和期間。如果您這樣做,您將在堆疊中的預存參數與資料表中的值之間建立衝突。此外,請不要在使用 DynamoDB 主控台或排程器 CLI 建立的排程中使用自訂資源設定的期間。
在刪除主要執行個體排程器堆疊之前,您必須刪除包含使用自訂資源建立之排程和期間的所有其他堆疊,因為自訂資源堆疊包含主要堆疊 DynamoDB 資料表上的相依性。
在組態 DynamoDB 資料表中,可透過 configured_in_stack 屬性來識別使用自訂資源設定的排程和期間。屬性包含用於建立項目之堆疊的 Amazon Resource Name。