本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用Run Command傳送命令以傳回狀態通知
下列程序說明如何使用 AWS Command Line Interface (AWS CLI) 或 AWS Systems Manager 主控台,透過 中的工具 傳送命令 AWS Systems Manager,該Run Command工具設定為傳回狀態通知。
傳送Run Command以傳回通知 (主控台)
請使用下列程序,透過已設定為使用 Systems Manager 主控台傳回狀態通知的 Run Command 來傳送命令。
傳送命令以傳回通知 (主控台)
在 https://https://console.aws.amazon.com/systems-manager/
開啟 AWS Systems Manager 主控台。 在導覽窗格中,選擇 Run Command。
-
選擇執行命令。
-
在 Command document (命令文件) 清單中,選擇 Systems Manager 文件。
-
在 Command parameters (命令參數) 區段,指定所需的參數值。
在 Targets (目標) 區段中,透過手動指定標籤、選取執行個體或邊緣裝置,或指定資源群組,選擇您要執行這項操作的受管節點。
提示
如果您預期看到的受管節點未列出,請參閱 疑難排解受管節點的可用性 以取得疑難排解秘訣。
對於其他參數:
-
在 Comment (註解) 中,輸入此命令的相關資訊。
-
在逾時 (秒) 中,指定在命令執行全面失敗之前,系統要等候的秒數。
-
對於 Rate control (速率控制):
-
在並行中,指定可同時執行命令的受管節點數目或百分比。
注意
如果透過指定套用至受管節點的標籤或指定 AWS 資源群組選取了目標,且您不確定會以多少個受管節點為目標,則透過指定百分比限制可以同時執行文件之目標的數量。
-
在 Error threshold (錯誤閾值) 中,指定在特定數目或百分比之節點上的命令失敗之後,停止在其他受管節點上執行命令。例如,如果您指定三個錯誤,則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的受管節點也可能會傳送錯誤。
-
(選用) 針對輸出選項,若要將命令輸出儲存至檔案,請選取將命令輸出寫入至 S3 儲存貯體方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
注意
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可,會是指派給執行個體之執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (啟用混合模式的機器) 的許可,而不是執行此任務之 IAM 使用者的許可。如需詳細資訊,請參閱設定 Systems Manager 所需的執行個體許可或建立混合環境的 IAM 服務角色。此外,如果指定的 S3 儲存貯體位於不同的 中 AWS 帳戶,請確定與受管節點相關聯的執行個體設定檔或 IAM 服務角色具有寫入該儲存貯體的必要許可。
-
在 SNS Notifications (SNS 通知) 區段,選擇 Enable SNS notifications (啟用 SNS 通知)。
-
對於 IAM role (IAM 角色,選擇您在 使用 Amazon SNS 通知監控 Systems Manager 狀態變更 的任務 3 中建立的 Amazon SNS IAM 角色 ARN。
-
對於 SNS topic (SNS 主題),輸入要使用的 Amazon SNS 主題 ARN。
-
對於 Event notifications (事件通知),選擇您要接收通知的事件。
-
對於 Change notifications (變更通知),選擇僅接收命令摘要的通知 (Command status changes (命令狀態變更)),或是傳送到多個節點的每個命令副本 (Command status on each instance changes (每個執行個體的命令狀態變更))。
-
選擇執行。
-
檢查從 Amazon SNS 所寄來的電子郵信通知訊息並開啟此電子郵件訊息。Amazon SNS 可能需要幾分鐘的時間來傳送電子郵件訊息。
傳送Run Command以傳回通知 (CLI)
請使用下列程序,透過已設定為使用 AWS CLI傳回狀態通知的 Run Command 來傳送命令。
傳送會傳回通知的命令 (CLI)
-
開啟 AWS CLI。
-
在以下命令中指定要根據受管節點 ID 來作為目標的參數。
aws ssm send-command --instance-ids "
ID-1, ID-2
" --document-name "Name
" --parameters'{"commands":["input"]}'
--service-role"SNSRoleARN"
--notification-config '{"NotificationArn":"SNSTopicName
","NotificationEvents":["All
"],"NotificationType":"Command
"}'以下是範例。
aws ssm send-command --instance-ids "i-02573cafcfEXAMPLE, i-0471e04240EXAMPLE" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
替代命令
在以下命令中指定要使用標籤來將受管執行個體作為目標的參數。
aws ssm send-command --targets "Key=tag:
TagName
,Values=TagKey
" --document-name "Name
" --parameters'{"commands":["input"]}'
--service-role"SNSRoleARN"
--notification-config '{"NotificationArn":"SNSTopicName
","NotificationEvents":["All
"],"NotificationType":"Command
"}'以下是範例。
aws ssm send-command --targets "Key=tag:Environment,Values=Dev" --document-name "AWS-RunPowerShellScript" --parameters '{"commands":["Get-Process"]}' --service-role "arn:aws:iam::111122223333:role/SNS_Role" --notification-config '{"NotificationArn":"arn:aws:sns:us-east-1:111122223333:SNSTopic","NotificationEvents":["All"],"NotificationType":"Command"}'
-
按 Enter。
-
檢查從 Amazon SNS 所寄來的電子郵信通知訊息並開啟此電子郵件訊息。Amazon SNS 可能需要幾分鐘的時間來傳送電子郵件訊息。
如需詳細資訊,請參閱 AWS CLI 命令參考中的 send-command。