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

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

步骤 4:为混合和多云环境安装 SSM Agent(Windows)

本主题介绍如何在混合和多云环境中的 Windows Server 计算机上安装 SSM Agent。如果您计划在混合和多云环境中使用 非 EC2 Linux 计算机,请参阅上一步骤:步骤 3:为混合和多云环境安装 SSM Agent(Linux)

重要

此过程适用于混合和多云环境中的非 EC2(Amazon Elastic Compute Cloud)计算机。要在适用于 Windows Server 的 EC2 实例上下载并安装 SSM Agent,请参阅 在适用于 Windows Server 的 EC2 实例上使用 SSM Agent

在开始前,找到之前在 步骤 2:为混合和多云环境创建混合激活 中完成混合激活后收到的激活代码和激活 ID。按照以下流程指定激活代码和 ID。

在混合和多云环境中的非 EC2 Windows Server 计算机上安装 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,以及 Amazon Web Services 区域 要SSM Agent从中下载的标识符。

    注意

    请注意以下重要详细信息:

    • ssm-setup-cli 支持 manifest-url 选项,该选项可用来确定代理的下载来源。除非您的组织要求,否则请勿为此选项指定任何值。

    • 您可以使用此处提供的脚本来验证的签名ssm-setup-cli

    • 注册实例时,请仅使用为 ssm-setup-cli 提供的下载链接。ssm-setup-cli 不应另行存放以供将来使用。

    re gion 表示 Amazon Web Services 区域 支持的标识符 Amazon Systems Manager,例如us-east-2美国东部(俄亥俄州)地区的标识符。有关支持的 region 值的列表,请参阅《Amazon Web Services 一般参考》中的 Systems Manager service endpointsRegion 列。

    此外,ssm-setup-cli 包括以下选项:

    • version –有效值为 lateststable

    • downgrade – 将代理恢复到早期版本。

    • skip-signature-validation – 在下载和安装代理期间跳过签名验证。

    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/ssm-setup-cli.exe", $dir + "\ssm-setup-cli.exe") Start-Process ./ssm-setup-cli.exe -ArgumentList @("-register", "-activation-code=$code", "-activation-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/ssm-setup-cli.exe", $dir + "\ssm-setup-cli.exe") Start-Process ./ssm-setup-cli.exe -ArgumentList @("-register", "-activation-code=$code", "-activation-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-”作为标识。您可以使用命令或使用 API Amazon CLI 命令describe-instance-information在中的Fleet Manager托管节点页面上查看托管节点DescribeInstanceInformation

设置私有密钥自动轮换

为了增强您的安全状况,您可以将 Amazon 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

  2. amazon-ssm-agent.json.template 的内容复制到名为 amazon-ssm-agent.json 的新文件中。Saveamazon-ssm-agent.json在同一目录中,其中amazon-ssm-agent.json.template位于中。

  3. 找到 ProfileKeyAutoRotateDays。输入您希望自动轮换私有密钥的间隔天数。

  4. 重新启动 SSM Agent。

每次更改配置时,请重新启动 SSM Agent。

您可以按照相同的过程自定义 SSM Agent 的其他功能。有关可用配置属性及其默认值的 up-to-date 列表,请参阅 Config 属性定义

取消注册及重新注册托管节点

您可以通过从 Amazon CLI 或适用于 Windows PowerShell 的工具中调用 DeregisterManagedInstanceAPI 操作来取消注册托管节点。以下是一个示例 CLI 命令:

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

要移除代理的其余注册信息,请移除 amazon-ssm-agent.json 文件中的 IdentityConsumptionOrder 键。然后运行以下命令:

amazon-ssm-agent -register -clear

您可以在取消注册后重新注册计算机。按照以下步骤将计算机重新注册为托管节点。完成这些步骤后,您的托管式节点将再次在托管式节点列表中显示。

在 Windows 混合计算机上重新注册托管节点
  1. 连接到您的计算机。

  2. 运行以下命令。请务必将占位符的值替换为在创建混合激活时生成的激活码和激活 ID,以及要从中下载 SSM Agent 的区域标识符。

    'yes' | & Start-Process ./ssm-setup-cli.exe -ArgumentList @("-register", "-activation-code=$code", "-activation-id=$id", "-region=$region") -Wait Get-Content ($env:ProgramData + "\Amazon\SSM\InstanceData\registration") Get-Service -Name "AmazonSSMAgent"