跳至内容

如何创建 Amazon VPC 端点,以便使用 Systems Manager 管理未连接互联网的私有 Amazon EC2 实例?

2 分钟阅读
0

我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例无法连接到互联网。我想创建 Amazon Virtual Private Cloud (Amazon VPC) 端点,以便使用 AWS Systems Manager 来管理我的实例。

解决方法

要管理未连接互联网的 EC2 实例,请配置 Systems Manager,以在 AWS PrivateLink 上使用 VPC 接口端点

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

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

完成以下步骤:

  1. 确认您已在实例上安装了 AWS Systems Manager Agent (SSM Agent)
  2. 创建 AWS Identity and Access Management (IAM) 实例配置文件,并添加所需的权限
    **注意:**您可以创建一个新角色,也可以向现有角色添加权限。
  3. 将 IAM 角色附加到您的实例。
  4. 打开 Amazon EC2 控制台
  5. 在导航窗格中,选择 Instances(实例),然后选择您的实例。
  6. 选择 Description(描述)选项卡,然后记下 VPC ID 和子网 ID,以便在后续步骤中使用。

创建或修改安全组

为入站和出站规则创建一个安全组,或修改现有安全组。该安全组必须允许出站流量通过端口 443 流向 VPC 端点。该安全组还必须允许来自 VPC 中与服务通信的资源的入站 HTTPS(端口 443)流量。对于 Inbound rules(入站规则),在类型中选择 HTTPS。对于 Source(来源),选择您的 VPC 的 CIDR 数据块。对于高级配置,允许 VPC 中特定子网的 CIDR 数据块,或您的实例使用的安全组。

将安全组添加到您的实例。然后,将该安全组与 VPC 端点相关联。有关详细信息,请参阅针对不同使用案例的安全组规则

为 Systems Manager 创建和配置 VPC 端点

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

完成以下步骤:

  1. 创建 VPC 端点
  2. 对于 Service name(服务名称),选择 com.amazonaws.[region].ssm。**注意:**有关 AWS 区域代码的列表,请参阅 Available AWS Regions(可用的 AWS 区域)
  3. 对于 VPC,选择您的实例所在的 VPC。
    **注意:**对于 Additional settings(其他设置),请保留默认选项 Enable DNS name(启用 DNS 名称)。
  4. 对于 Subnets(子网),请从同一区域内不同可用区的 VPC 中至少选择两个子网。
    **注意:**如果您在同一个可用区中有多个子网,则无需为额外的子网创建 VPC 端点。同一可用区内的其他子网均可以访问和使用该接口端点。
  5. 对于 Security group(安全组),选择您的安全组。
  6. (可选)要进行高级设置,请为 Systems Manager 创建接口 VPC 端点策略
    **注意:**VPC 端点需要 AWS 提供的 DNS(VPC CIDR+2)。如果使用的是自定义 DNS,请使用 Amazon Route 53 Resolver 进行正确的名称解析
  7. 选择 Create endpoint(创建端点)。

重复这些步骤,为 com.amazonaws.[region].ssmmessagescom.amazonaws.[region].ec2messages 创建端点。

对于 SSM Agent 版本 3.3.40.0 及更高版本,Systems Manager 使用 ssmmessages:* 端点(如果可用),而不是 ec2messages:* 端点。有关详细信息,请参阅与代理相关的 API 操作(ssmmessages 和 ec2messages 端点)中的“端点连接优先级”部分。

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

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

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

如果您遇到问题,请参阅为什么 Systems Manager 没有将我的 Amazon EC2 实例显示为托管实例?

如果您不使用默认会话首选项,请创建以下 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