如何使用 Amazon EC2 实例作为堡垒主机,从本地计算机连接到私有 Amazon RDS 数据库实例?

上次更新时间:2020 年 8 月 20 日

如何使用 Amazon Elastic Compute Cloud (Amazon EC2) 实例作为堡垒(跳转)主机,从本地计算机连接到私有 Amazon Relational Database Service (Amazon RDS) 数据库实例?

简短描述

要使用 EC2 实例作为跳转服务器,从本地计算机连接到私有 RDS 数据库实例,请遵循以下步骤:

  1. 启动并配置您的 EC2 实例,然后配置该实例的网络设置。
  2. 配置 RDS 数据库实例的安全组。
  3. 从本地计算机连接到 RDS 数据库实例。

重要提示:要链接私有 Amazon RDS 或 Amazon Aurora 数据库实例,最好使用 VPNAWS Direct Connect。如果无法使用 VPN 或 Direct Connect,则使用堡垒主机。虽然以下示例配置使用安全组限制访问权,但您仍可以限制子网的网络访问控制列表(网络 ACL)以加强连接安全性。您还可以限制互联网网关的路由范围,以使用更小的范围而不是 0.0.0.0/0。例如,当您添加互联网网关时,您只能在目的地的路由表中添加所需的 CIDR 范围。有关更多信息,请参阅示例路由选项

解决方法

以下示例配置针对 Amazon Virtual Private Cloud (Amazon VPC) 中的 RDS MySQL 数据库实例,并为 EC2 实例设置了安全组。

启动并配置 EC2 实例

  1. 打开 Amazon EC2 控制台,选择启动实例
  2. 选择一个 Amazon 系统映像 (AMI)。
  3. 选择实例类型,然后选择下一步:配置实例详细信息
  4. 对于网络,选择 RDS 数据库实例使用的 VPC。
  5. 对于子网,选择在其路由表中拥有互联网网关的子网。如果您还没有互联网网关,您可以在创建 EC2 实例后将它添加到子网中。
  6. 选择下一步:添加存储,并根据需要修改存储。
  7. 选择 Next: Add Tags(下一步: 添加标签),并根据需要添加标签。
  8. 选择 Next: Configure Security Group(下一步: 配置安全组),选择 Add Rule(添加规则),然后输入以下内容:
    类型:自定义 TCP 规则
    协议:TCP
    端口范围:22
    源:输入本地计算机的 IP 地址。源 IP 地址默认向所有人开放。但您只能限制对您的本地公共 IP 地址的访问。
  9. 选择查看并启动
  10. 选择启动

配置 RDS 数据库实例的安全组

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库
  2. 选择 RDS 数据库实例的名称。或者,在您尚没有实例的情况下,创建一个 RDS 数据库实例
  3. 选择连接与安全选项卡。
  4. Security(安全)部分中,选择 VPC security groups(VPC 安全组)下的链接。
  5. 依次选择安全组、Actions(操作)和 Edit inbound rules(编辑入站规则)。
  6. 选择“Add rule”(添加规则)并输入以下内容:
    类型:自定义 TCP 规则
    协议:TCP
    端口范围:输入 RDS 数据库实例的端口
    源:输入 EC2 实例的私有 IP 地址
  7. 选择保存

安全组的此配置允许来自T EC2 实例私有 IP 地址的流量。如果 EC2 实例和 RDS 数据库实例使用相同的 VPC,则您不需要修改 RDS 数据库实例使用的路由表。如果 VPC 不同,则创建 VPC 对等连接,以允许这些 VPC 之间的连接。

从本地计算机连接到 RDS 数据库实例

连接 RDS 数据库实例的步骤因您使用的客户端而不同。有关更多信息,请参阅连接到 Amazon RDS 数据库实例。如果您使用 MySQL,最佳做法是使用 SSL 加密客户端应用程序与 Amazon RDS 之间的连接。

以下示例使用 MySQL Workbench 客户端连接到堡垒主机:

  1. 启动新连接,选择通过 SSH 的标准 TCP/IP作为连接方式
  2. 为 SSH 设置输入 EC2 实例的以下相关详细信息:
    SSH 主机名:输入 EC2 实例的公有 DNS 名称。
    SSH 用户名:输入 EC2 实例的用户名。例如,“ec2-user”是 EC2 Linux 计算机的用户名。
    SSH 密钥文件:选择在创建 EC2 实例时使用的私有密钥。
  3. 输入 MySQL 实例设置的以下详细信息:
    MySQL 主机名:输入 RDS 数据库实例终端节点
    MySQL 服务器端口:输入 3306(或您使用的自定义端口)。
    用户名:输入 RDS 数据库实例的主用户名称。
    密码:输入 RDS 数据库实例的主密码。
  4. 选择测试连接
  5. 连接成功后,输入连接名称,然后保存连接。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?