質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.21%

RDSに接続できない

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 2,335

nifch

score 23

Amazon RDSにうまく接続できません。次の2通りの方法で接続を試みましたが接続失敗となります。

1.EC2にphpMyAdminを用いてRDSに接続
EC2にSSH接続し、phpMyAdminをインストールしmysqlコマンドを用いて接続を試みました。
しかし
ERROR 2003 (HY000): Can't connect to MySQL server on 'name' (110)
となり接続に失敗しました。
更にApexをインストールし、http://ip/myphpadminにアクセスし、ログインを試みましたが接続に失敗しました。
下記のサイトを参考にセットアップを行い、相違なく設定を終えているはずです。
https://qiita.com/John-Smith/items/d85118c6f498f953282d
ユーザ名、パスワードともに間違っていないようです

2.Macのターミナルより直接接続
こちらを参考に接続を試みましたが同様に失敗しました。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

RDSとEC2は同じリージョンにあることを前提に回答します。
次の順に確認してみてください

1.RDSのセキュリティグループのInBoundに、EC2のセキュリティグループが登録されていること
2.EC2から次のコマンドでMySQLに接続できること

mysql -h RDSエンドポイント -uユーザー名 -p

3.phpmyadminの設定ファイルconfig.inc.phpに次の設定があること

デフォルトではlocalhostに設定されているはずです

$cfg['Servers'][$i]['host'] = 'RDSエンドポイント';

4.EC2のセキュリティグループのInBoundに、HTTP、マイIPで登録されていること

これらを順に確認いただけますか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/11 17:55

    丁寧なご回答ありがとう御座います。
    ご案内いただいた内容を順に確認しました。

    同リージョン下にあること、EC2、RDSにエラーなどがないことを確認した上で、試行しました。

    1.RDSのセキュリティグループ 
    inboundにEC2のセキュリティグループは登録されています

    2.コマンド 
    mysql -h RDSエンドポイント -u マスタユーザ -p 3306
    で接続を試みました
    ERROR 1045 (28000): Access denied for user 'username'@'172.31.85.28' (using password: YES)
    接続できないようです。
    やはりセキュリティグループの問題なのでしょうか?

    3.config.inc.phpを確認しました。
    RDSエンドポイントは問題なく指定されていました

    4.すみません。これはEC2のセキュリティグループに何を追加すればよろしいのでしょうか?

    キャンセル

  • 2019/04/11 17:59

    2について、この接続がうまくいかない限りどうしようもありません。
    ユーザー名とパスワードは間違いないかよく確認してみてください。

    4については、マイIPを選択すればいいです。
    パスワードで保護されているなどの理由でセキュリティ上問題なければ 0.0.0.0/0 でも構いません。

    キャンセル

  • 2019/04/12 14:24

    先程改めてセキュリティグループを確認いたしました。
    どうやらソースの部分に、勘違いしてEC2のパブリックIPを入れていたことが原因のようでした。
    プライベートIPをいれmysqlコマンドを叩いたところ接続できました。

    ご丁寧にご回答下さり誠にありがとうございました。おかげさまで解決いたしました。

    キャンセル

+2

デフォルトでは外部から接続できないはずなのでまずはセキュリティグループの設定で
EC2からの接続を許可する。

MacからはEC2を踏み台として接続。

https://dev.classmethod.jp/cloud/aws/pc-to-rds/

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/11 14:39

    ありがとうございます。やはりセキュリティグループの設定がうまく行っていないのが原因のようです。
    RDSのセキュリティグループにはmysql ポート3306 [EC2のセキュリティグループid]をインバウンドに追加し許可をしているのですがそれでは間違いなのでしょうか。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.21%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる