使用Run Command傳送命令以傳回狀態通知 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用Run Command傳送命令以傳回狀態通知

下列程序說明如何使用 AWS Command Line Interface (AWS CLI) 或 AWS Systems Manager 主控台,透過 中的工具 傳送命令 AWS Systems Manager,該Run Command工具設定為傳回狀態通知。

傳送Run Command以傳回通知 (主控台)

請使用下列程序,透過已設定為使用 Systems Manager 主控台傳回狀態通知的 Run Command 來傳送命令。

傳送命令以傳回通知 (主控台)
  1. 在 https://https://console.aws.amazon.com/systems-manager/ 開啟 AWS Systems Manager 主控台。

  2. 在導覽窗格中,選擇 Run Command

  3. 選擇執行命令

  4. Command document (命令文件) 清單中,選擇 Systems Manager 文件。

  5. Command parameters (命令參數) 區段,指定所需的參數值。

  6. Targets (目標) 區段中,透過手動指定標籤、選取執行個體或邊緣裝置,或指定資源群組,選擇您要執行這項操作的受管節點。

    提示

    如果您預期看到的受管節點未列出,請參閱 疑難排解受管節點的可用性 以取得疑難排解秘訣。

  7. 對於其他參數

    • Comment (註解) 中,輸入此命令的相關資訊。

    • 逾時 (秒) 中,指定在命令執行全面失敗之前,系統要等候的秒數。

  8. 對於 Rate control (速率控制):

    • 並行中,指定可同時執行命令的受管節點數目或百分比。

      注意

      如果透過指定套用至受管節點的標籤或指定 AWS 資源群組選取了目標,且您不確定會以多少個受管節點為目標,則透過指定百分比限制可以同時執行文件之目標的數量。

    • Error threshold (錯誤閾值) 中,指定在特定數目或百分比之節點上的命令失敗之後,停止在其他受管節點上執行命令。例如,如果您指定三個錯誤,則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的受管節點也可能會傳送錯誤。

  9. (選用) 針對輸出選項,若要將命令輸出儲存至檔案,請選取將命令輸出寫入至 S3 儲存貯體方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。

    注意

    授予能力以將資料寫入至 S3 儲存貯體的 S3 許可,會是指派給執行個體之執行個體設定檔 (適用於 EC2 執行個體) 或 IAM 服務角色 (啟用混合模式的機器) 的許可,而不是執行此任務之 IAM 使用者的許可。如需詳細資訊,請參閱設定 Systems Manager 所需的執行個體許可建立混合環境的 IAM 服務角色。此外,如果指定的 S3 儲存貯體位於不同的 中 AWS 帳戶,請確定與受管節點相關聯的執行個體設定檔或 IAM 服務角色具有寫入該儲存貯體的必要許可。

  10. SNS Notifications (SNS 通知) 區段,選擇 Enable SNS notifications (啟用 SNS 通知)

  11. 對於 IAM role (IAM 角色,選擇您在 使用 Amazon SNS 通知監控 Systems Manager 狀態變更 的任務 3 中建立的 Amazon SNS IAM 角色 ARN。

  12. 對於 SNS topic (SNS 主題),輸入要使用的 Amazon SNS 主題 ARN。

  13. 對於 Event notifications (事件通知),選擇您要接收通知的事件。

  14. 對於 Change notifications (變更通知),選擇僅接收命令摘要的通知 (Command status changes (命令狀態變更)),或是傳送到多個節點的每個命令副本 (Command status on each instance changes (每個執行個體的命令狀態變更))。

  15. 選擇執行

  16. 檢查從 Amazon SNS 所寄來的電子郵信通知訊息並開啟此電子郵件訊息。Amazon SNS 可能需要幾分鐘的時間來傳送電子郵件訊息。

傳送Run Command以傳回通知 (CLI)

請使用下列程序,透過已設定為使用 AWS CLI傳回狀態通知的 Run Command 來傳送命令。

傳送會傳回通知的命令 (CLI)
  1. 開啟 AWS CLI。

  2. 在以下命令中指定要根據受管節點 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"}'
  3. Enter

  4. 檢查從 Amazon SNS 所寄來的電子郵信通知訊息並開啟此電子郵件訊息。Amazon SNS 可能需要幾分鐘的時間來傳送電子郵件訊息。

如需詳細資訊,請參閱 AWS CLI 命令參考中的 send-command