15

Postgre JDBC ドライバーを使用して SQL Workbench/J から Redshift データベースに接続しようとしていますが、接続できません。「接続試行に失敗しました」というエラーが表示されます。jdbc ドライバーが適切に配置されている。Aginity Workbench for Redshift も試しましたが、データベースのリストを表示できませんでした。フォームのデータベースへの接続 URL がありますが、jdbc:postgresql://host:port/name_of_database驚くべきことに、ホストに ping を実行することさえできませんでした。Amazon コンソールから、データベースの状態が良好であることがわかります。だから、私の質問は次のとおりです。

  1. Redshift db サーバーに ping を実行できないのはなぜですか?
  2. db サーバーに ssh する方法はありますか?

Edit1: パブリック IP をセキュリティ グループに追加した後、ホストは ping 中に解決されますが、それでも 100% のパケット損失があります。

Edit2: EC2-Classic では正常にデータベースをホストできましたが、EC2-VPC ではホストできませんでした。パブリック IP が不足しているため、100% のパケット損失がある VPC でデータベースを再ホストしようとしました。

4

4 に答える 4

17

IP アドレス ブロックをクラスターのセキュリティ グループに追加する必要があります。

これは、他のセキュリティ グループ (つまり、VPC) とは別のものです。

Redshift コンソールの左側にあります。https://console.aws.amazon.com/redshift/

于 2013-11-08T14:28:50.383 に答える
5

ローカル マシンから psql 経由で VPC の Redshift クラスターに接続しようとしていました。セキュリティ グループのインバウンド ルールにローカル IP/CIDR を明示的に追加する必要があることがわかりました。

このメニューは、AWS コンソールの [サービス] > [VPC] > [セキュリティ グループ] にあります。次に、クリックしてセキュリティ グループを編集すると、ページの下部に [受信規則] タブが表示されます。例:


インバウンド ルール メニューの例

これまで CIDR に詳しくなかったのですが、32 がデフォルトの CIDR のようです。私の場合、xx.xxx.xxx.xx/32 からのトラフィックを許可するインバウンド ルールを追加しました - xx.xxx.xxx.xx がローカル IP アドレスです。

于 2016-04-20T13:55:43.940 に答える
0

VPC 内の EC2 マシンから接続するだけで問題を解決できたようです。これは、Redshift クラスターを公開していないことを意味します。これは、クラスターを起動するときのオプションの 1 つです。

于 2016-04-20T23:39:47.077 に答える