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

上次更新日期:2022 年 10 月 19 日

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

解决方法

Amazon EC2 实例必须注册为托管实例才能通过 AWS Systems Manager 进行管理。请按照以下步骤执行操作:

  1. 验证实例上是否已安装 SSM Agent
  2. 为 Systems Manager 创建 AWS Identity and Access Management(IAM)实例配置文件。您可以创建一个新角色,也可以向现有角色添加所需的权限。
  3. 连接 IAM 角色到您的私有 EC2 实例。
  4. 打开 Amazon EC2 控制台,然后选择您的实例。在 Description(描述)选项卡上,记下 VPC IDSubnet ID(子网 ID)。
  5. 为 Systems Manager 创建虚拟私有云(VPC)端点
    对于 Service Name(服务名称),选择 com.amazonaws.[region].ssm(例如,com.amazonaws.us-east-1.ssm)。有关区域代码的完整列表,请参阅可用区域
    对于 VPC,为您的实例选择 VPC ID
    对于 Subnets(子网),在您的 VPC 中选择 Subnet ID(子网 ID)。要获得高可用性,请至少从该区域内的不同可用区中选择两个子网。
    注意:如果您在同一可用区中有多个子网,则无需为额外的子网创建 VPC 终端节点。同一可用区内的任何其他子网都可以访问和使用该接口。
    对于 Enable DNS name(启用 DNS 名称),选择 Enable for this endpoint(为此端点启用)。有关更多信息,请参阅使用接口 VPC 端点访问 AWS 服务
    对于 Security group(安全组),选择一个现有安全组,或者创建新的安全组。安全组必须允许来自与服务通信的 VPC 中资源的入站 HTTPS(端口 443)流量。
    如果您已创建一个新的安全组,则打开 VPC 控制台,选择 Security Groups(安全组),然后选择新的安全组。在 Inbound rules(入站规则)选项卡上,选择 Edit inbound rules(编辑入站规则)。添加包含以下详细信息的规则,然后选择 Save rules(保存规则):
    对于 Type(类型),选择 HTTPS
    对于 Source(源),选择您的 VPC CIDR。对于高级配置,您可以允许 EC2 实例使用特定子网的 CIDR。
    请注意安全组 ID。您会将此 ID 与其他端点一起使用。
    可选:对于高级设置,请为 AWS Systems Manager 创建 VPC 接口端点的策略
    注意:VPC 终端节点需要 AWS 提供的 DNS (VPC CIDR+2)。如果使用的是自定义 DNS,则请使用 Amazon Route 53 Resolver 进行正确的名称解析。有关更多信息,请参阅以下内容:
    使用接口 VPC 端点访问 AWS 服务
    解析 VPC 与您的网络之间的 DNS 查询
  6. 重复第 5 步,其中作出以下调整:
    对于服务名称,选择 com.amazonaws.[region].ec2messages
  7. 重复第 5 步,其中作出以下调整:
    请为 Service Name(服务名称)选择 com.amazonaws.[region].ssmmessages

创建三个终端节点后,您的实例显示在 Managed Instances(托管式实例)中,并且可以使用 Systems Manager 进行管理。

注意:要使用 Session Manager,请创建以下 VPC 端点:

  • System Manager:com.amazonaws.region.ssm
  • Session Manager:com.amazonaws.region.ssmmessages
  • KMS:com.amazonaws.region.kms(可选。只有在对 Session Manager 使用 AWS Key Management Service(AWS KMS)加密时,才需要此端点。)
  • Amazon CloudWatch Logs(可选。只有在为 Session Manager Run Command 使用 Amazon CloudWatch Logs 时,才需要此端点)。

将实例连接到 Session Manager 不需要 EC2 VPC 终端节点。必须使用 EC2 VPC 终端节点,才能为实例创建启用 VSS 的快照。

有关更多信息,请参阅为 Systems Manager 创建 VPC 端点