如何從位於不同 VPC 中的 Amazon SageMaker 筆記本執行個體連接到 Amazon RDS 資料庫執行個體?
我想要將 Amazon SageMaker 筆記本執行個體連接到位於不同虛擬私有雲端 (VPC) 中的 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體。
解決方法
1. 建立 VPC 對等互連。
2. VPC 對等連線啟動後,請更新路由表。RDS 資料庫執行個體子網路和 SageMaker 筆記本執行個體子網路必須具有彼此之間的路由。例如,針對下列 CIDR 區塊:
**SageMaker 虛擬私人雲端 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
在此範例中,資料庫執行個體的虛擬私人雲端 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 筆記本執行個體時,變更就會遺失。若要減少出現此問題,請在每次啟動筆記本執行個體時,使用生命週期組態來新增路由。
相關資訊
相關內容
- 已提問 1 年前lg...
- 已提問 1 年前lg...
- 已提問 5 個月前lg...
- 已提問 2 年前lg...
- 已提問 2 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前