

• 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)。

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

# 在混合 Windows Server 節點上安裝 SSM Agent
<a name="hybrid-multicloud-ssm-agent-install-windows"></a>

本主題說明如何在[混合多雲端](operating-systems-and-machine-types.md#supported-machine-types)環境中的Windows Server機器上安裝 AWS Systems Manager SSM Agent 。如需在 EC2 執行個體上針對 Windows Server 安裝 SSM Agent，請參閱 [在 Windows Server EC2 執行個體上手動安裝和解除安裝 SSM Agent](manually-install-ssm-agent-windows.md)。

開始之前，請找出在混合啟用程序期間產生的啟用代碼和啟用 ID，如[建立混合啟用，以向 Systems Manager 註冊節點](hybrid-activation-managed-nodes.md)中所述。您需在下列程序中指定代碼和 ID。

**在混合多雲端環境中的非 EC2 Windows Server 機器上安裝 SSM Agent**

1. 登入混合多雲端環境中的伺服器或虛擬機器。

1. 如果您使用 HTTP 或 HTTPS 代理伺服器，則必須在目前的 Shell 工作階段中設定 `http_proxy` 或 `https_proxy` 環境變數。如果您不使用代理伺服器，則可以略過此步驟。

   對於 HTTP 代理伺服器，請設定此變數：

   ```
   http_proxy=http://hostname:port
   https_proxy=http://hostname:port
   ```

   對於 HTTPS 代理伺服器，請設定此變數：

   ```
   http_proxy=http://hostname:port
   https_proxy=https://hostname:port
   ```

   對於 PowerShell，設定 WinINet 代理設定：

   ```
   [System.Net.WebRequest]::DefaultWebProxy
   
   $proxyServer = "http://hostname:port"
   $proxyBypass = "169.254.169.254"
   $WebProxy = New-Object System.Net.WebProxy($proxyServer,$true,$proxyBypass)
   
   [System.Net.WebRequest]::DefaultWebProxy = $WebProxy
   ```
**注意**  
PowerShell 操作需要 WinINet 代理組態。如需詳細資訊，請參閱[SSM Agent 代理設定和 Systems Manager 服務](configure-proxy-ssm-agent-windows.md#ssm-agent-proxy-services)。

1. 以高階 (管理) 模式開啟 Windows PowerShell。

1. 複製以下命令區塊並貼到 Windows PowerShell。將每個*範例資源預留位置*取代為您自己的資訊。例如，當您建立混合啟用時產生的啟用碼和啟用 ID，以及 AWS 區域 您要SSM Agent從中下載的識別符。
**重要**  
請注意以下重要詳細資訊：  
對非 EC2 安裝使用 `ssm-setup-cli`，可最大限度地提高 Systems Manager 安裝和組態的安全性。
`ssm-setup-cli` 支援用於確定代理程式下載來源的 `manifest-url` 選項。除非您的組織需要，否則請勿為此選項指定值。
您可以使用[此處](https://github.com/aws/amazon-ssm-agent/blob/mainline/Tools/src/setupcli_data_integrity_windows.ps1)提供的指令碼來驗證 `ssm-setup-cli` 的簽章。
註冊執行個體時，請僅使用為 `ssm-setup-cli` 提供的下載連結。`ssm-setup-cli` 不應單獨存放以供日後使用。

   *region* 代表 AWS 區域 支援的 識別符 AWS Systems Manager，例如`us-east-2`美國東部 （俄亥俄） 區域。如需支援的 *region* 值的清單，請參閱《Amazon Web Services 一般參考》**中 [Systems Manager 服務端點](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)一節的**區域**欄位。

   此外，`ssm-setup-cli` 還包括下列選項：
   + `version`：有效值為 `latest` 和 `stable`。
   + `downgrade`：將代理程式還原為較早版本。
   + `skip-signature-validation`：在下載和安裝代理程式期間略過簽章驗證。

------
#### [ 64-bit ]

   ```
   [System.Net.ServicePointManager]::SecurityProtocol = 'TLS12'
   $code = "activation-code"
   $id = "activation-id"
   $region = "us-east-1"
   $dir = $env:TEMP + "\ssm"
   New-Item -ItemType directory -Path $dir -Force
   cd $dir
   (New-Object System.Net.WebClient).DownloadFile("https://amazon-ssm-$region.s3.$region.amazonaws.com/latest/windows_amd64/ssm-setup-cli.exe", $dir + "\ssm-setup-cli.exe")
   ./ssm-setup-cli.exe -register -activation-code="$code" -activation-id="$id" -region="$region"
   Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration")
   Get-Service -Name "AmazonSSMAgent"
   ```

------

1. 按 `Enter` 鍵。

**注意**  
如果命令失敗，請確認您正在執行最新版本的 AWS Tools for PowerShell。

命令會執行下列動作：
+ 將 SSM Agent 下載並安裝到機器上。
+ 向 Systems Manager 服務註冊機器。
+ 傳回類似如下的請求回應：

  ```
      Directory: C:\Users\ADMINI~1\AppData\Local\Temp\2
  
  
  Mode                LastWriteTime         Length Name
  ----                -------------         ------ ----
  d-----       07/07/2018   8:07 PM                ssm
  {"ManagedInstanceID":"mi-008d36be46EXAMPLE","Region":"us-east-2"}
  
  Status      : Running
  Name        : AmazonSSMAgent
  DisplayName : Amazon SSM Agent
  ```

此機器現在是*受管節點*。這些受管節點現在會使用字首 "mi-" 進行標識。您可以使用 AWS CLI 命令 Fleet Manager或使用 API 命令 [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-instance-information.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-instance-information.html)，在 的**受管節點**頁面上檢視受管節點[https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeInstanceInformation.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeInstanceInformation.html)。

## 設定私有金鑰自動輪換
<a name="ssm-agent-hybrid-private-key-rotation-windows"></a>

若要強化您的安全狀態，您可以設定 AWS Systems Manager Agent (SSM Agent) 自動輪換混合多雲端環境的私有金鑰。您可以使用 SSM Agent 3.0.1031.0 版或更新版本來存取此功能。使用下列程序開啟此功能。

**設定 SSM Agent 以輪換混合多雲端環境的私有金鑰**

1. 在 Linux 機器中導覽至 `/etc/amazon/ssm/`，或在 Windows Server 機器中導覽至 `C:\Program Files\Amazon\SSM`。

1. 將 `amazon-ssm-agent.json.template` 的內容複製到名為 `amazon-ssm-agent.json` 的新檔案。將 `amazon-ssm-agent.json` 儲存在 `amazon-ssm-agent.json.template` 所在的相同目錄中。

1. 查找 `Profile`、`KeyAutoRotateDays`。輸入您想要的自動私有金鑰輪換之間的天數。

1. 重新啟動 SSM Agent。

每次變更組態時，請重新啟動 SSM Agent。

您可以使用相同的程序來自訂 SSM Agent 的其他功能。如需可用組態屬性及其預設值的最新清單，請參閱[組態屬性定義](https://github.com/aws/amazon-ssm-agent#config-property-definitions)。

## 取消註冊並重新註冊受管節點 (Windows Server)
<a name="systems-manager-install-managed-win-deregister-reregister"></a>

您可以從 AWS CLI 或 Tools for Windows PowerShell 呼叫 [DeregisterManagedInstance](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeregisterManagedInstance.html) API 操作來取消註冊受管節點。以下是範例 CLI 命令：

`aws ssm deregister-managed-instance --instance-id "mi-1234567890"`

若要移除代理程式的剩餘註冊資訊，請移除 `amazon-ssm-agent.json` 檔案中的 `IdentityConsumptionOrder` 索引鍵。然後執行以下命令：

`amazon-ssm-agent -register -clear`

**注意**  
只要您尚未達到指定啟用代碼和 ID 的執行個體限制，您就可以使用相同的啟用代碼和 ID，重新註冊內部部署伺服器、邊緣裝置或 VM。您可以使用 AWS CLI呼叫 [describe-activations](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-activations.html) API，來驗證啟用代碼和 ID 的執行個體限制。執行命令後，驗證 `RegistrationCount` 的值是否不超過 `RegistrationLimit`。如果超過，您必須使用其他啟用代碼和 ID。

**若要在 Windows Server 混合機器中重新註冊受管節點**

1. 連線至您的機器。

1. 執行下列命令。務必使用您在建立混合啟用時產生的啟用代碼和啟用 ID 以及您想要從中下載 SSM Agent 的區域識別碼，取代預留位置的值。

   ```
   $dir = $env:TEMP + "\ssm"
   cd $dir
   Start-Process ./ssm-setup-cli.exe -ArgumentList @(
       "-register",
       "-activation-code=$code",
       "-activation-id=$id",
       "-region=$region"
   ) -Wait -NoNewWindow
   ```