AWS Systems Manager 自動化 - AWS Systems Manager

AWS Systems Manager 自動化

Automation (AWS Systems Manager 的功能) 簡化了 AWS 服務常見的維護、部署和修復任務,此類服務包括 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Relational Database Service (Amazon RDS)、Amazon Redshift、Amazon Simple Storage Service (Amazon S3),以及更多其他服務。

Automation 可幫助您建置用於大規模部署、設定和管理 AWS 資源的自動化解決方案。您可以藉助 Automation 精密控制自動化的並行。這意味著您可以指定要同時視為目標的資源數量,以及在停止自動化之前容許發生的錯誤數量。

為了幫助您開始使用 Automation 功能,AWS 會開發和維護幾個預先定義的 Runbook。根據自己的使用案例,您可以使用這些預先定義的 Runbook 來執行各種任務,也可以建立自訂 Runbook 來滿足您的需求。若要監控自動化的進度和狀態,可以使用 Systems Manager Automation 主控台或偏好的命令列工具。Automation 還與 Amazon EventBridge 整合,可幫助您大規模建置事件驅動型架構。

Automation 對我組織有何好處?

Automation 提供這些好處:

  • Runbook 內容中的指令碼支援

    您可以使用 aws:executeScript 動作,直接從 Runbook 執行自訂 Python 和 PowerShell 函數。這為您提供了更大的靈活性來建立自訂 Runbook,因為您可以完成其他 Automation 動作不支援的各種任務。您還可以更好地控制 Runbook 的邏輯。如需如何使用此動作以及如何幫助改進現有自動化解決方案的範例,請參閲 撰寫 Automation Runbook

  • 從集中位置對多個 AWS 帳戶 和 AWS 區域 執行自動化

    管理員可以從 Systems Manager 主控台對多個帳戶和區域的資源執行自動化。

  • 強化操作安全性

    管理員有一個集中位置來授予和撤銷 Runbook 的存取權。只使用 AWS Identity and Access Management (IAM) 政策,您就可以控制組織中的哪些使用者或群組可以使用 Automation 以及他們可以存取哪些 Runbook。如需委派存取權給自動化的範例,請參閱 使用委託管理執行自動化

  • 自動化 IT 常見任務

    自動化常見任務有助於提高運營效率、強制執行組織標準以及減少操作員錯誤。例如,您可以使用 AWS-UpdateCloudFormationStackWithApproval Runbook 更新藉由使用 AWS CloudFormation 範本部署的資源。更新會套用新的範本。您可以設定自動化以請求一個或多個 IAM 使用者在更新開始之前核准。

  • 安全執行大量破壞性工作

    Automation 包括速率控制等功能,這些功能允許您藉由指定並行值和錯誤閾值來控制自動化在機群中的部署。如需有關使用速率控制功能的詳細資訊,請參閱 執行使用目標和速率控制的自動化

  • 簡化複雜任務

    Automation 提供了預先定義的 Runbook,可簡化複雜而耗時的任務,例如建立黃金 Amazon Machine Images (AMIs)。例如,您可以使用 AWS-UpdateLinuxAmiAWS-UpdateWindowsAmi Runbook 從來源 AMI 建立黃金 AMIs。使用這些 Runbook,您可以在更新套用前後執行自訂指令碼。您也可以包含或排除安裝特定軟體套件。如需執行這些 Runbook 的範例,請參閱 自動化演練

  • 定義輸入限制條件

    您可以在自訂 Runbook 中定義限制條件,從而限制 Automation 要接受的特定輸入參數的值。例如:allowedPattern 將僅接受與您定義的規則運算式相符之輸入參數的值。如果在輸入參數中指定 allowedValues,則系統只接受您在 Runbook 中指定的值。

  • 在 Amazon CloudWatch Logs 中記錄自動化動作的輸出

    為了滿足組織中的操作或安全需求,您可能需要提供在 Runbook 執行期間的指令碼記錄。您可使用 CloudWatch Logs 從各種 AWS 服務 中監控、存放及存取日誌檔案。您可以將 aws:executeScript 動作中的輸出傳送到 CloudWatch Logs 日誌群組,以便進行偵錯和故障診斷。透過使用您的 KMS 金鑰,日誌資料可包含或不含 AWS KMS 加密金鑰傳串流您的日誌群組。如需詳細資訊,請參閱 使用 CloudWatch Logs 記錄自動化動作輸出

  • Amazon EventBridge 整合

    Automation 作為 Amazon EventBridge 規則中的目標類型受到支援。這意味著您可以使用事件觸發 Runbook。如需詳細資訊,請參閱 使用 Amazon EventBridge 監控 Systems Manager參考:Systems Manager 的 Amazon EventBridge 事件模式和類型

  • 共用組織最佳實務

    您可以在跨帳戶和區域共用的 Runbook 中定義資源管理、操作任務等項目的最佳實務。

