本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Amazon EventBridge 排程器
您必須先完成下列步驟,才能使用 EventBridge 排程器。
註冊 AWS
如果您沒有 AWS 帳戶,請完成下列步驟來建立一個 。
註冊 AWS 帳戶
開啟 https://portal.aws.amazon.com/billing/signup
。 請遵循線上指示進行。
部分註冊程序需接收來電,並在電話鍵盤輸入驗證碼。
當您註冊 時 AWS 帳戶,AWS 帳戶根使用者會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務,請將管理存取權指派給使用者,並且僅使用根使用者來執行需要根使用者存取權的任務。
建立 IAM 使用者
若要建立管理員使用者,請選擇下列其中一個選項。
選擇一種管理管理員的方式 | 到 | 根據 | 您也可以 |
---|---|---|---|
在 IAM Identity Center (建議) |
使用短期憑證存取 AWS。 這與安全性最佳實務一致。有關最佳實務的資訊,請參閱 IAM 使用者指南中的 IAM 安全最佳實務。 |
請遵循 AWS IAM Identity Center 使用者指南的入門中的說明。 | 透過在 AWS Command Line Interface 使用者指南中設定 AWS CLI 以使用 來設定 AWS IAM Identity Center程式設計存取。 |
在 IAM 中 (不建議使用) |
使用長期憑證存取 AWS。 | 請遵循 IAM 使用者指南中建立緊急存取的 IAM 使用者中的指示。 | 在 IAM 使用者指南中,透過管理 IAM 使用者的存取金鑰來設定程式設計存取。 |
使用 受管政策
在上一個步驟中,您會使用登入資料設定 IAM 使用者來存取您的 AWS 資源。在大多數情況下,若要安全地使用 EventBridge Scheduler,我們建議您建立單獨的使用者、群組或角色,只具有使用 EventBridge Scheduler 的必要許可。EventBridge Scheduler 支援下列適用於常見使用案例的受管政策。
-
AmazonEventBridgeSchedulerFullAccess – 使用主控台和 API 授予 EventBridge Scheduler 的完整存取權。
-
AmazonEventBridgeSchedulerReadOnlyAccess – 授予 EventBridge Scheduler 的唯讀存取權。
您可以將這些受管政策連接至 IAM 主體,方式與上一個步驟中連接AdministratorAccess
政策的方式相同。如需使用身分型 IAM 政策管理 EventBridge Scheduler 存取的詳細資訊,請參閱 在 EventBridge Scheduler 中使用身分型政策。
設定執行角色
執行角色是 EventBridge Scheduler 擔任的 IAM 角色,以便 AWS 服務 代表您與其他 互動。您可以將許可政策連接至此角色,以授予 EventBridge Scheduler 調用目標的存取權。
您也可以在使用 主控台建立新的排程時建立新的執行角色。如果您使用 主控台,EventBridge Scheduler 會根據您選擇的目標,以 許可代表您建立角色。當 EventBridge Scheduler 為您建立角色時,角色的信任政策包含條件索引鍵,這些索引鍵會限制哪些委託人可以代表您擔任該角色。這可防止潛在的混淆代理人安全問題。
下列步驟說明如何建立新的執行角色,以及如何授予 EventBridge Scheduler 調用目標的存取權。本主題說明熱門範本目標的許可。如需新增其他目標許可的詳細資訊,請參閱在 EventBridge Scheduler 中使用範本目標。
使用 建立執行角色 AWS CLI
-
複製下列擔任角色的 JSON 政策,並將其儲存為
Scheduler-Execution-Role.json
。此信任政策允許 EventBridge Scheduler 代表您擔任該角色。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
重要
若要在生產環境中設定執行角色,建議您實作額外的保護措施,以防止混淆代理人問題。如需詳細資訊和範例政策,請參閱 EventBridge Scheduler 中的混淆代理預防。
-
從 AWS Command Line Interface (AWS CLI) 輸入下列命令來建立新的角色。
將 取代為您要提供此角色的名稱。SchedulerExecutionRole
$
aws iam create-role --role-name
SchedulerExecutionRole
--assume-role-policy-document file://Scheduler-Execution-Role.json如果成功,您會看到下列輸出:
{ "Role": { "Path": "/", "RoleName": "Scheduler-Execution-Role", "RoleId": "BR1L2DZK3K4CTL5ZF9EIL", "Arn": "arn:aws:iam::123456789012:role/SchedulerExecutionRole", "CreateDate": "2022-03-10T18:45:01+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } }
-
若要建立新的政策以允許 EventBridge Scheduler 叫用目標,請選擇下列其中一個常見目標。複製 JSON 許可政策並將其儲存為
.json
檔案。 -
執行下列命令來建立新的許可政策。
將 取代為您要提供此政策的名稱。PolicyName
$
aws iam create-policy --policy-name
PolicyName
--policy-document file://PermissionPolicy.json如果成功,您會看到下列輸出。請注意政策 ARN。您可以在下一個步驟中使用此 ARN,將政策連接至我們的執行角色。
{ "Policy": { "PolicyName": "PolicyName", "CreateDate": "2022-03-015T19:31:18.620Z", "AttachmentCount": 0, "IsAttachable": true, "PolicyId": "ZXR6A36LTYANPAI7NJ5UV", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/PolicyName", "UpdateDate": "2022-03-015T19:31:18.620Z" } }
-
執行下列命令,將政策連接至您的執行角色。
將 取代為您在上一個步驟中建立的政策 ARN。your-policy-arn
將 取代為執行角色的名稱。SchedulerExecutionRole
$
aws iam attach-role-policy --policy-arn
your-policy-arn
--role-nameSchedulerExecutionRole
attach-role-policy
操作不會傳回命令列上的回應。
設定目標
建立 EventBridge 排程器排程之前,您需要至少一個目標,才能叫用排程。您可以使用現有的 AWS 資源,或建立新的資源。下列步驟說明如何使用 建立新的標準 Amazon SQS 佇列 AWS CloudFormation。
建立新的 Amazon SQS 佇列
-
複製下列 JSON AWS CloudFormation 範本並將其儲存為
SchedulerTargetSQS.json
。{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyQueue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": "
MyQueue
" } } }, "Outputs": { "QueueName": { "Description": "The name of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "QueueName" ] } }, "QueueURL": { "Description": "The URL of the queue", "Value": { "Ref": "MyQueue" } }, "QueueARN": { "Description": "The ARN of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "Arn" ] } } } } -
從 AWS CLI執行下列命令,從
Scheduler-Target-SQS.json
範本建立 AWS CloudFormation 堆疊。$
aws cloudformation create-stack --stack-name
Scheduler-Target-SQS
--template-body file://Scheduler-Target-SQS.json如果成功,您會看到下列輸出:
{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890" }
-
執行下列命令以檢視 AWS CloudFormation 堆疊的摘要資訊。此資訊包含堆疊的狀態和範本中指定的輸出。
$
aws cloudformation describe-stacks --stack-name
Scheduler-Target-SQS
如果成功,命令會建立 Amazon SQS 佇列並傳回下列輸出:
{ "Stacks": [ { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/Scheduler-Target-SQS/1d2af345-a121-12eb-abc1-012e34567890", "StackName": "Scheduler-Target-SQS", "CreationTime": "2022-03-17T16:21:29.442000+00:00", "RollbackConfiguration": {}, "StackStatus": "CREATE_COMPLETE", "DisableRollback": false, "NotificationARNs": [], "Outputs": [ { "OutputKey": "QueueName", "OutputValue": "MyQueue", "Description": "The name of the queue" }, { "OutputKey": "QueueARN", "OutputValue": "arn:aws:sqs:us-west-2:123456789012:MyQueue", "Description": "The ARN of the queue" }, { "OutputKey": "QueueURL", "OutputValue": "https://sqs.us-west-2.amazonaws.com/123456789012/MyQueue", "Description": "The URL of the queue" } ], "Tags": [], "EnableTerminationProtection": false, "DriftInformation": { "StackDriftStatus": "NOT_CHECKED" } } ] }
在本指南稍後,您將使用 的值,將佇列
QueueARN
設定為 EventBridge Scheduler 的目標。
後續步驟?
完成設定步驟後,請使用入門指南來建立您的第一個 EventBridge 排程器排程器並叫用目標。