Amazon Redshift クラスターを使用していますが、接続できません。この問題を解決する方法を知りたいです。
簡単な説明
接続タイムアウトエラーは、Amazon Redshift クラスターでしばしば問題を引き起こします。次のようなエラーメッセージが表示されます。
「could not connect to server: Connection timed out
Is the server running on host "example.123456789.us-east-1.redshift.amazonaws.com" (255.255.255.255) and accepting、
TCP/IP connections on port 5439?"
この問題を解決するには、パブリックサブネットまたはプライベートサブネットにあるクラスターについて、以下のトラブルシューティング手順を実行します。
解決策
クラスターはパブリックサブネットにありますが、インターネットからアクセスできません
Redshift クラスターは、以下の基準が満たされるとインターネットからアクセスできます。
- パブリックにアクセス可能なクラスター設定を有効にしました。
- クラスターをパブリックサブネットにプロビジョニングしました。
- クラスターのセキュリティグループには、クラスターのポート番号へのソース IP アドレスまたは CIDR ブロック接続を許可するインバウンドルールが含まれています。
注: 次の手順を完了する前に、Amazon Virtual Private Cloud (VPC) にインターネットゲートウェイが接続されていることを確認してください。
クラスターの [パブリックにアクセス可能] 設定を有効にします。
- Amazon Redshift コンソールを開きます。
- [クラスター] を選択します。
- 接続するクラスターを選択します。
- [アクション] を選択します。
- [パブリックアクセス可能な設定を変更] を選択します。
- [パブリックにアクセス可能] のチェックボックスをオンにします。
- (オプション) Elastic IP アドレスを選択します。
- [変更を保存] を選択します。
クラスターがプライベートサブネットにあり、ローカルコンピューターから接続できません
クラスターをローカルマシンに接続するには、次の 2 つの方法があります。
- クラスターのサブネットをパブリックにします。
- Amazon Redshift クエリエディター v2 を使用してください。
**クラスターのサブネットをパブリックにする **
次の手順を実行します。
- Amazon Redshift コンソールを開きます。
- [クラスター] を選択します。
- 接続するクラスターを選択します。
- [構成] タブを選択し、[Cluster Properties] ページを開きます。
- [VPC を表示] を選択して Amazon VPC コンソールを開きます。
- ナビゲーションペインから、[ルートテーブル] を選択します。
- クラスターがあるサブネットに関連付けられているルートテーブルを選択します。
- [編集] を選択します。
- [ルートを追加] を選択します。
IPv4 トラフィックの場合:****[宛先] フィールドに、アクセスを提供する CIDR 範囲を入力します。[ターゲット] フィールドで、インターネットゲートウェイ ID を選択します。
IPv6 トラフィックの場合:****[宛先] フィールドに ::/0 と入力します。[ターゲット] フィールドで、インターネットゲートウェイ ID を選択します。
- [保存] を選択します。
Amazon Redshift クエリエディター v2 を使用する
ネットワーク設定を変更せずに Redshift クラスターに接続するには、クエリエディター v2 を使用してください。「Amazon Redshift データベースへの接続」の指示に従ってください。
別の VPC にある Amazon EC2 インスタンスからクラスターにアクセスできません
2 つの VPC 間に、VPC ピア接続を作成します。これにより、2 つの VPC がプライベート IP アドレスを介して相互に通信できるようになります。
-
「VPC ピアリング接続を作成して承認する」手順に従ってください。
**注:**VPC が同じ AWS アカウントにある場合は、IPv4 CIDR ブロックが重複していないことを確認してください。
-
両方のルートテーブルを更新します。
-
ピア VPC グループを参照するようにセキュリティグループを更新します。
-
Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで、ネットワークユーティリティを使用して VPC ピアリング接続をテストします。以下の例では、SourceForge ウェブサイトで ](https://nc110.sourceforge.io/)netcat[ を使用しています。
nc -zv HOSTNAME PORT
VPC ピアリング接続に成功すると、次の例のような出力が表示されます。
$ nc -zv example.123456789.us-east-1.redshift.amazonaws.com 5439
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif en0
src xx.xxx.xxx.xx port 53396
dst xx.xxx.xxx.xxx port 5439
rank info not available
TCP aux info available
Connection to example.123456789.us-east-1.redshift.amazonaws.com port 5439 [tcp/*] succeeded!
関連情報
クラスターへのアクセスを許可する
VPC 内のクラスターの管理
VPC ピアリング接続での作業
ルートテーブルを操作する