誰應該使用 Automation?

  • 希望大規模提高運營效率、減少與手動介入相關的錯誤並縮短解決常見問題所花費時間的 AWS 客戶。

  • 希望自動化部署和組態任務的基礎設施專家。

  • 希望可靠地解決常見問題、提高疑難排解效率和減少重複性操作的管理員。

  • 希望自動化通常手動執行之任務的使用者。

什麼是自動化?

自動化包含在 Runbook 中定義並由 Automation 服務執行的所有任務。Automation 使用下列元件來執行自動化。

概念 詳細資訊

Automation Runbook

Systems Manager Automation Runbook 定義自動化 (Systems Manager 在受管節點 和 AWS 資源上執行的動作)。自動化包含數個預先定義的 Runbook,供您用來執行常見任務,像是重新啟動一個或多個 Amazon EC2 執行個體,或建立 Amazon Machine Image (AMI)。您也可以建立自己的 Runbook。Runbooks 使用 JavaScript 物件標記法 (JSON) 或 YAML,其中包括您指定的步驟和參數。步驟會循序執行。如需詳細資訊,請參閱 使用 Runbook

Runbook 是類型 Automation 的 Systems Manager 文件,而不是 CommandPolicySession 文件)。Runbook 支援結構描述版本 0.3。命令文件使用結構描述版本 1.2、2.0 或 2.2。政策文件使用結構描述版本 2.0 或更新版本。

自動化動作

Runbook 中定義的自動化包含一個或多個步驟。每個步驟皆與一個特定動作關聯。動作會決定輸入、行為和步驟的輸出。Runbook 的 mainSteps 章節中會定義步驟。自動化支援 20 個不同的動作類型。如需詳細資訊,請參閱 Systems Manager Automation 動作參考

自動化配額

每個 AWS 帳戶 可以同時執行 100 個自動化作業。這包括子系自動化 (由另一個自動化啟動的自動化),以及速率控制自動化。如果您嘗試執行超過此數量的自動化,Systems Manager 會將額外自動化新增至佇列並顯示待定狀態。如需執行自動化的相關詳細資訊,請參閱 執行簡易自動化

自動化佇列配額

如果您嘗試執行的自動化超過並行自動化限制,則後續的自動化會新增至佇列。每個 AWS 帳戶 可將 1,000 個自動化排入佇列。自動化完成時 (或達到結束狀態),佇列中的第一個自動化就會啟動。

速率控制自動化配額

每個 AWS 帳戶 可以同時執行 25 個自動化作業。如果您嘗試執行的速率控制自動化超過並行速率控制自動化限制,則 Systems Manager 會將後續速率控制自動化新增至佇列並顯示「待處理」狀態。如需執行速率控制自動化的詳細資訊,請參閱 執行使用目標和速率控制的自動化

速率控制自動化佇列配額

如果您嘗試執行的自動化超過並行速率控制自動化限制,則後續的自動化會新增至佇列。每個 AWS 帳戶 可將 1,000 個速率控制自動化排入佇列。自動化完成時 (或達到結束狀態),佇列中的第一個自動化就會啟動。