

• 2026 年 4 月 30 日之後將不再提供 AWS Systems Manager CloudWatch Dashboard。客戶可以繼續使用 Amazon CloudWatch 主控台來檢視、建立和管理其 Amazon CloudWatch 儀表板，就像現在一樣。如需詳細資訊，請參閱 [Amazon CloudWatch Dashboard 文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

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

# 在 Systems Manager 中使用關聯
<a name="state-manager-associations"></a>

本節介紹如何使用 AWS Systems Manager 主控台、AWS Command Line Interface (AWS CLI) 和 AWS Tools for PowerShell 建立和管理 State Manager 關聯。

**Topics**
+ [了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)
+ [建立關聯](state-manager-associations-creating.md)
+ [編輯和建立關聯的新版本](state-manager-associations-edit.md)
+ [刪除關聯](systems-manager-state-manager-delete-association.md)
+ [執行具有關聯的 Auto Scaling 群組](systems-manager-state-manager-asg.md)
+ [檢視關聯歷史記錄](state-manager-associations-history.md)
+ [透過 IAM 使用關聯](systems-manager-state-manager-iam.md)

# 了解 State Manager 關聯中的目標和速率控制
<a name="systems-manager-state-manager-targets-and-rate-controls"></a>

本主題說明的 State Manager 功能可協助您將關聯部署至數十個或數百個節點，同時控制在排程時間執行關聯的節點數目。State Manager 是 AWS Systems Manager中的工具。

## 使用目標
<a name="systems-manager-state-manager-targets-and-rate-controls-about-targets"></a>

建立 State Manager 關聯時，您可以在 Systems Manager 主控台的 **Targets** (目標) 區段中選擇要使用關聯設定哪些節點，如此處所示。

![\[建立 State Manager 關聯時將節點設為目標的不同選項\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/state-manager-targets.png)


如果您使用命令列工具 (例如 AWS Command Line Interface (AWS CLI)) 建立關聯，請指定 `targets` 參數。將節點設為目標允許您利用關聯來設定數十個、數百個或數千個執行個體，而不用指定或選擇個別節點 ID。

每個受管節點可以作為最多 20 個關聯的目標。

State Manager 在建立關聯時包含下列目標選項。

**指定標籤**  
使用此選項可指定指派給節點的標籤金鑰和 (選用) 標籤值。當您執行請求時，系統會在所有符合指定標籤索引鍵和數值的節點上找出並嘗試建立關聯。如果您指定了多個標籤值，則關聯會將擁有至少其中一個標籤值的任何節點設為目標。系統會在最初建立關聯時執行關聯。在此次初始執行之後，系統會根據您指定的排程執行關聯。

如果您建立新的節點，並將指定的標籤索引鍵和數值指派給該些節點，系統會自動套用關聯，立即執行關聯，然後根據排程執行關聯。這適用於關聯使用命令或政策文件時，如果關聯使用 Automation Runbook，則不適用。如果從節點中刪除指定的標籤，系統將不再在這些節點上執行關聯。

**注意**  
如果您使用 Automation Runbook 搭配 State Manager，而且標記限制阻止您達成特定目標，請考慮使用 Automation Runbook 搭配 Amazon EventBridge。如需詳細資訊，請參閱[根據 EventBridge 事件執行自動化](running-automations-event-bridge.md)。如需使用 Runbook 搭配 State Manager 的資訊，請參閱[使用 State Manager 關聯排程自動化](scheduling-automations-state-manager-associations.md)。

最佳實務是在建立使用命令或政策文件的關聯時使用標籤。我們也建議您在建立關聯以執行 Auto Scaling 群組時使用標籤。如需詳細資訊，請參閱[執行具有關聯的 Auto Scaling 群組](systems-manager-state-manager-asg.md)。

**注意**  
記下以下資訊。  
使用標籤在 中建立以節點為目標 AWS 管理主控台 的關聯時，您只能為自動化關聯指定一個標籤索引鍵，並為命令關聯指定五個標籤索引鍵。為關聯指定的*所有*標籤鍵目前必須指派給節點。否則，State Manager 無法將相應節點作為關聯的目標。
如果您想要使用 主控台，*而且*想要使用多個標籤索引鍵做為自動化關聯的目標節點，以及五個標籤索引鍵做為命令關聯的目標，請將標籤索引鍵指派給 AWS Resource Groups 群組，並將節點新增至其中。然後，您可以在建立 State Manager 關聯時，在**目標**清單中選擇**資源群組**選項。
您可以使用 AWS CLI指定最多五個標籤鍵。如果您使用 AWS CLI，`create-association`命令中指定的*所有*標籤索引鍵目前都必須指派給節點。否則，State Manager 無法將相應節點作為關聯的目標。

**手動選擇節點**  
使用此選項可手動選取您要在其中建立關聯的節點。**執行個體**窗格會顯示目前 AWS 帳戶 和 中的所有 Systems Manager 受管節點 AWS 區域。您可以根據需要手動選取任意數量的節點。系統會在最初建立關聯時執行關聯。在此次初始執行之後，系統會根據您指定的排程執行關聯。

**注意**  
如果您預期看到的受管節點未列出，請參閱 [疑難排解受管節點的可用性](fleet-manager-troubleshooting-managed-nodes.md) 以取得疑難排解秘訣。

**選擇資源群組**  
使用此選項可在 AWS Resource Groups 標籤型或 AWS CloudFormation 堆疊型查詢傳回的所有節點上建立關聯。

下面是有關將資源群組設為關聯的目標的詳細資訊。
+ 如果您將新節點新增至群組，系統會自動將節點對應至以資源群組為目標的關聯。系統會在發現變更時將關聯套用至節點。在此次初始執行之後，系統會根據您指定的排程執行關聯。
+ 如果您建立以資源群組為目標的關聯，且已指定相應群組的資源類型為 `AWS::SSM::ManagedInstance`，則依設計，該關聯會在[混合多雲端](operating-systems-and-machine-types.md#supported-machine-types)環境中的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體和非 EC2 節點上執行。

  反之亦然。如果您建立以資源群組為目標的關聯，且已指定相應群組的資源類型為 `AWS::EC2::Instance`，則依設計，該關聯會在[混合多雲端](operating-systems-and-machine-types.md#supported-machine-types)環境中的非 EC2 節點和 (Amazon EC2) 執行個體上執行。
+ 如果您建立一個以資源群組為目標的關聯，則指派至該資源群組的標籤索引鍵不得超過五個，或指定至任一標籤索引鍵的值不得超過五個。如果這些條件中的任一條件適用於指派至給您資源群組的標籤和索引鍵，則關聯將無法執行，並傳回 `InvalidTarget` 錯誤。
+ 如果您使用標籤建立以資源群組為目標的關聯，則不能選擇標籤值的 **(空白值)** 選項。
+ 如果刪除資源群組，該群組中的所有執行個體都不會再執行關聯。做為最佳實務，應刪除以群組為目標的關聯。
+ 您最多可將單一資源群組設為關聯的目標。不支援多個或巢狀群組。
+ 建立關聯之後，State Manager 會定期以資源群組中資源的相關資訊來更新關聯。如果您在資源群組加入新資源，則系統何時將關聯套用至新資源的排程將取決於數個因素。您可以在 Systems Manager 主控台的 State Manager 頁面中判斷關聯的狀態。

**警告**  
具有建立以 Amazon EC2 執行個體資源群組為目標之關聯許可的 AWS Identity and Access Management (IAM) 使用者、群組或角色，會自動擁有群組中所有執行個體的根層級控制。只有受信任的管理員才能建立關聯。

如需 Resource Groups 的詳細資訊，請參閱 *AWS Resource Groups 使用者指南*中的[什麼是 AWS Resource Groups？](https://docs.aws.amazon.com/ARG/latest/userguide/)。

**選擇所有節點**  
使用此選項以目前 AWS 帳戶 和 中的所有節點為目標 AWS 區域。當您執行請求時，系統會尋找並嘗試在目前 AWS 帳戶 和 中的所有節點上建立關聯 AWS 區域。系統會在最初建立關聯時執行關聯。在此次初始執行之後，系統會根據您指定的排程執行關聯。如果您建立新節點，系統會自動套用關聯，立即執行關聯，然後根據排程執行關聯。

## 使用速率控制
<a name="systems-manager-state-manager-targets-and-rate-controls-about-controls"></a>

您可以透過指定並行值和錯誤閾值來控制節點關聯的執行。並行值會指定多少節點可同時執行關聯。錯誤閥值會指定在 Systems Manager 傳送命令至每個已設定該關聯的節點停止執行關聯前，允許多少次關聯執行失敗。此命令會讓關聯在下一次排定的執行前都停止執行。並行和錯誤閾值功能統稱為「速率控制」**。

![\[建立 State Manager 關聯時不同的速率控制選項\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/state-manager-rate-controls.png)


**並行**  
並行可讓您指定一次只讓特定數量的節點處理關聯，有助於減少對節點造成的影響。您可以指定絕對數量的節點 (例如 20) 或目標節點集的百分比 (例如 10%)。

State Manager並行具有以下約束與限制：
+ 如果您選擇使用目標來建立關聯，但不指定並行值，則State Manager會自動強制執行 50 個節點的並行上限。
+ 正在執行使用並行的關聯時，如有符合目標條件的新節點上線，則若未超過並行值，新的節點會執行關聯。若超過並行值，則節點會在目前的關聯執行間隔期間遭略過。這些節點會在下一次排定的間隔期間執行關聯，同時遵循並行要求。
+ 如果您更新使用並行的關聯，且在更新時有一個或多個節點正在處理該關聯，則允許完成正在執行關聯的所有節點。尚未開始的關聯則會停止。執行中的關聯完成後，所有目標節點會立即再次執行關聯，因為它已更新。當關聯再次執行時，會強制執行並行值。

**錯誤閾值**  
錯誤閥值會指定在 Systems Manager 傳送命令至每個已設定該關聯的節點前，允許多少次關聯執行失敗。此命令會讓關聯在下一次排定的執行前都停止執行。您可以指定絕對數量的錯誤 (例如 10 個) 或目標集的百分比 (例如 10%)。

例如，假設您指定三個錯誤的絕對數量，State Manager會在傳回第四個錯誤時傳送停止命令。如果您指定 0，則State Manager會在第一個錯誤結果傳回後傳送停止命令。

如果您針對 50 個關聯指定錯誤閾值為 10%，則State Manager會在傳回第六個錯誤時傳送停止命令。達到錯誤閾值時已經在執行的關聯允許完成，但其中某些關聯也可能會失敗。為了確保錯誤不會超過針對錯誤閾值指定的數量，請將 **Concurrency (並行)** 值設為 1，讓關聯一次處理一個。

State Manager錯誤閾值具有以下約束與限制：
+ 錯誤閾值針對目前的間隔強制執行。
+ 每個錯誤的相關資訊 (包括步驟層級詳細資訊) 會記錄在關聯歷程記錄中。
+ 如果您選擇使用目標來建立關聯，但不指定錯誤閾值，則State Manager會自動強制執行 100% 的失敗閾值。

# 建立關聯
<a name="state-manager-associations-creating"></a>

State Manager是 中的工具 AWS Systems Manager，可協助您將 AWS 資源保持在您定義和減少組態偏離的狀態。若要執行此操作，State Manager 會使用關聯。*關聯*是您指派給 AWS 資源的組態。該組態會定義您想在資源上維持的狀態。例如，關聯可以指定必須在受管節點上安裝和執行防毒軟體，或者必須關閉特定連接埠。

關聯會指定套用組態並以關聯為目標的排程。例如，防毒軟體的關聯可能在 AWS 帳戶的所有受管節點上一天執行一次。如果節點上未安裝軟體，則關聯會指示 State Manager 來安裝。如果已安裝軟體，但並未執行服務，則關聯可能會指示 State Manager 來啟動服務。

**警告**  
建立關聯時，您可以選擇受管節點 AWS 的資源群組做為關聯的目標。如果 AWS Identity and Access Management (IAM) 使用者、群組或角色具有建立以受管節點資源群組為目標之關聯的許可，則該使用者、群組或角色會自動擁有群組中所有節點的根層級控制。只有受信任的管理員才能建立關聯。

**關聯目標和速率控制**  
關聯會指定哪些受管節點 (或目標) 應接收關聯。State Manager 包含多項功能，可協助您將受管節點設為目標，並控制如何將關聯部署至這些目標。如需目標和速率控制的詳細資訊，請參閱[了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。

**標記關聯**  
您可以使用 AWS CLI 或 等命令列工具，在建立關聯時將標籤指派給關聯 AWS Tools for PowerShell。不支援使用 Systems Manager 主控台將標籤新增至關聯。

**執行關聯**  
依預設，在您建立關聯後，State Manager 會立即執行關聯，之後再根據您定義的排程執行。

系統也會根據下列規則執行關聯：
+ State Manager 嘗試於間隔期間在所有已指定或設為目標的節點上執行關聯。
+ 如果未在間隔期間執行關聯 (例如，因為並行值限制了一次所能處理關聯的節點數目)，則 State Manager 會嘗試在下一個間隔期間執行關聯。
+ 關聯組態、目標節點、文件或參數發生變更後，State Manager 會執行關聯。如需詳細資訊，請參閱[了解何時將關聯套用至資源](state-manager-about.md#state-manager-about-scheduling)
+ State Manager會記錄所有略過的間隔的歷程記錄。您可以在 **Execution History (執行歷程記錄)** 標記檢視歷程記錄。

## 排程關聯
<a name="state-manager-about-creating-associations"></a>

您可以排程關聯，以基本間隔 (例如*每 10 小時*) 執行，也可以使用自訂 Cron 和 Rate 運算式建立更進階的排程。您也可以在第一次建立關聯時阻止執行關聯。

**使用 Cron 和 Rate 運算式來排程關聯執行**  
State Manager 不僅支援標準的 Cron 和 Rate 運算式，還支援這類 Cron 運算式：包含一週中的某一天和數字符號 (\$1)，來指定一個月的第 *n* 天執行關聯。以下是在每月第三個週二 23:30 UTC 執行 cron 排程的範例：

`cron(30 23 ? * TUE#3 *)`

以下是在每月第二個週四午夜 UTC 執行的範例：

`cron(0 0 ? * THU#2 *)`

State Manager 還支援 (L) 符號來指示一個月的最後 *X* 天。以下是在每月最後一個週二午夜 UTC 執行 cron 排程的範例：

`cron(0 0 ? * 3L *)`

若要進一步控制關聯的執行時間，例如，如果您希望在週二修補程式日後的兩天執行關聯，則可以指定偏移量。同時*偏移*定義在排程的日期之後等待多少天才能執行關聯。例如，如果您指定了 `cron(0 0 ? * THU#2 *)` 的 cron 排程，則可以在**排程偏移**欄位指定數字 3，以在該月第二個週四之後的每個週日執行關聯。

**注意**  
若要使用偏移，必須在主控台選取**僅在下一個指定的 Cron 間隔時間套用關聯**，或者在命令列中指定 `ApplyOnlyAtCronInterval` 參數。啟用其中任一選項後，State Manager 不會在建立關聯後立即執行。

如需 Cron 和 Rate 運算式的詳細資訊，請參閱[參考：Systems Manager 的 Cron 和 Rate 運算式](reference-cron-and-rate-expressions.md)。

## 建立關聯 (主控台)
<a name="state-manager-associations-console"></a>

下列程序說明如何使用 Systems Manager 主控台來建立 State Manager 關聯。

**注意**  
記下以下資訊。  
此程序說明如何建立使用 `Command` 或 `Policy` 文件將受管節點設為目標的關聯。如需建立使用 Automation Runbook 將節點或其他類型的 AWS 資源設為目標的關聯，請參閱 [使用 State Manager 關聯排程自動化](scheduling-automations-state-manager-associations.md)。
建立關聯時，您可以使用 AWS 管理主控台指定最多五個標籤鍵。為關聯指定的*所有*標籤鍵目前必須指派給節點。否則，State Manager 無法將相應節點作為關聯的目標。

**建立 State Manager 關聯**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **State Manager**。

1. 選擇 **Create association (建立關聯)**。

1. 在 **Name (名稱)** 欄位中指定名稱。

1. 在 **Document (文件)** 清單中，選擇文件名稱旁的選項。請注意文件類型。此程序適用於 `Command` 和 `Policy` 文件。如需建立使用 Automation Runbook 的關聯的相關資訊，請參閱 [使用 State Manager 關聯排程自動化](scheduling-automations-state-manager-associations.md)。
**重要**  
如果該文件是從另一個帳戶共用的，則 State Manager 不支援執行使用新版文件的關聯。如果是從另一個帳戶共用的，則 State Manager 一律執行文件的 `default` 版本，即使 Systems Manager 主控台顯示新版本已處理。如果您想要使用從另一個帳戶共用而來的新版本文件來執行關聯，則必須將文件版本設定為 `default`。

1. 對於 **Parameters (參數)**，指定所需的輸入參數。

1. （選用） 對於**關聯分派擔任角色**，從下拉式清單中選取角色。狀態管理員將代表您使用此角色採取動作。如需設定自訂角色的詳細資訊，請參閱 [的 設定角色 `AssociationDispatchAssumeRole`](state-manager-about.md#setup-assume-role) 
**注意**  
建議您定義自訂 IAM 角色，以便完全控制 State Manager 代表您執行動作時所擁有的許可。  
State Manager 中的服務連結角色支援正在逐步淘汰。依賴服務連結角色的關聯未來可能需要更新，才能繼續正常運作。  
如需管理自訂提供之角色使用的資訊，請參閱 [使用 管理 AssociationDispatchAssumeRole 的使用情況 `ssm:AssociationDispatchAssumeRole`](state-manager-about.md#context-key-assume-role)。

1. (選用) 選擇要套用至您的監控關聯的 CloudWatch 警示。
**注意**  
記下有關此步驟的以下資訊。  
警示清單最多顯示 100 個警示。如果您在清單中沒有看到您的警示，請使用 AWS Command Line Interface 建立關聯。如需詳細資訊，請參閱[建立關聯 (命令列)](#create-state-manager-association-commandline)。
若要將 CloudWatch 警示附加至您的命令，建立關聯的 IAM 主體必須具備 `iam:createServiceLinkedRole` 動作的許可。如需有關 CloudWatch 警示的詳細資訊，請參閱[使用 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。
如果您的警示啟用，則不會執行任何待處理命令叫用或自動化。

1. 對於 **Targets (目標)**，請選擇選項。如需使用目標的詳細資訊，請參閱[了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。
**注意**  
為了在偵測到新目標節點時套用透過 Automation 執行手冊建立的關聯，必須滿足特定條件。如需相關資訊，請參閱[關於透過 Automation 執行手冊的目標更新](state-manager-about.md#runbook-target-updates)。

1. 在 **Specify schedule (指定排程)** 區段中，選擇 **On Schedule (按照排程)** 或 **No schedule (無排程)**。如果您選擇 **On Schedule (按照排程)**，請使用提供的按鈕來為關聯建立 Cron 或 Rate 排程。

   如果您不希望在建立關聯之後立即執行關聯，請選擇 **Apply association only at the next specified Cron interval (僅在下一個指定的 Cron 間隔套用關聯)**。

1. (選用) 在 **Schedule offset** (排程偏移) 欄位中，指定介於 1 和 6 之間的數字。

1. 在 **Advanced options** (進階選項) 區段中，使用 **Compliance severity ** (合規嚴重) 選擇關聯的嚴重性等級，並使用 **Change Calendars** (變更行事曆) 選擇關聯的變更行事曆。

   合規報告會指出關聯狀態合規與否，以及您在這裡指示的嚴重性等級。如需詳細資訊，請參閱[關於State Manager關聯合規](compliance-about.md#compliance-about-association)。

   變更行事曆會決定何時執行關聯。如果行事曆已關閉，則不會套用關聯。如果行事曆處於開啟狀態，則會相應地執行關聯。如需詳細資訊，請參閱[AWS Systems Manager Change Calendar](systems-manager-change-calendar.md)。

1. 在 **Rate control** (速率控制) 區段中，選擇選項來控制關聯在多個節點上的執行方式。如需使用速率控制的詳細資訊，請參閱[了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。

   在 **Concurrency (並行)** 部分，選擇一個選項：
   + 選擇 **targets (目標)**，輸入可以同時執行關聯的目標絕對數量。
   + 選擇 **percentage (百分比)**，輸入可以同時執行關聯的目標集百分比。

   在 **Error threshold (錯誤閾值)** 部分，選擇一個選項：
   + 選擇 **errors (錯誤)**，輸入 State Manager 停止在額外目標執行關聯之前允許的錯誤絕對數量。
   + 選擇 **percentage (百分比)**，輸入 State Manager 停止在額外目標執行關聯之前允許的錯誤百分比。

1. (選用) 針對**輸出選項**，若要將命令輸出儲存至檔案，請選取**啟用將輸出寫入 S3** 方塊。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。
**注意**  
授予能力以將資料寫入至 S3 儲存貯體的 S3 許可，會是指派給受管節點之執行個體設定檔的許可，而不是執行此任務之 IAM 使用者的許可。如需詳細資訊，請參閱[設定 Systems Manager 所需的執行個體許可](setup-instance-permissions.md)或[建立混合環境的 IAM 服務角色](hybrid-multicloud-service-role.md)。此外，若指定的 S3 儲存貯體位於不同的 AWS 帳戶內，請驗證與受管節點相關聯的執行個體設定檔或 IAM 服務角色是否具有寫入該儲存貯體的必要許可。

   以下是開啟關聯的 Amazon Simple Storage Service (Amazon S3) 輸出所需的最低許可。您可以透過將 IAM 政策連接到帳戶內使用者或角色，以進一步限制存取。Amazon EC2 執行個體設定檔至少應擁有具備 `AmazonSSMManagedInstanceCore` 受管政策和下列內嵌政策的 IAM 角色。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject",
                   "s3:GetObject",
                   "s3:PutObjectAcl"
               ],
               "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
           }
       ]
   }
   ```

------

   如需最低許可，接收匯出的 Amazon Simple Storage Service (Amazon S3) 儲存貯體必須具備 Amazon Simple Storage Service (Amazon S3) 主控台定義的預設設定。如需有關建立 Amazon Simple Storage Service (Amazon S3) 儲存貯體的詳細資訊，請參閱 *Amazon Simple Storage Service (Amazon S3) 使用者指南*中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。
**注意**  
在關聯執行期間由 SSM 文件啟動的 API 操作不會記錄在 AWS CloudTrail中。

1. 選擇 **Create Association (建立關聯)**。

**注意**  
如果刪除您建立的關聯，關聯將不再在該關聯的任何目標上執行。

## 建立關聯 (命令列)
<a name="create-state-manager-association-commandline"></a>

下列程序說明如何使用 AWS CLI （在 Linux 或 上Windows Server) 或 Tools for PowerShell 來建立State Manager關聯。本節包含數個示範如何使用目標和速率控制的範例。目標和速率控制允許您將關聯指派給數十個或數百個節點，同時控制這些關聯的執行。如需目標和速率控制的詳細資訊，請參閱[了解 State Manager 關聯中的目標和速率控制](systems-manager-state-manager-targets-and-rate-controls.md)。

**重要**  
此程序說明如何建立使用 `Command` 或 `Policy` 文件將受管節點設為目標的關聯。如需建立使用 Automation Runbook 以鎖定節點或其他 AWS 資源類型之關聯的相關資訊，請參閱 [使用 State Manager 關聯排程自動化](scheduling-automations-state-manager-associations.md)。

**開始之前**  
`targets` 參數是一系列的搜尋條件，使用您指定的 `Key`、`Value` 組合將節點設為目標。如果您打算使用 `targets` 參數在數十個或數百個節點上建立關聯，請在程序開始之前檢閱下列目標選項。

透過指定 ID 將特定節點設為目標

```
--targets Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
```

```
--targets Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE
```

使用 標籤將執行個體設為目標

```
--targets Key=tag:tag-key,Values=tag-value-1,tag-value-2,tag-value-3
```

```
--targets Key=tag:Environment,Values=Development,Test,Pre-production
```

使用 將節點設為目標 AWS Resource Groups

```
--targets Key=resource-groups:Name,Values=resource-group-name
```

```
--targets Key=resource-groups:Name,Values=WindowsInstancesGroup
```

將目前 AWS 帳戶 和 中的所有執行個體設為目標 AWS 區域

```
--targets Key=InstanceIds,Values=*
```

**注意**  
記下以下資訊。  
如果該文件是從另一個帳戶共用的，則 State Manager 不支援執行使用新版文件的關聯。如果是從另一個帳戶共用的，則 State Manager 一律執行文件的 `default` 版本，即使 Systems Manager 主控台顯示新版本已處理。如果您想要使用從另一個帳戶共用而來的新版本文件來執行關聯，則必須將文件版本設定為 `default`。
State Manager 不支援 [TargetLocation](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_TargetLocation.html) 的 `IncludeChildOrganizationUnits`、`ExcludeAccounts`、`TargetsMaxErrors``TargetsMaxConcurrency`、、`Targets`、 `TargetLocationAlarmConfiguration` 參數。
您可以使用 AWS CLI指定最多五個標籤鍵。如果您使用 AWS CLI，`create-association`命令中指定的*所有*標籤索引鍵目前都必須指派給節點。否則，State Manager 無法將相應節點作為關聯的目標。
在建立關聯時，指定排程的執行時間。使用 Cron 或 Rate 運算式來指定排程。如需 Cron 和 Rate 運算式的詳細資訊，請參閱[關聯的 Cron 與 Rate 運算式](reference-cron-and-rate-expressions.md#reference-cron-and-rate-expressions-association)。
為了在偵測到新目標節點時套用透過 Automation 執行手冊建立的關聯，必須滿足特定條件。如需相關資訊，請參閱[關於透過 Automation 執行手冊的目標更新](state-manager-about.md#runbook-target-updates)。

**建立關聯**

1.  AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。

   如需相關資訊，請參閱[安裝或更新 AWS CLI的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 使用以下格式來建立會建立 State Manager 關聯的命令。將每個*範例資源預留位置*取代為您自己的資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
       --name document_name \
       --document-version version_of_document_applied \
       --instance-id instances_to_apply_association_on \
       --parameters (if any) \
       --targets target_options \
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations \
       --schedule-expression "cron_or_rate_expression" \
       --apply-only-at-cron-interval required_parameter_for_schedule_offsets \
       --schedule-offset number_between_1_and_6 \
       --output-location s3_bucket_to_store_output_details \
       --association-name association_name \
       --max-errors a_number_of_errors_or_a_percentage_of_target_set \
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set \
       --compliance-severity severity_level \
       --calendar-names change_calendar_names \
       --target-locations aws_region_or_account \
       --tags "Key=tag_key,Value=tag_value"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
       --name document_name ^
       --document-version version_of_document_applied ^
       --instance-id instances_to_apply_association_on ^
       --parameters (if any) ^
       --targets target_options ^
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations ^
       --schedule-expression "cron_or_rate_expression" ^
       --apply-only-at-cron-interval required_parameter_for_schedule_offsets ^
       --schedule-offset number_between_1_and_6 ^
       --output-location s3_bucket_to_store_output_details ^
       --association-name association_name ^
       --max-errors a_number_of_errors_or_a_percentage_of_target_set ^
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set ^
       --compliance-severity severity_level ^
       --calendar-names change_calendar_names ^
       --target-locations aws_region_or_account ^
       --tags "Key=tag_key,Value=tag_value"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
       -Name document_name `
       -DocumentVersion version_of_document_applied `
       -InstanceId instances_to_apply_association_on `
       -Parameters (if any) `
       -Target target_options `
       -AssociationDispatchAssumeRole arn_of_role_to_be_used_when_dispatching_configurations `
       -ScheduleExpression "cron_or_rate_expression" `
       -ApplyOnlyAtCronInterval required_parameter_for_schedule_offsets `
       -ScheduleOffSet number_between_1_and_6 `
       -OutputLocation s3_bucket_to_store_output_details `
       -AssociationName association_name `
       -MaxError  a_number_of_errors_or_a_percentage_of_target_set
       -MaxConcurrency a_number_of_instances_or_a_percentage_of_target_set `
       -ComplianceSeverity severity_level `
       -CalendarNames change_calendar_names `
       -TargetLocations aws_region_or_account `
       -Tags "Key=tag_key,Value=tag_value"
   ```

------

   以下範例會在加上 `"Environment,Linux"` 標籤的節點上建立關聯。關聯會使用 `AWS-UpdateSSMAgent` 文件在每週日的上午 2:00 UTC 更新目標節點上的 SSM Agent。此關聯在任何指定的時間可在最多 10 個節點上同時執行。此外，如果錯誤計數超過 5 個，此關聯會停止在更多節點上特定執行間隔的執行。針對合規報告，指派給此關聯的嚴重性等級為中等。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --targets Key=tag:Environment,Values=Linux \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN *)" \
     --max-errors "5" \
     --max-concurrency "10"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --targets Key=tag:Environment,Values=Linux ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN *)" ^
     --max-errors "5" ^
     --max-concurrency "10"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_Linux `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="tag:Environment"
         "Values"="Linux"
       } `
     -ComplianceSeverity MEDIUM `
     -ScheduleExpression "cron(0 2 ? * SUN *)" `
     -MaxConcurrency 10 `
     -MaxError 5
   ```

------

   以下範例會透過指定萬用字元值 (\$1) 來設定目標節點 ID。這可讓 Systems Manager 在目前 AWS 帳戶 和 *中的所有*節點上建立關聯 AWS 區域。此關聯在任何指定的時間可在最多 10 個節點上同時執行。此外，如果錯誤計數超過 5 個，此關聯會停止在更多節點上特定執行間隔的執行。針對合規報告，指派給此關聯的嚴重性等級為中等。此關聯使用排程偏移，這意味著它在指定的 Cron 排程後會執行兩天。此外還包括 `ApplyOnlyAtCronInterval` 參數，這是使用排程偏移所必需的，意味著在建立後關聯不會立即執行。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --name "AWS-UpdateSSMAgent" \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --targets "Key=instanceids,Values=*" \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN#2 *)" \
     --apply-only-at-cron-interval \
     --schedule-offset 2 \
     --max-errors "5" \
     --max-concurrency "10" \
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --name "AWS-UpdateSSMAgent" ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --targets "Key=instanceids,Values=*" ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN#2 *)" ^
     --apply-only-at-cron-interval ^
     --schedule-offset 2 ^
     --max-errors "5" ^
     --max-concurrency "10" ^
     --apply-only-at-cron-interval
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_All `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="InstanceIds"
         "Values"="*"
       } `
     -ScheduleExpression "cron(0 2 ? * SUN#2 *)" `
     -ApplyOnlyAtCronInterval `
     -ScheduleOffset 2 `
     -MaxConcurrency 10 `
     -MaxError 5 `
     -ComplianceSeverity MEDIUM `
     -ApplyOnlyAtCronInterval
   ```

------

   以下範例會在 Resource Groups 中的節點上建立關聯。該群組名為「HR-Department」。該關聯使用 `AWS-UpdateSSMAgent` 文件，在每週日上午 2:00 UTC 更新目標執行個體上的 SSM Agent。此關聯在任何指定的時間可在最多 10 個節點上同時執行。此外，如果錯誤計數超過 5 個，此關聯會停止在更多節點上特定執行間隔的執行。針對合規報告，指派給此關聯的嚴重性等級為中等。此關聯會在指定的 Cron 排程執行。它不會在建立關聯之後立即執行。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name Update_SSM_Agent_Linux \
     --targets Key=resource-groups:Name,Values=HR-Department \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --compliance-severity "MEDIUM" \
     --schedule-expression "cron(0 2 ? * SUN *)" \
     --max-errors "5" \
     --max-concurrency "10" \
     --apply-only-at-cron-interval
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name Update_SSM_Agent_Linux ^
     --targets Key=resource-groups:Name,Values=HR-Department ^
     --name AWS-UpdateSSMAgent  ^
     -association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --compliance-severity "MEDIUM" ^
     --schedule-expression "cron(0 2 ? * SUN *)" ^
     --max-errors "5" ^
     --max-concurrency "10" ^
     --apply-only-at-cron-interval
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName Update_SSM_Agent_Linux `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="resource-groups:Name"
         "Values"="HR-Department"
       } `
     -ScheduleExpression "cron(0 2 ? * SUN *)" `
     -MaxConcurrency 10 `
     -MaxError 5 `
     -ComplianceSeverity MEDIUM `
     -ApplyOnlyAtCronInterval
   ```

------

   以下範例會建立一個關聯，它在標記有特定節點 ID 的節點上執行。關聯會使用 SSM Agent 文件，當變更行事曆開啟時在目標節點上更新一次 SSM Agent。關聯會在執行時檢查行事曆狀態。如果行事曆在啟動時關閉且關聯只執行一次，則它不會再執行一次，因為關聯執行時段已結束。如果行事曆處於開啟狀態，則會相應地執行關聯。
**注意**  
如果您在變更行事曆關閉時，將新節點新增至關聯作用的標籤或資源群組，則在變更行事曆開啟後，關聯就會套用至這些節點。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name CalendarAssociation \
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" \
     --schedule-expression "rate(1day)"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name CalendarAssociation ^
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" ^
     --schedule-expression "rate(1day)"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName CalendarAssociation `
     -Target @{
         "Key"="tag:instanceids"
         "Values"="i-0cb2b964d3e14fd9f"
       } `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" `
     -ScheduleExpression "rate(1day)"
   ```

------

   以下範例會建立一個關聯，它在標記有特定節點 ID 的節點上執行。關聯會使用 SSM Agent 文件，在每週日的上午 2:00 更新目標節點上的 SSM Agent。當變更行事曆開啟時，此關聯只會在指定的 Cron 排程執行。建立關聯時，它會檢查行事曆狀態。如果行事曆已關閉，則不會套用關聯。當套用關聯的間隔在星期日凌晨 2:00 開始時，關聯會檢查行事曆是否已開啟。如果行事曆處於開啟狀態，則會相應地執行關聯。
**注意**  
如果您在變更行事曆關閉時，將新節點新增至關聯作用的標籤或資源群組，則在變更行事曆開啟後，關聯就會套用至這些節點。

------
#### [ Linux & macOS ]

   ```
   aws ssm create-association \
     --association-name MultiCalendarAssociation \
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \
     --name AWS-UpdateSSMAgent  \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" \
     --schedule-expression "cron(0 2 ? * SUN *)"
   ```

------
#### [ Windows ]

   ```
   aws ssm create-association ^
     --association-name MultiCalendarAssociation ^
     --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" ^
     --name AWS-UpdateSSMAgent  ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" ^
     --schedule-expression "cron(0 2 ? * SUN *)"
   ```

------
#### [ PowerShell ]

   ```
   New-SSMAssociation `
     -AssociationName MultiCalendarAssociation `
     -Name AWS-UpdateSSMAgent `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -Target @{
         "Key"="tag:instanceids"
         "Values"="i-0cb2b964d3e14fd9f"
       } `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2" `
     -ScheduleExpression "cron(0 2 ? * SUN *)"
   ```

------

**注意**  
如果刪除您建立的關聯，關聯將不再在該關聯的任何目標上執行。此外，如果您已指定 `apply-only-at-cron-interval` 參數，則可以重設此選項。若要執行這項操作，請在透過命令列更新關聯時指定 `no-apply-only-at-cron-interval` 參數。此參數會在更新關聯後立即強制執行關聯，以及根據指定的間隔強制執行關聯。

# 編輯和建立關聯的新版本
<a name="state-manager-associations-edit"></a>

您可以編輯 State Manager 關聯來指定新名稱、排程、嚴重性等級、目標或其他值。對於以 SSM Command 類型文件為基礎的關聯，您也可以選擇將命令的輸出寫入 Amazon Simple Storage Service (Amazon S3) 儲存貯體。在您編輯關聯後，State Manager 會建立新的版本。您可以依照下列程序，在編輯後檢視不同版本。

**注意**  
為了在偵測到新目標節點時套用透過 Automation 執行手冊建立的關聯，必須滿足特定條件。如需相關資訊，請參閱[關於透過 Automation 執行手冊的目標更新](state-manager-about.md#runbook-target-updates)。

下列程序說明如何使用 Systems Manager 主控台 AWS Command Line Interface (AWS CLI) 和 AWS Tools for PowerShell (Tools for PowerShell) 編輯和建立新的 關聯版本。

**重要**  
如果該文件是從另一個帳戶共用的，則 State Manager 不支援執行使用新版文件的關聯。若是從另一個帳戶共用的，則 State Manager 一律會執行文件的 `default` 版本，即使 Systems Manager 主控台顯示已處理新版本。如果您想要使用從另一個帳戶共用而來的新版本文件來執行關聯，則必須將文件版本設定為 `default`。

## 建立關聯 (主控台)
<a name="state-manager-associations-edit-console"></a>

以下程序說明如何使用 Systems Manager 主控台來編輯和建立關聯的新版本。

**注意**  
對於使用 SSM Command 文件 (而非 Automation 執行手冊) 的關聯，此程序要求您擁有現有 Amazon S3 儲存貯體的寫入存取權。請注意，如果您未曾使用過 Amazon Simple Storage Service (Amazon S3)，您將需要支付使用 Amazon Simple Storage Service (Amazon S3) 的費用。如需建立儲存貯體的詳細資訊，請參閱[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html)。

**編輯 State Manager 關聯**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **State Manager**。

1. 選擇現有關聯，然後選擇**編輯**。

1. 重新設定關聯來符合目前的需求。

   如需使用 `Command` 和 `Policy` 文件關聯選項的相關資訊，請參閱[建立關聯](state-manager-associations-creating.md)。如需使用 Automation 執行手冊關聯選項的相關資訊，請參閱[使用 State Manager 關聯排程自動化](scheduling-automations-state-manager-associations.md)。

1. 選擇 **Save Changes** (儲存變更)。

1. (選用) 若要在**關聯**頁面中檢視關聯資訊，請選擇編輯過的關聯的名稱，然後選擇**版本**索引標籤。系統會列出您所建立和編輯的關聯的每個版本。

1. (選用) 若要檢視以 SSM `Command` 文件為基礎的關聯的輸出，請執行下列動作：

   1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

   1. 選擇您指定來存放命令輸出的 Amazon Simple Storage Service (Amazon S3) 儲存貯體名稱，然後選擇以執行該關聯的節點 ID 命名的資料夾。(如果您選擇將輸出存放在儲存貯體中的資料夾，請先打開它。)

   1. 向下切入多個層級，從 `awsrunPowerShell` 資料夾到 `stdout` 檔案。

   1. 選擇 **Open (開啟)** 或 **Download (下載)** 以檢視主機名稱。

## 建立關聯 (命令列)
<a name="state-manager-associations-edit-commandline"></a>

下列程序說明如何使用 AWS CLI （在 Linux 或 上Windows Server) 或 AWS Tools for PowerShell 編輯和建立新的 關聯版本。

**編輯 State Manager 關聯**

1.  AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。

   如需相關資訊，請參閱[安裝或更新 AWS CLI的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 使用以下格式來建立命令，以編輯和建立現有 State Manager 關聯的新版本。將每個*範例資源預留位置*取代為您自己的資訊。
**重要**  
當您呼叫 `[https://docs.aws.amazon.com/cli/latest/reference/ssm/desupdatecribe-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/desupdatecribe-association.html)` 時，系統會從請求中卸除所有選用參數，並覆寫與這些參數之空值的關聯。這是設計本身所致。您必須在呼叫中指定所有選用參數，即使您未變更參數。這包括 `--name` 參數。呼叫此動作之前，建議您呼叫 `[https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-association.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-association.html)` 操作，並記下 `update-association` 呼叫所需的所有選用參數。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
       --name document_name \
       --document-version version_of_document_applied \
       --instance-id instances_to_apply_association_on \
       --parameters (if any) \
       --targets target_options \
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations \
       --schedule-expression "cron_or_rate_expression" \
       --schedule-offset "number_between_1_and_6" \
       --output-location s3_bucket_to_store_output_details \
       --association-name association_name \
       --max-errors a_number_of_errors_or_a_percentage_of_target_set \
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set \
       --compliance-severity severity_level \
       --calendar-names change_calendar_names \
       --target-locations aws_region_or_account
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
       --name document_name ^
       --document-version version_of_document_applied ^
       --instance-id instances_to_apply_association_on ^
       --parameters (if any) ^
       --targets target_options ^
       --association-dispatch-assume-role arn_of_role_to_be_used_when_dispatching_configurations ^
       --schedule-expression "cron_or_rate_expression" ^
       --schedule-offset "number_between_1_and_6" ^
       --output-location s3_bucket_to_store_output_details ^
       --association-name association_name ^
       --max-errors a_number_of_errors_or_a_percentage_of_target_set ^
       --max-concurrency a_number_of_instances_or_a_percentage_of_target_set ^
       --compliance-severity severity_level ^
       --calendar-names change_calendar_names ^
       --target-locations aws_region_or_account
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
       -Name document_name `
       -DocumentVersion version_of_document_applied `
       -InstanceId instances_to_apply_association_on `
       -Parameters (if any) `
       -Target target_options `
       -AssociationDispatchAssumeRole arn_of_role_to_be_used_when_dispatching_configurations `
       -ScheduleExpression "cron_or_rate_expression" `
       -ScheduleOffset "number_between_1_and_6" `
       -OutputLocation s3_bucket_to_store_output_details `
       -AssociationName association_name `
       -MaxError  a_number_of_errors_or_a_percentage_of_target_set
       -MaxConcurrency a_number_of_instances_or_a_percentage_of_target_set `
       -ComplianceSeverity severity_level `
       -CalendarNames change_calendar_names `
       -TargetLocations aws_region_or_account
   ```

------

   以下範例會更新現有關聯，將名稱變更為 `TestHostnameAssociation2`。新的關聯版本會每個小時執行，並將命令的輸出寫入指定 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name TestHostnameAssociation2 \
     --parameters commands="echo Association" \
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --schedule-expression "cron(0 */1 * * ? *)"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name TestHostnameAssociation2 ^
     --parameters commands="echo Association" ^
     --association-dispatch-assume-role arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --schedule-expression "cron(0 */1 * * ? *)"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName TestHostnameAssociation2 `
     -Parameter @{"commands"="echo Association"} `
     -AssociationDispatchAssumeRole "arn:aws:iam::123456789012:role/myAssociationDispatchAssumeRole" `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -S3Location_OutputS3KeyPrefix logs `
     -S3Location_OutputS3Region us-east-1 `
     -ScheduleExpression "cron(0 */1 * * ? *)"
   ```

------

   以下範例會更新現有關聯，將名稱變更為 `CalendarAssociation`。新的關聯會在行事曆開啟時執行，並將命令輸出寫入指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name CalendarAssociation \
     --parameters commands="echo Association" \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name CalendarAssociation ^
     --parameters commands="echo Association" ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName CalendarAssociation `
     -AssociationName OneTimeAssociation `
     -Parameter @{"commands"="echo Association"} `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar2"
   ```

------

   以下範例會更新現有關聯，將名稱變更為 `MultiCalendarAssociation`。新的關聯會在行事曆開啟時執行，並將命令輸出寫入指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-association \
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE \
     --association-name MultiCalendarAssociation \
     --parameters commands="echo Association" \
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' \
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------
#### [ Windows ]

   ```
   aws ssm update-association ^
     --association-id 8dfe3659-4309-493a-8755-01234EXAMPLE ^
     --association-name MultiCalendarAssociation ^
     --parameters commands="echo Association" ^
     --output-location S3Location='{OutputS3Region=us-east-1,OutputS3BucketName=amzn-s3-demo-bucket,OutputS3KeyPrefix=logs}' ^
     --calendar-names "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE `
     -AssociationName MultiCalendarAssociation `
     -Parameter @{"commands"="echo Association"} `
     -S3Location_OutputS3BucketName amzn-s3-demo-bucket `
     -CalendarNames "arn:aws:ssm:us-east-1:123456789012:document/testCalendar1" "arn:aws:ssm:us-east-2:123456789012:document/testCalendar2"
   ```

------

1. 若要檢視關聯的新版本，請執行以下命令。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association \
     --association-id b85ccafe-9f02-4812-9b81-01234EXAMPLE
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association ^
     --association-id b85ccafe-9f02-4812-9b81-01234EXAMPLE
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociation `
     -AssociationId b85ccafe-9f02-4812-9b81-01234EXAMPLE | Select-Object *
   ```

------

   系統會傳回如下資訊。

------
#### [ Linux & macOS ]

   ```
   {
       "AssociationDescription": {
           "ScheduleExpression": "cron(0 */1 * * ? *)",
           "OutputLocation": {
               "S3Location": {
                   "OutputS3KeyPrefix": "logs",
                   "OutputS3BucketName": "amzn-s3-demo-bucket",
                   "OutputS3Region": "us-east-1"
               }
           },
           "Name": "AWS-RunPowerShellScript",
           "Parameters": {
               "commands": [
                   "echo Association"
               ]
           },
           "LastExecutionDate": 1559316400.338,
           "Overview": {
               "Status": "Success",
               "DetailedStatus": "Success",
               "AssociationStatusAggregatedCount": {}
           },
           "AssociationId": "b85ccafe-9f02-4812-9b81-01234EXAMPLE",
           "DocumentVersion": "$DEFAULT",
           "LastSuccessfulExecutionDate": 1559316400.338,
           "LastUpdateAssociationDate": 1559316389.753,
           "Date": 1559314038.532,
           "AssociationVersion": "2",
           "AssociationName": "TestHostnameAssociation2",
           "Targets": [
               {
                   "Values": [
                       "Windows"
                   ],
                   "Key": "tag:Environment"
               }
           ]
       }
   }
   ```

------
#### [ Windows ]

   ```
   {
       "AssociationDescription": {
           "ScheduleExpression": "cron(0 */1 * * ? *)",
           "OutputLocation": {
               "S3Location": {
                   "OutputS3KeyPrefix": "logs",
                   "OutputS3BucketName": "amzn-s3-demo-bucket",
                   "OutputS3Region": "us-east-1"
               }
           },
           "Name": "AWS-RunPowerShellScript",
           "Parameters": {
               "commands": [
                   "echo Association"
               ]
           },
           "LastExecutionDate": 1559316400.338,
           "Overview": {
               "Status": "Success",
               "DetailedStatus": "Success",
               "AssociationStatusAggregatedCount": {}
           },
           "AssociationId": "b85ccafe-9f02-4812-9b81-01234EXAMPLE",
           "DocumentVersion": "$DEFAULT",
           "LastSuccessfulExecutionDate": 1559316400.338,
           "LastUpdateAssociationDate": 1559316389.753,
           "Date": 1559314038.532,
           "AssociationVersion": "2",
           "AssociationName": "TestHostnameAssociation2",
           "Targets": [
               {
                   "Values": [
                       "Windows"
                   ],
                   "Key": "tag:Environment"
               }
           ]
       }
   }
   ```

------
#### [ PowerShell ]

   ```
   AssociationId                 : b85ccafe-9f02-4812-9b81-01234EXAMPLE
   AssociationName               : TestHostnameAssociation2
   AssociationVersion            : 2
   AutomationTargetParameterName : 
   ComplianceSeverity            : 
   Date                          : 5/31/2019 2:47:18 PM
   DocumentVersion               : $DEFAULT
   InstanceId                    : 
   LastExecutionDate             : 5/31/2019 3:26:40 PM
   LastSuccessfulExecutionDate   : 5/31/2019 3:26:40 PM
   LastUpdateAssociationDate     : 5/31/2019 3:26:29 PM
   MaxConcurrency                : 
   MaxErrors                     : 
   Name                          : AWS-RunPowerShellScript
   OutputLocation                : Amazon.SimpleSystemsManagement.Model.InstanceAssociationOutputLocation
   Overview                      : Amazon.SimpleSystemsManagement.Model.AssociationOverview
   Parameters                    : {[commands, Amazon.Runtime.Internal.Util.AlwaysSendList`1[System.String]]}
   ScheduleExpression            : cron(0 */1 * * ? *)
   Status                        : 
   Targets                       : {tag:Environment}
   ```

------

# 刪除關聯
<a name="systems-manager-state-manager-delete-association"></a>

利用以下程序，使用 AWS Systems Manager 主控台來刪除關聯。

**刪除關聯**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **State Manager**。

1. 選擇關聯，然後選擇**刪除**。

您可以從 AWS Systems Manager 主控台執行自動化，在單一操作中刪除多個關聯。在選取要刪除的多個關聯時，State Manager 會啟動 Automation 執行手冊開始頁面，其中的關聯 ID 會以輸入參數值的形式輸入。

**在單一操作中刪除多個關聯**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 在導覽窗格中，選擇 **State Manager**。

1. 選擇您要刪除的每個關聯，然後選擇**刪除**。

1. (選用) 在**其他輸入參數**區域中，選取要自動化在執行時使用的*擔任角色*的 Amazon Resource Name (ARN)。若要建立新的擔任角色，請選擇**建立**。

1. 選擇**提交**。

# 執行具有關聯的 Auto Scaling 群組
<a name="systems-manager-state-manager-asg"></a>

使用關聯來執行 Auto Scaling 群組的最佳實務是使用標籤目標。不使用標籤可能會導致您達到關聯限制。

如果所有節點都標記有相同的金鑰和值，則只需要一個關聯來執行 Auto Scaling 群組。以下程序說明如何建立此類關聯。

**建立執行 Auto Scaling 群組的關聯**

1. 確保 Auto Scaling 群組中的所有節點都標記有相同的金鑰和值。如需標記節點的詳細指示，請參閱 *AWS Auto Scaling 使用者指南*中的[標記 Auto Scaling 群組和執行個體](https://docs.aws.amazon.com//autoscaling/ec2/userguide/autoscaling-tagging.html)。

1. 使用 [在 Systems Manager 中使用關聯](state-manager-associations.md) 中的程序來建立關聯。

   如果您在主控台中工作，請選擇 **Targets** (目標) 欄位中的 **Specify instance tags** (指定執行個體標籤)。對於 **Instance tags** (執行個體標籤)，輸入 Auto Scaling 群組的 **Tag** (標籤) 鍵和值。

   如果您使用的是 AWS Command Line Interface (AWS CLI)，請指定索引鍵和值符合您為節點加上標籤`--targets Key=tag:tag-key,Values=tag-value`的位置。

# 檢視關聯歷史記錄
<a name="state-manager-associations-history"></a>

您可以使用 [DescribeAssociationExecutions](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAssociationExecutions.html) API 操作來檢視特定關聯 ID 的所有執行。使用此操作來查看 State Manager 關聯的狀態、詳細狀態、結果、最後執行時間以及詳細資訊。State Manager 是 AWS Systems Manager中的工具。此 API 操作還包括篩選條件，可協助您依據指定的條件找出關聯。例如，您可以指定確切的日期和時間，並使用 GREATER\$1THAN (大於) 篩選條件來檢視指定日期和時間之後處理的執行。

例如，如果關聯執行失敗，您可以使用 [DescribeAssociationExecutionTargets](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAssociationExecutionTargets.html) API 操作，深入探索特定執行的詳細資訊。此操作會顯示資源，例如節點 ID、關聯執行的位置和各種關聯狀態。接著，您可以查看哪些資源或節點無法執行關聯。透過資源 ID，您可以檢視命令執行詳細資訊，以查看命令中的哪一個步驟失敗。

本節中的範例也包括有關如何使用 [StartAssociationsOnce](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartAssociationsOnce.html) API 操作在建立時執行一次關聯的相關資訊。您可以使用此 API 操作來調查失敗的關聯執行。若您看到關聯失敗，您可以對資源進行變更，然後立即執行關聯來查看資源上的變更是否允許關聯成功執行。

**注意**  
在關聯執行期間由 SSM 文件啟動的 API 操作不會記錄在 AWS CloudTrail中。

## 檢視關聯歷史記錄 (主控台)
<a name="state-manager-associations-history-console"></a>

使用以下程序來檢視特定關聯 ID 的執行歷史記錄，然後檢視一或多個資源的執行詳細資訊。

**檢視特定關聯 ID 的執行歷史記錄**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

1. 選擇 **State Manager**。

1. 在 **Association id (關聯 ID)** 欄位中，選擇您想檢視歷程記錄的關聯。

1. 選擇 **View details (檢視詳細資訊)** 按鈕。

1. 選擇 **Execution history (執行歷程記錄)** 標記。

1. 選擇您想檢視資源層級執行詳細資訊的關聯。例如，選擇狀態顯示為 **Failed (失敗)** 的關聯。接著，您可以檢視執行關聯失敗的節點的執行詳細資訊。

   使用搜尋方框篩選條件，找出您想檢視詳細資訊的執行。  
![\[篩選 State Manager 關聯執行清單。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/sysman-state-executions-filter.png)

1. 選擇執行 ID。**Association execution targets (關聯執行目標)** 頁面隨即開啟。此頁面會顯示執行該關聯的所有資源。

1. 選擇資源 ID 來檢視該資源的特定資訊。

   使用搜尋方框篩選條件，找出您想檢視詳細資訊的資源。  
![\[篩選 State Manager 關聯執行目標的清單。\]](http://docs.aws.amazon.com/zh_tw/systems-manager/latest/userguide/images/sysman-state-executions-targets-filter.png)

1. 如果您正在調查執行失敗的關聯，您可以使用 **Apply association now** (立即套用關聯) 按鈕，以便在建立時執行一次關聯。在您對執行關聯失敗的資源進行變更後，選擇導覽導航列中的 **Association ID (關聯 ID)** 連結。

1. 選擇 **Apply association now (立即套用關聯)** 按鈕。在執行完成後，驗證關聯執行已成功。

## 檢視關聯歷史記錄 (命令列)
<a name="state-manager-associations-history-commandline"></a>

下列程序說明如何使用 AWS Command Line Interface (AWS CLI) （在 Linux 或 上Windows Server) AWS Tools for PowerShell 或 檢視特定關聯 ID 的執行歷史記錄。在這之後，程序會說明如何檢視一或多個資源的執行詳細資訊。

**檢視特定關聯 ID 的執行歷史記錄**

1.  AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。

   如需相關資訊，請參閱[安裝或更新 AWS CLI的最新版本](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)和[安裝 AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)。

1. 執行以下命令來檢視特定關聯 ID 的執行清單。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN
   ```

**注意**  
此命令包含篩選條件，可將篩選結果為僅限在特定日期和時間之後發生的執行。若要檢視特定關聯 ID 的所有執行，請移除 `--filters` 參數和 ` Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN` 值。

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN
   ```

**注意**  
此命令包含篩選條件，可將篩選結果為僅限在特定日期和時間之後發生的執行。若要檢視特定關聯 ID 的所有執行，請移除 `--filters` 參數和 ` Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN` 值。

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId ID `
     -Filter @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="GREATER_THAN"}
   ```

**注意**  
此命令包含篩選條件，可將篩選結果為僅限在特定日期和時間之後發生的執行。若要檢視特定關聯 ID 的所有執行，請移除 `-Filter` 參數和 ` @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="GREATER_THAN"}` 值。

------

   系統會傳回如下資訊。

------
#### [ Linux & macOS ]

   ```
   {
      "AssociationExecutions":[
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"76a5a04f-caf6-490c-b448-92c02EXAMPLE",
            "CreatedTime":1523986028.219,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "CreatedTime":1523984226.074,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "CreatedTime":1523982404.013,
            "AssociationVersion":"1"
         }
      ]
   }
   ```

------
#### [ Windows ]

   ```
   {
      "AssociationExecutions":[
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"76a5a04f-caf6-490c-b448-92c02EXAMPLE",
            "CreatedTime":1523986028.219,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"791b72e0-f0da-4021-8b35-f95dfEXAMPLE",
            "CreatedTime":1523984226.074,
            "AssociationVersion":"1"
         },
         {
            "Status":"Success",
            "DetailedStatus":"Success",
            "AssociationId":"c336d2ab-09de-44ba-8f6a-6136cEXAMPLE",
            "ExecutionId":"ecec60fa-6bb0-4d26-98c7-140308EXAMPLE",
            "CreatedTime":1523982404.013,
            "AssociationVersion":"1"
         }
      ]
   }
   ```

------
#### [ PowerShell ]

   ```
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/18/2019 2:00:50 AM
   DetailedStatus        : Success
   ExecutionId           : 76a5a04f-caf6-490c-b448-92c02EXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/11/2019 2:00:54 AM
   DetailedStatus        : Success
   ExecutionId           : 791b72e0-f0da-4021-8b35-f95dfEXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   
   AssociationId         : c336d2ab-09de-44ba-8f6a-6136cEXAMPLE
   AssociationVersion    : 1
   CreatedTime           : 8/4/2019 2:01:00 AM
   DetailedStatus        : Success
   ExecutionId           : ecec60fa-6bb0-4d26-98c7-140308EXAMPLE
   LastExecutionDate     : 1/1/0001 12:00:00 AM
   ResourceCountByStatus : {Success=1}
   Status                : Success
   ```

------

   您可以使用一或多個篩選條件來限制結果。以下範例傳回所有於特定日期和時間之前執行的關聯。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=LESS_THAN
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=LESS_THAN
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -Filter @{"Key"="CreatedTime";"Value"="2019-06-01T19:15:38.372Z";"Type"="LESS_THAN"}
   ```

------

   以下範例傳回所有於特定日期和時間之後*成功*執行的關聯。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-executions \
     --association-id ID \
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN Key=Status,Value=Success,Type=EQUAL
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-executions ^
     --association-id ID ^
     --filters Key=CreatedTime,Value="2018-04-10T19:15:38.372Z",Type=GREATER_THAN Key=Status,Value=Success,Type=EQUAL
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecution `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -Filter @{
         "Key"="CreatedTime";
         "Value"="2019-06-01T19:15:38.372Z";
         "Type"="GREATER_THAN"
       },
       @{
         "Key"="Status";
         "Value"="Success";
         "Type"="EQUAL"
       }
   ```

------

1. 執行以下命令來檢視執行特定執行的所有目標。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE
   ```

------

   您可以使用一或多個篩選條件來限制結果。以下範例傳回所有執行特定關聯失敗的目標相關資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID \
     --filters Key=Status,Value="Failed"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID ^
     --filters Key=Status,Value="Failed"
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE `
     -Filter @{
         "Key"="Status";
         "Value"="Failed"
       }
   ```

------

   以下範例傳回執行關聯失敗的特定受管節點相關資訊。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-association-execution-targets \
     --association-id ID \
     --execution-id ID \
     --filters Key=Status,Value=Failed Key=ResourceId,Value="i-02573cafcfEXAMPLE" Key=ResourceType,Value=ManagedInstance
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-association-execution-targets ^
     --association-id ID ^
     --execution-id ID ^
     --filters Key=Status,Value=Failed Key=ResourceId,Value="i-02573cafcfEXAMPLE" Key=ResourceType,Value=ManagedInstance
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMAssociationExecutionTarget `
     -AssociationId 14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE `
     -ExecutionId 76a5a04f-caf6-490c-b448-92c02EXAMPLE `
     -Filter @{
         "Key"="Status";
         "Value"="Success"
       },
       @{
         "Key"="ResourceId";
         "Value"="i-02573cafcfEXAMPLE"
       },
       @{
         "Key"="ResourceType";
         "Value"="ManagedInstance"
       }
   ```

------

1. 若您正在調查執行失敗的關聯，您可以使用 [StartAssociationsOnce](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_StartAssociationsOnce.html) API 操作來立即執行關聯 (僅限一次)。在您變更關聯執行失敗的資源後，請執行以下命令來立即執行關聯，並僅限一次。

------
#### [ Linux & macOS ]

   ```
   aws ssm start-associations-once \
     --association-id ID
   ```

------
#### [ Windows ]

   ```
   aws ssm start-associations-once ^
     --association-id ID
   ```

------
#### [ PowerShell ]

   ```
   Start-SSMAssociationsOnce `
     -AssociationId ID
   ```

------

# 透過 IAM 使用關聯
<a name="systems-manager-state-manager-iam"></a>

State Manager是 中的工具 AWS Systems Manager，使用[目標](systems-manager-state-manager-targets-and-rate-controls.md#systems-manager-state-manager-targets-and-rate-controls-about-targets)來選擇您設定關聯的執行個體。最初，關聯是透過指定文件名稱 (`Name`) 和執行個體 ID (`InstanceId`) 來建立的。這會在文件和執行個體或受管節點之間建立關聯。關聯通常由這些參數識別。這些參數現在已被取代，但仍支援它們。資源 `instance` 和 `managed-instance` 作為資源新增到具有 `Name` 和 `InstanceId` 的動作。

AWS Identity and Access Management (IAM) 政策強制執行行為取決於指定的資源類型。僅根據傳入的請求強制執行 State Manager 的資源操作。State Manager 不會對帳戶中資源的屬性執行深入檢查。只有在請求參數包含指定的政策資源時，才會針對政策資源驗證請求。例如，如果您在資源區塊中指定執行個體，若請求使用 `InstanceId` 參數，則會強制執行政策。不會針對該 `InstanceId` 來檢查帳戶中每個資源的 `Targets` 參數。

以下是具有迷惑行為的一些案例：
+  [DescribeAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_DescribeActivations.html)、[DeleteAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_DeleteAssociation.html) 和 [UpdateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_UpdateAssociation.html) 使用 `instance`、`managed-instance` 以及 `document` 資源來指定參考關聯的已取代方式。這包括使用已取代的 `InstanceId` 參數建立的所有關聯。
+ [CreateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_CreateAssociation.html)、[CreateAssociationBatch](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_CreateAssociationBatch.html) 以及 [UpdateAssociation](https://docs.aws.amazon.com//systems-manager/latest/APIReference/API_UpdateAssociation.html) 使用 `instance` 和 `managed-instance` 資源來指定參考關聯的已取代方式。這包括使用已取代的 `InstanceId` 參數建立的所有關聯。`document` 資源類型是參考關聯的已取代方式的一部分，並且是關聯的實際屬性。這表示您可以根據文件名稱，使用 `Create` 和 `Update` 動作的 `Allow` 或 `Deny` 許可來構建 IAM 政策。

如需有關搭配使用 IAM 政策與 Systems Manager 的詳細資訊，請參閱《*服務授權參考*》中的 [適用於 AWS Systems Manager 的 Identity and Access Management](security-iam.md) 或[適用於 AWS Systems Manager的動作、資源及條件金鑰](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanager.html)。