第 6 步:为混合环境安装 SSM 代理 (Windows) - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 6 步:为混合环境安装 SSM 代理 (Windows)

本主题介绍如何在Windows Server机器在混合环境中。如果您计划在混合环境中使用 Linux 计算机,请参阅前一个步骤第 5 步:为混合环境安装 SSM 代理 (Linux)

重要

此过程适用于本地或混合环境中的服务器和虚拟机 (VM)。要在适用于Windows Server,请参阅在 EC2 实例上为安装和配置 SSM 代理Windows Server

在开始前,找到之前在第 4 步:为混合环境创建托管实例激活中完成托管实例激活后收到的激活代码和激活 ID。按照以下流程指定激活代码和 ID。

在混合环境中的服务器和虚拟机上安装 SSM 代理

  1. 登录混合环境中的服务器或虚拟机。

  2. 如果您使用 HTTP 或 HTTPS 代理,则必须将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
  3. 以提升(管理)模式打开 Windows PowerShell。

  4. 将以下命令块复制并粘贴到 Windows PowerShell。将占位符值替换为在创建托管实例激活时生成的激活代码和激活 ID,以及Amazon Web Services 区域您想要从中下载 SSM 代理。

    区域表示Amazon Web Services 区域支持Amazon Web Services Systems Manager之外的压缩算法(例如us-east-2对于美国东部(俄亥俄)区域,请指定。有关受支持的区域,请参阅区域columnSystems Manager 服务终端节点中的Amazon Web Services 一般参考

    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://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/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://s3.cn-north-1.amazonaws.com.cn/amazon-ssm-cn-north-1/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 代理并将它安装到服务器或虚拟机上。

  • 将服务器或虚拟机注册到 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-”作为标识。您可以在托管实例页面 Systems Manager,通过使用AmazonCLI 命令描述实例信息,或者通过使用 API 命令DescribeInstancePatches

取消注册并重新注册托管实例

您可以通过调用DeregisterManagedInstanceAPI 操作来自AmazonCLI 或适用于 Windows PowerShell 的工具。以下是一个示例 CLI 命令:

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

您可以在取消注册托管实例后重新注册该实例。请使用以下过程重新注册托管实例。完成该过程后,托管实例将重新出现在托管实例列表中。

在 Windows 混合计算机上重新注册托管实例

  1. 连接到您的实例。

  2. 搜索C:\ProgramData\Package Cache\AmazonSSMAgentSetup.exe

  3. 运行 文件。

  4. 选择卸载 SSM 代理的选项。

  5. 重复本主题中的过程以安装 SSM 代理。