Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何从位于不同 VPC 中的 Amazon SageMaker 笔记本电脑实例连接到 Amazon RDS 数据库实例?
我想将 Amazon SageMaker 笔记本电脑实例连接到位于其他虚拟私有云(VPC)中的 Amazon Relational Database Service(Amazon RDS)数据库实例?
解决方法
1. 创建 VPC 对等连接。
2. VPC 对等连接处于活动状态后,更新路由表。RDS 数据库实例子网和 SageMaker 笔记本实例子网必须有相互之间的路由。例如,对于以下 CIDR 数据块:
**SageMaker VPC CIDR 数据块:**192.168.0.0/16
**RDS 数据库实例 VPC CIDR 数据块:**10.0.0.0/24
Amazon RDS 数据库实例子网路由表如下所示:
| 目标 | 目标 |
| 10.0.0.0/24 | 本地 |
| 192.168.0.0/16 | 从下拉列表中选择 VPC 对等连接 |
SageMaker 笔记本实例子网路由表如下所示:
| 目标 | 目标 |
| 10.0.0.0/24 | 从下拉列表中选择 VPC 对等连接 |
| 192.168.0.0/16 | 本地 |
3. 确认两个安全组都配置正确。要允许从笔记本电脑实例到 RDS 数据库实例的流量:
**在笔记本电脑实例安全组上:**确保存在允许流量到 RDS 数据库实例的出站规则。
**在数据库实例安全组上:**确保存在允许笔记本电脑实例的安全组、VPC CIDR 数据块或子网 CIDR 数据块的入站规则。
4. 要测试连接,请在 SageMaker 笔记本电脑实例的终端中运行以下命令。替换示例中的以下值:
**mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:**数据库实例端点
**3306:**数据库实例端口
curl -v mydatabase.c5y9vfc8igjj.ap-southeast-2.rds.amazonaws.com:3306
问题排查
如果笔记本电脑实例激活了直接互联网访问,则测试命令可能会失败(例如,“连接超时”)。如果发生这种情况,请运行以下命令以在操作系统级别检查笔记本电脑实例的路由表:
route -n
激活直接互联网访问后,路由表与以下内容类似:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0 10.0.32.0 0.0.0.0 255.255.224.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.255.0 U 0 0 0 veth_def_agent 169.254.169.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-5a785eca34a3 192.168.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth2 192.168.0.0 192.168.0.1 255.255.0.0 UG 0 0 0 eth2
在此示例中,数据库实例的 VPC CIDR 数据块为 10.0.0.0/24。操作系统的路由表没有到 10.0.0.0/24 的路由。相反,到 RDS VPC CIDR 数据块的流量使用处理公共流量的主网络接口 (eth0)。要解决连接问题,请将路由表修改为使用 eth2,这是笔记本实例的 VPC 弹性网络接口:
1. 请注意 SageMaker VPC 路由器地址。在此示例中,192.168.0.0/16(笔记本实例的 VPC CIDR 数据块)路由到 192.168.0.1。这意味着 192.168.0.1 是 VPC 路由器地址。
2. 将路由添加到笔记本实例终端的路由表中。替换示例中的以下值:
10.0.0.0/24:RDS 数据库实例的 VPC CIDR 数据块
192.168.0.1:SageMaker 笔记本实例的 VPC 路由器地址
sudo ip route add 10.0.0.0/24 via 192.168.0.1 dev eth2
3. 确认新路由在路由表中:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.16.0.1 0.0.0.0 UG 0 0 0 eth0 10.0.0.0 192.168.0.1 255.255.255.0 UG 0 0 0 eth2 10.0.32.0 0.0.0.0 255.255.224.0 U 0 0 0 eth1 169.254.0.0 0.0.0.0 255.255.255.0 U 0 0 0 veth_def_agent 169.254.169.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.224.0 U 0 0 0 eth0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-5a785eca34a3 192.168.0.0 0.0.0.0 255.255.128.0 U 0 0 0 eth2 192.168.0.0 192.168.0.1 255.255.0.0 UG 0 0 0 eth2
4. 再次测试连接。
**注意:**对操作系统路由表的更改不会在笔记本电脑实例会话之间保留。这意味着当您停止并启动 SageMaker 笔记本实例时,您将丢失更改。为了缓解这种情况,请使用生命周期配置在每次启动笔记本实例时添加路由。
相关信息
- 语言
- 中文 (简体)

相关内容
AWS 官方已更新 3 年前