簡體   English   中英

如何連接我的redshift數據庫?

[英]How do I connect with my redshift database?

我正在AWS上建立Redshift數據庫,並且已經按照本文中的說明進行操作-https: //chartio.com/resources/tutorials/connecting-to-a-database-within-an-amazon-vpc/

我無法連接到數據庫。

這是我的設置-

我有一個使用Amazon RDS旋轉的PostgreSQL數據庫實例。 該服務器通過兩個子網連接到Amazon VPC。

子網A設置在us-east-2c中。 它與具有兩個路由的路由表關聯。 第一個具有目的地10.0.0.0/16,目標“本地”,狀態“活動”和傳播“否”。 第二個目標為0.0.0.0/0,目標是與VPC關聯的Internet網關。

子網B設置在us-east-2b中。 它具有目的地10.0.0.0/16和目標“本地”。

PostgreSQL數據庫通過以下入站規則與安全組關聯:類型:自定義TCP規則,協議:TCP,端口范圍:5432,源:10.0.0.0/32。 沒有出站規則。

數據庫上的其他詳細信息:

-“公開訪問”設置為“否”

-它在us-east-2b中運行

此外,EC2上還有一個實例。 它在us-east-2c上。

它與具有以下入站規則的安全組關聯:

第一類:自定義TCP規則,協議:TCP,端口范圍:5432,源:10.0.0.0/32

第二類型:SSH,協議:TCP,端口范圍:22,源:(my-ip-address)/ 32

第三類型:SSH,協議:TCP,端口范圍:22,源:(安全組的組ID)

這兩個安全組都與具有以下設置的同一VPC關聯:IPv4 CIDR:10.0.0.0/16,IPv6 CIDR:(空白)。

我對設置的理解是EC2實例是公共的,我可以從我的SQL客戶端(Postico)SSH進入該實例。 然后,EC2實例將私下連接到Redshift數據庫。

這是我的問題-

a)我以前從未進行過設置,並且可能在不知情的情況下做了完全錯誤的事情。

b)我正在嘗試從Postico創建SSH連接。 我不知道要為“主機”或“端口”填寫什么值。 此外,我不知道“用戶”和“密碼”是指我計算機上帳戶的用戶名和密碼,還是完全指其他名稱。

我的目標只是能夠擁有一個公眾不可用的PostgreSQL數據庫,但允許我從我的SQL客戶端(Postico)訪問它。

我已經嘗試研究此問題,但是卻找不到滿足這些需求的令人驚訝的內容。 我對此並不陌生,因此,如果我缺少發布此文章所需的部分,或者如果我在某種程度上搞砸了,請提醒我,我會相應地進行更新。

您的入站安全組具有“源:10.0.0.0/32”,這意味着只有10.0.0.0可以連接到它,這是無效的主機地址。 更改/ 32以匹配您的網絡(/ 16)。

Redshift的端口通常是5439。您引用的是5432。

我不明白您的“ b”問題。 您要連接到什么?

[更新新信息]

我剛剛意識到您要做什么。

您的目標是使用SSH從桌面連接到EC2,然后連接到RDS。 這行不通。

解決方案是設置一個VPN,例如OpenVPN,該VPN允許您連接到AWS中的VPC,然后OpenVPN會將您的客戶端請求轉發到RDS(VPN路由)。

我要做的是使用OpenVPN設置EC2實例。 然后,當我需要對AWS的VPN訪問時,可以打開和關閉該實例。 我有從我的桌面執行此操作的批處理腳本(啟動和停止EC2實例)。

另一個選擇是允許Internet訪問RDS。 您可以使用安全組來鎖定僅對家庭/工作IP地址的Internet訪問。 根據您的Internet提供商的不同,您的IP可能會更改,這意味着使用新IP地址更新安全組,但這很容易做到。

此頁面將向您顯示您放入安全組的公共IP地址: 什么是我的IP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM