步驟 5:在混合環境 (Windows) 中安裝 SSM Agent - AWS Systems Manager

步驟 5:在混合環境 (Windows) 中安裝 SSM Agent

本主題說明如何在混合環境中的 Windows Server 機器上安裝 SSM Agent。如果您計劃在混合環境中使用 Linux 電腦,請參閱上一個步驟:步驟 4:在混合環境 (Linux) 中安裝 SSM Agent

重要

此程序適用於現場部署或混合環境中的伺服器和虛擬機器 (VM)。若要在 Windows Server 的 EC2 執行個體上下載並安裝 SSM Agent,請參閱在 Windows Server 專用 EC2 執行個體使用 SSM Agent

開始之前,請找出您稍早在步驟 3:為混合環境建立受管執行個體啟用中完成受管執行個體啟用後傳送給您的啟用代碼和啟用 ID。您會在以下程序中指定代碼和 ID。

若要在混合環境中的伺服器和虛擬機器上安裝 SSM Agent

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

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

    對於 HTTP 代理伺服器,請設定此變數:

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

    對於 HTTPS 代理伺服器,請設定此變數:

    http_proxy=http://hostname:port https_proxy=https://hostname:port
  3. 以高階 (管理) 模式開啟 Windows PowerShell。

  4. 將下列命令區塊複製並貼到 Windows PowerShell 中。將每個範例資源預留位置取代為您自己的資訊。例如,您在建立受管執行個體啟用時產生的啟用碼和啟用 ID,以及取代為您想要從中下載 SSM Agent 的 AWS 區域 的識別符。

    region 代表 AWS Systems Manager 支援之 AWS 區域 的識別符,例如 us-east-2 代表美國東部 (俄亥俄) 區域。如需 region 值的清單,請參閱《Amazon Web Services 一般參考》中 Systems Manager 服務端點中的 Region (區域) 資料欄。

    64-bit
    $code = "activation-code" $id = "activation-id" $region = "region" $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/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe") Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=$code", "ID=$id", "REGION=$region") -Wait Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"
    32-bit
    $code = "activation-code" $id = "activation-id" $region = "region" $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_386/AmazonSSMAgentSetup.exe", $dir + "\AmazonSSMAgentSetup.exe") Start-Process .\AmazonSSMAgentSetup.exe -ArgumentList @("/q", "/log", "install.log", "CODE=$code", "ID=$id", "REGION=$region") -Wait Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"
  5. Enter 鍵。

命令會執行下列動作:

  • 下載 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 命令 describe-instance-information,或使用 API 命令 DescribeInstancePatches,您可以在 Fleet Manager 主控台的 Managed instances (受管執行個體) 頁面中檢視受管執行個體。

設定私有金鑰自動輪換

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

若要設定 SSM Agent 以輪換混合環境私有金鑰

  1. 在 Linux 電腦中導覽至 /etc/amazon/ssm/,或在 Windows 電腦中導覽至 C:\Program Files\Amazon\SSM

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

  3. 查找 ProfileKeyAutoRotateDays。輸入您想要的自動私有金鑰輪換之間的天數。

  4. 重新啟動 SSM Agent。

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

您可以使用相同的程序來自訂 SSM Agent 的其他功能。如需可用組態屬性及其預設值的最新清單,請參閱組態屬性定義

取消註冊並重新註冊受管執行個體

透過從 AWS CLI 或 Tools for Windows PowerShell 中呼叫 DeregisterManagedInstance API 操作,可取消註冊受管執行個體。以下是範例 CLI 命令:

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

您可以在取消註冊受管執行個體之後重新註冊它。使用下列程序來重新註冊受管執行個體。完成程序後,您的受管執行個體會再次顯示在受管執行個體清單中。

若要在 Windows 混合機器中重新註冊受管執行個體

  1. 連線到您的執行個體

  2. 執行下列命令。確保將預留位置值取代為您在建立受管執行個體啟用時產生的啟用碼和啟用 ID,以及取代為您想要從中下載 SSM Agent 的區域識別符。

    'yes' | & 'C:\Program Files\Amazon\SSM\amazon-ssm-agent.exe' -register -code activation-code -id activation-id -region region; Restart-Service AmazonSSMAgent