本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立SSM文件內容
如果 AWS Systems Manager 公用文件未執行您要對 AWS 資源執行的所有動作,您可以建立自己的SSM文件。您也可以使用控制台克隆SSM文檔。複製文件會將現有文件的內容複製到您可以修改的新文件中。建立或複製文件時,文件的內容不得超過 64 KB。此配額也包括在執行階段為輸入參數指定的內容。當您建立新的 Command
或 Policy
文件時,我們建議您使用結構描述 2.2 或更新版本,以便您可以利用最新的功能,例如文件編輯、自動版本控制、排序等。
撰寫 SSM 文件內容
若要建立您自己的SSM文SSM件內容,請務必瞭解可用於文件的不同結構描述、功能、外掛程式和語法。我們建議您熟悉下列資源。
-
透過 AWS Toolkit for Visual Studio Code 來使用 Systems Manager Automation Runbook
AWS 預先定義的SSM文件可能會執行您需要的某些動作。您可以在自訂文件中使用aws:runDocument
aws:runCommand
、或aws:executeAutomation
外掛程式來呼叫這些SSM文件,視文件類型而定。您也可以將這些文件的某些部分複製到自訂SSM文件中,然後編輯內容以符合您的需求。
提示
建立SSM文件內容時,您可以在測試時變更內容並多次更新SSM文件。下列指令會以最新內容更新SSM文件,並將文件的預設版本更新為文件的最新版本。
注意
Linux 和 Windows 指令會使用指jq
令行工具來篩選JSON回應資料。
複製文SSM件
您可以使用 Systems Manager AWS Systems Manager 文件主控台複製文件來建立SSM文件。複製SSM文件會將現有文件中的內容複製到您可以修改的新文件。您無法複製大於 64 KB 的文件。
複製文SSM件
在開啟 AWS Systems Manager 主控台https://console.aws.amazon.com/systems-manager/
。 在導覽窗格中,選擇 Documents (文件)。
-
在搜尋方塊中,輸入您要複製的文件的名稱。
-
選擇您要翻製的文件名稱,然後選擇 Actions (動作) 下拉式選單中的 Clone document (複製文件)。
-
視需要修改文件,然後選擇 Create document (建立文件) 以儲存文件。
撰寫SSM文件內容之後,您可以使用下列其中一種方法來使用內容建立SSM文件。
建立SSM文件
建立複合文件
複合 AWS Systems Manager (SSM) 文件是透過執行一或多個次要文件來執行一系列動作的自訂SSM文件。複合文件可讓您針對常見工作 (例如開機綁定軟體或網域加入執行個體) 建立一組標準SSM文件,藉此將基礎架構當做程式碼提升。然後,您可以共享這些文檔, AWS 區域 以減少SSM文檔維護並確保一致性。 AWS 帳戶
例如,您可以建立複合的文件來執行下列動作:
-
安裝允許清單中的所有修補程式。
-
安裝防毒軟體
-
從下載腳本GitHub並運行它們。
在此範例中,您的自訂SSM文件包含下列外掛程式來執行這些動作:
-
用於執行
AWS-RunPatchBaseline
文件的aws:runDocument
外掛程式,可安裝所有允許列出的修補程式。 -
用於執行
AWS-InstallApplication
文件的aws:runDocument
外掛程式,可安裝防毒軟體。 -
從中下載腳本GitHub並運行它們的
aws:downloadContent
插件。
複合文件和次要文件可以存放在 Systems Manager GitHub (公有和私有儲存庫) 或 Amazon S3 中。複合文件和次要文件可以在JSON或中建立YAML。
注意
複合文件的執行深度最多只能為三個文件。這表示複合文件可以呼叫一個子文件,以及該子文件可以再呼叫一個文件。
若要建立複合文件,請在自訂SSM文aws:runDocument件中新增外掛程式,並指定所需的輸入。下列的範例是個建立複合的文件來執行下列動作:
-
執行aws:downloadContent外掛程式,將SSM文件從GitHub公用存放庫下載到稱為 bootstrap 的本機目錄。該SSM文檔被稱為 StateManagerBootstrap .yml(一個YAML文檔)。
-
執行
aws:runDocument
外掛程式以執行 StateManagerBootstrap .yml 文件。無需指定參數。 -
運行
aws:runDocument
插件來運行該AWS-ConfigureDocker pre-defined
SSM文檔。指定的參數在執行個體上安裝 Docker。
{ "schemaVersion": "2.2", "description": "My composite document for bootstrapping software and installing Docker.", "parameters": { }, "mainSteps": [ { "action": "aws:downloadContent", "name": "downloadContent", "inputs": { "sourceType": "GitHub", "sourceInfo": "{\"owner\":\"TestUser1\",\"repository\":\"TestPublic\", \"path\":\"documents/bootstrap/StateManagerBootstrap.yml\"}", "destinationPath": "bootstrap" } }, { "action": "aws:runDocument", "name": "runDocument", "inputs": { "documentType": "LocalPath", "documentPath": "bootstrap", "documentParameters": "{}" } }, { "action": "aws:runDocument", "name": "configureDocker", "inputs": { "documentType": "SSMDocument", "documentPath": "AWS-ConfigureDocker", "documentParameters": "{\"action\":\"Install\"}" } } ] }
- 詳細資訊
-
-
如需使用 Run Command 呼叫指令碼時重新開機伺服器和執行個體的資訊,請參閱 執行命令時處理重新啟動。
-
如需有關可新增至自訂SSM文件之外掛程式的詳細資訊,請參閱命令文件外掛程式參考。
-
如果您只想簡單從遠端位置 (無須建立複合文件) 執行文件的詳細資訊,請參閱 從遠端位置執行 文件。
-