EC2インスタンスとRDSDBインスタンスが異なるVPCにある場合は、VPCピアリングを使用して2つのVPCを接続している可能性があります。ただし、あなたの場合、両方が同じVPCにあります。それは良い。 RDS DBインスタンスがプライベートサブネットで起動され、EC2インスタンスがパブリックサブネットで起動されていることを確認してください。
EC2インスタンスでRDSDBインスタンスを接続するには
- RDS DBインスタンスセキュリティグループでは、EC2インスタンスのトラフィックを開く必要があります。
- DBセキュリティグループをクリックします RDSダッシュボードから。 インバウンドをクリックします タブ。 [編集]ボタンは、セキュリティグループにルールを追加または削除するために使用されます。
- データベースにアクセスするためのEC2インスタンスのルールを追加します。たとえば、DBインスタンスでMySQLDBエンジンを起動したとします。 EC2インスタンス用に3306ポートを開く必要があります。 EC2インスタンスのプライベートIPを使用して、RDSDBインスタンスに接続できます。
- EC2インスタンスにSSHで接続し、
mysql-server
をインストールします パッケージ。mysql-server
を使用してRDSDBインスタンスに接続する必要があります 。 -
mysql --host=<my-hostname> --port=3306 --user=<user> --password=<password>
RDSDBインスタンスとの接続に使用されるコマンド。
MySQLWorkBenchでRDSDBインスタンスを接続するには
-
MySQL WorkBenchで、新しい接続のセットアップをクリックします。 。
-
接続名を付けます。 SSH経由の標準(TCP / IP)を選択します 。 SSHホスト名、ユーザー名、キーファイル、およびMySQLホスト名、ポート、ユーザー名、パスワードを指定する必要があります。
-
SSHクレデンシャルは、EC2インスタンスのクレデンシャルとは異なります。 Keyfileの場合、KeyPair(.pem)ファイルを参照する必要があります。 RDSホスト名では、RDSダッシュボードで使用できるエンドポイントを指定する必要があります。
-
接続を確認するには、接続のテストをクリックします ボタン。
SSH経由の標準(TCP / IP)を選択する理由 EC2インスタンスを介してRDSDBインスタンスを接続することです。まず、EC2インスタンスに接続してから、RDS DBインスタンスにアクセスします。これは、DBインスタンスがインターネットにアクセスできず、プライベートサブネットにあるためです。
Java Webアプリケーションで、RDSのホスト名、ポート、ユーザー名、およびパスワードが正しいことを確認してください。アプリケーションでEC2ホスト名を指定する必要はありません。