1

NATを使用しない1つのサブネット上でRDSインスタンスを実行し、インターネットゲートウェイを構成した別のサブネット上で実行するEC2インスタンスを両方とも同じVPCに配置します。 RDSインスタンスを公開しないように設定しました。NATなしで異なるサブネット上のEC2からRDSに接続

私は私のリモートEC2で次のコマンドを使用していますRDSインスタンスに接続する(第2のサブネット上で実行されている):

mysql -h xxxx.eu-central-1.rds.amazonaws.com -P 3306 -u root -p 

私はRDSを構成する際に、私が設定した正しいパスワードを入力して、次のエラーが表示されます。

Can't connect to MySQL server on xxxx.eu-central-1.rds.amazonaws.com

私は間違っていますか?何か不足していますか?

答えて

3

ほとんどの場合、RDSサーバーに割り当てられているセキュリティグループでポート3306を開く必要があります。特に、ポート3306で入力を許可するルールを作成し、ソースにはEC2サーバーに割り当てられたセキュリティグループのIDを使用します。

+0

受信ポート3306が開いています。 'インバウンド'はサブネット自体にのみ、またはVPC全体に適用されますか? – Theodore

+0

何を開いたのですか?すべてのトラフィックですか?そうであれば、それはVPC全体に適用されます。私はちょうどあなたの質問をもう一度チェックしました、あなたは 'ルート'が正しいアカウントですか? RDSインスタンスの 'root'データベースアカウントにアクセスすることはできません。 –

+0

コンソールでRDSを設定していたときに、ユーザ名を尋ねられました。私は 'root'を選択しました。問題は、間違ったユーザ名やパスワードのエラーを返さないということです。私は、数分待ってからMySQLから「接続できませんでした」というエラーが出るだけです。 – Theodore

0

サブネットおよび/またはPostgreSQLインスタンスのセキュリティグループ入力規則では、PostgreSQL用にポート3306を開く必要があります。デフォルトのポートを変更した場合は、代わりにそのポートを使用する必要があります。

EC2インスタンスは、インターネットに接続する必要はありません。セキュリティグループで適切なポートを開くだけで済みます。

EC2セキュリティグループ内のすべての出力データを許可しない場合は、出力ポート3306がEC2セキュリティグループ上でRDSセキュリティグループに対して開かれていることを確認する必要があります。

+0

これは私の[acl設定](http://i.imgur.com/2NXP4mL.png)と[セキュリティグループ設定](http://i.imgur.com/SXkE0ed.png)です。ご覧のように、セキュリティグループのポートは、前述したように設定されています。私が紛失しているものはありますか? – Theodore

関連する問題