2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2021年版 画像付き AWS ERROR 2003 (HY000): Can't connect to MySQL server

Last updated at Posted at 2021-03-27

#はじめに
今回AWSで2つ目のインスタンスを作成してEC2にてMySQLに接続するとERROR 2003 (HY000): Can't connect to MySQL server on下記のエラーが出た。

$ mysql -h RDSのエンドポイント.ap-northeast-1.rds.amazonaws.com -P 3306 -u username -p
Enter password: ************
ERROR 2003 (HY000): Can't connect to MySQL server on

MySQLが繋がらないというエラーに遭遇しこれの解決を備忘録として投稿します。

#投稿者の環境
MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)
macOS Big Sur バージョン11.0.1
PHP 7.3.23
Laravel Framework 6.20.7

#考えられる原因
インスタンスとRDSのセキュリティグループが関連づけられていないのが今回の原因

#RDSのセキュリティグループを確認

VPC セキュリティグループを確認

  1. AWSコンソール > [RDS] > [データベース] > 対象のDB識別子リンクで確認したい詳細画面表示
    2.[接続とセキュリティ]タブ > [VPC セキュリティグループ]のリンクでVPC セキュリティグループをクリックして中身を確認

“スクリーンショット” 2021-03-27 12.05.53.jpg

インバウンドルールを編集

インバウンドルールを編集をクリック

“スクリーンショット” 2021-03-27 12.22.02.jpg

インバウンドルールの中身を確認

ここからが重要です!!
RDSのセキュリティグループにあるインバウンドルールが結びつけたいインスタンスのセキュリティグループと関連づけているのかを確認してください!
私の場合はインスタンスのセキュリティグループの名前にEC2-of-study-postsiteと名付けています。今回はこちらがちゃんと関連づけているのが確認できます。
“スクリーンショット” 2021-03-27 12.15.18.jpg

#インスタンスのセキュリティグループを確認
###インスタンス確認
次に問題のあるインスタンスを確認して下さい。
インスタンス > 問題があるインスタンスをクリック > セキュリティタブをクリック > セキュリティグループを確認して下さい。今回はlanch-wizard-4がEC2のセキュリティグループに関連づけられています。
RDSのセキュリティグループはEC2-of-study-postsite
インスタンスのセキュリティグループはlanch-wizard-4
これらが矛盾しているためMySQLを探すことができないです。

“スクリーンショット” 2021-03-27 12.34.00.jpg

###セキュリティグループを確認
問題のあるインスタンスレ点を入れる > アクション > セキュリティ > セキュリティグループを変更の順に進める。
“スクリーンショット” 2021-03-27 12.44.48.jpg

###問題のあるセキュリティグループを変更

  1. 問題のあるセキュリティグループを削除(セキュリティグループのデータは残ります)
  2. セキュリティグループを編集をクリック。
  3. クリックすると今まで保存されたセキュリティグループの一覧が表示されます。
  4. RDSに結びつけられたセキュリティグループを選択
  5. セキュリティグループを追加をすると下に反映されます
  6. 最後に保存をクリック

“スクリーンショット” 2021-03-27 12.48.53.jpg
“スクリーンショット” 2021-03-27 12.57.31.jpg

###EC2を立ち上げてMySQLの接続を確認

最後にMySQLの接続ができるかを確認しましょう!

//EC2ターミナルにて
 mysql -h RDSのエンドポイント.ap-northeast-1.rds.amazonaws.com -P ポート番号 -u admin -p

上記のターミナルの意味ですが纏めたサイトがあるので一部を抜粋しました。
“スクリーンショット” 2021-03-27 13.01.16.jpg

下記の画像の様に接続は完了されましたか?
“スクリーンショット” 2021-03-27 13.01.30.jpg

#最後に
今回はセキュリティグループが原因だったので解決できて良かったです。
AWSは概念なのでイマイチ分からないことが多いです。デプロイができたとしてもどこかが反映されていないことがこれからも増えると思います。

#参考文献
思考の葉
RDSでMySQLをつくる
@ponsuke0531さんのQiita

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?