EC2とRDSの接続が上手くいきません「Can't connect to local MySQL server through socket~」.....rake aborted!

前提

以下の構成を前提としています。
Webアプリケーションサーバー1つと、DBサーバーのSingle AZ構成。

<Webアプリケーション側>
ruby 2.6.3
Rails 6.1.3.1
Node v15.14.0
yarn 1.22.18

<データベース側>
・AWS RDS
エンジン:MySQL Community
サイズ :db.t2.micro

実現したいこと

GitHub上に公開されているRailsアプリケーションをAWS RDSを使用して、AWS EC2上で起動させることを目的としています。

発生している問題・エラーメッセージ

Running via Spring preloader in process 21276 Can't connect to local MySQL server through socket '********.********.***********.amazonaws.com' (2) Couldn't create 'raisetech_live8_sample_app_development' database. Please check your configuration. rake aborted! ActiveRecord::ConnectionNotEstablished: Can't connect to local MySQL server through socket '********.********.***********.amazonaws.com' (2) -e:1:in `<main>' Caused by: Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '********.********.***********.amazonaws.com' (2) -e:1:in `<main>' Tasks: TOP => db:create (See full trace by running task with --trace)

試したこと

①「前提」に記載、「Webアプリケーション側」の環境を用意。
②Githubのアプリケーションをクローンリポジトリで用意。
③「bundle install」「bundle update」の実行して、Railsアプリケーションのgemを読み込む。

④「database.yml」にて、以下の情報をAWS RDS作成時の情報に変更。
・IDとパスワード
・ソケット情報「/tmp/mysql.sock」をRDSのエンドポイントに変更

⑤「rails s」でアプリケーションを起動させ、アクセスしましたが、「申し訳ございません。このページに到達できません127.0.0.1 により、接続が拒否されました。」と表示された。

⇒DB側との接続を確認することに。

⑤参考のサイトをもとに「bundle exec rails db:create」を実行。

bundle execとつけて実行すると,そのRailsプロジェクトのGemfileで指定された環境で実行する事ができるようになります.

<参考サイト>https://qiita.com/windhorn/items/0f58866291f8273f18fb

⇒今回のエラーを確認しました。

⑤発生したエラーが「rake aborted!」だったため、以下を実行しました。
・gem install rake -v 12.3.3
・bundle update rake

⇒事象は解消しませんでした。

WebアプリケーションやMySQLを触り始めたばかりで情報不足や認識間違いがあるかとは存じますが、何卒お知恵を拝借できないでしょうか。

どうぞよろしくお願いいたします。

コメントを投稿

0 コメント