如何创建 Amazon VPC 端点,才能在不连接互联网的情况下使用 Systems Manager 管理私有 Amazon EC2 实例?

2 分钟阅读
0

我的 Amazon Elastic Compute Cloud(Amazon EC2)实例无法连接到互联网。我想使用 AWS Systems Manager 管理我的实例。

解决方法

要在不连接互联网的情况下管理 EC2 实例,请将 Systems Manager 配置为在 AWS PrivateLink 上使用 Amazon Virtual Private Cloud (Amazon VPC) 接口端点

为 Systems Manager 创建 IAM 实例配置文件

完成以下步骤:

  1. 确认 AWS Systems Manager Agent (SSM Agent) 已安装在实例上
  2. 创建 AWS Identity and Access Management (IAM) 实例配置文件。您可以创建一个新角色,也可以向现有角色添加必要的权限。
  3. 将 IAM 角色附加到您的实例。
  4. 打开 Amazon EC2 控制台,然后选择您的实例。
  5. 选择 Description(描述)选项卡,然后记下 VPC IDSubnet ID(子网 ID)。

**注意:**如果您使用默认主机管理配置来管理您的实例,则无需创建 IAM 实例配置文件来管理实例。

创建或修改安全组

创建安全组,或修改现有安全组。将安全组连接到您的实例。该安全组必须允许出站流量通过端口 443 流向 VPC 端点。此外,将安全组连接到 VPC 端点。安全组必须允许来自您的 VPC 中与服务通信的资源的入站 HTTPS(端口 443)流量。有关详细信息,请参阅针对不同使用案例的安全组规则

**注意:**您可以为入站和出站规则创建一个安全组,并将其连接到实例和 VPC 端点。

要为 VPC 端点配置安全组,请完成以下步骤:

  1. 打开 Amazon VPC 控制台
  2. 选择 Security groups(安全组),然后选择新的安全组。
  3. Inbound rules(入站规则)选项卡中,选择 Edit inbound rules(编辑入站规则)。
  4. 添加规则,规则详细内容如下:
    对于类型,选择 HTTPS
    对于 Source(来源),选择您的 VPC CIDR。
    对于高级配置,您可以允许您的实例使用 VPC 或安全组中的特定子网的 CIDR。
  5. 记下要用于其他端点的安全组 ID。
  6. 选择保存规则

为 Systems Manager 创建和配置 VPC 端点

**注意:**VPC 端点将映射到特定的子网。如果您在创建 VPC 端点时选择多个子网,则会为每个选定的子网创建一个端点。这会增加您的账单成本,因为您需要为每个端点付费。

完成以下步骤:

  1. 创建 VPC 端点
  2. 对于 Service name(服务名称),选择 com.amazonaws.[region].ssm。有关 AWS 区域代码的列表,请参阅可用区
  3. 对于 VPC,为您的实例选择 VPC ID
  4. 对于 Subnets(子网),选择您的 VPC 中的 Subnet ID(子网 ID)。
    要获得高可用性,请从同一区域内的不同可用区中至少选择两个子网。
    **注意:**如果您在同一个可用区中有多个子网,则无需为额外的子网创建 VPC 端点。同一可用区内的其他子网都可以访问和使用该接口。
  5. 对于 Security group(安全组),选择您的安全组。
  6. (可选)要进行高级设置,请为 Systems Manager 创建接口 VPC 端点策略
    **注意:**VPC 端点需要 AWS 提供的 DNS (VPC CIDR+2)。如果使用的是自定义 DNS,请使用 Amazon Route 53 Resolver 进行正确的名称解析
  7. 重复步骤 2-6,并进行以下更改:
    对于会话管理器端点,对于服务名称选择 com.amazonaws.[region].ssmmessages
    对于 EC2 Messages 端点,对于服务名称选择 com.amazonaws.[region].ec2messages
    **注意:**对于 SSM Agent 版本 3.3.40.0 及更高版本,Systems Manager 使用 ssmmessages:* 端点(如果可用),而不是 ec2messages:* 端点。有关详细信息,请参阅与代理相关的 API 操作(ssmmessages 和 ec2messages 端点)中的“端点连接优先级”部分。

要验证您的实例是否注册为托管实例,请完成以下步骤:

  1. 打开 Systems Manager 控制台
  2. 在导航窗格中,选择 Fleet Manager
  3. 验证您的实例 ID 是否列在 Node ID(节点 ID)下,以及该节点是否处于 Running(正在运行)状态。

**注意:**完成配置后,该实例可能需要几分钟才能注册为托管实例。要让 SSM Agent 立即连接,请在实例中重启 SSM Agent 或重启该实例。

如果您不使用默认会话首选项,请创建以下 VPC 端点以使用会话管理器(AWS Systems Manager 的一项功能)

  • 如果您对 Run Command(Systems Manager 的一项功能)使用 Amazon Simple Storage Service (Amazon S3) 日志记录,请创建 com.amazonaws.region.s3 网关端点。
  • 如果您对会话管理器使用 AWS Key Management Service (AWS KMS) 加密,请创建 com.amazonaws.region.kms 端点。
  • 如果您对 Run Command 使用 Amazon CloudWatch Logs,请为您的区域创建一个服务端点

将实例连接到会话管理器不需要 VPC 端点。创建基于 Windows 卷影复制服务 (VSS) 的实例快照需要 VPC 端点。

相关信息

AWS Systems Manager endpoints and quotas

设置 AWS Systems Manager

AWS 官方
AWS 官方已更新 5 个月前