建立 SSM 文件 - AWS Systems Manager

建立 SSM 文件

如果 AWS Systems Manager 公有文件不執行您想要對 AWS 資源執行的所有動作,您可以建立自己的 SSM 文件。您也可以使用主控台複製 SSM 文件。複製文件會將現有文件的內容複製到您可以修改的新文件中。當您建立新的 CommandPolicy 文件時,我們建議您使用結構描述 2.2 或更新版本,以便您可以利用最新的功能,例如文件編輯、自動版本控制、排序等。

撰寫 SSM 文件內容

若要建立您自己的 SSM 文件內容,請務必瞭解 SSM 文件提供的不同結構描述、功能、外掛程式和語法。我們建議您熟悉下列資源。

AWS 預先定義的 SSM 文件可能會執行您需要的某些動作。您可以根據文件類型,在自訂 SSM 文件中使用 aws:runDocumentaws:runCommandaws:executeAutomation 外掛程式來呼叫這些文件。您也可以將這些文件的部分複製到自訂 SSM 文件中,然後編輯內容以符合您的需求。

提示

建立 SSM 文件內容時,您可能會在測試時數次變更內容並更新 SSM 文件。下列命令會以您的最新內容更新 SSM 文件,並將文件的預設版本更新為文件的最新版本。

注意

Linux 和 Windows 命令使用 jq 命令列工具來篩選 JSON 回應資料。

Linux & macOS
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

複製 SSM 文件

您可以使用 Systems Manager 文件主控台複製 AWS Systems Manager 文件,以建立 SSM 文件。複製 SSM 文件會將現有文件的內容複製到您可以修改的新文件中。

若要複製 SSM 文件

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Documents (文件)

    -或-

    如果 AWS Systems Manager 首頁先開啟,選擇選單圖示 ( ) 以開啟導覽窗格,然後在導覽窗格中,選擇 Documents (文件)。

  3. 在搜尋方塊中,輸入您要複製的文件的名稱。

  4. 選擇您要翻製的文件名稱,然後選擇 Actions (動作) 下拉式選單中的 Clone document (複製文件)。

  5. 視需要修改文件,然後選擇 Create document (建立文件) 以儲存文件。

在 State Manager 關聯中使用 SSM 文件

如果您為 State Manager 建立一個 SSM 文件 (AWS Systems Manager 的一個功能),在將文件新增至系統之後,您必須將文件與受管執行個體建立關聯。如需詳細資訊,請參閱 建立關聯

在 State Manager 關聯中使用 SSM 文件時,請記住下列詳細資訊。

  • 透過使用不同的文件,建立不同的 State Manager 關聯,您可以指派多個文件到一個目標。

  • 如果您使用有衝突的外掛程式來建立文件 (例如,網域加入和網域移除),最終狀態會是外掛程式最後一次執行的結果。State Manager 不會驗證文件中的邏輯序列或指令的合理性或外掛程式。

  • 當處理文件時、執行個體的關聯會先被套用,接下來標籤族群的關聯才會被套用。如果執行個體屬於多個標籤群組,那些各標籤族群中的文件將不會照任何特定順序執行。如果執行個體透過自己的 ID 直接鎖定多的文件、那些文件不會照特定順序執行。

  • 如果您為 State Manager 變更 SSM 政策文件的預設版本,任何關聯在下一次使用該文件時將會使用新的預設版本,Systems Manager 會將此關聯套用到執行個體。

  • 如果您使用與您共用的 SSM 文件來建立關聯,然後擁有者停止與您共用文件,則您的關聯不再具備該文件的存取權。不過,如果擁有者稍後再次與您共用相同 SSM 的文件,您的關聯會自動進行重新對應。

撰寫 SSM 文件內容之後,您可以使用下列其中一種方法來建立 SSM 文件。