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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon VPC

Amazon VPC(Amazon Virtual Private Cloud) は、仮想的なネットワークです。 独自の IP アドレスレンジの選択、サブネットの作成、ルートテーブル、 ネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロール可能です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

0回答

1157閲覧

AWSのEC2・VPC・RDSでWebサーバーとDB構築したが、疎通確認ができない。

lawsoncoffee

総合スコア46

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Amazon VPC

Amazon VPC(Amazon Virtual Private Cloud) は、仮想的なネットワークです。 独自の IP アドレスレンジの選択、サブネットの作成、ルートテーブル、 ネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロール可能です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2022/04/26 15:18

編集2022/04/26 15:26

Qiitaの以下の記事を参考に、WebサーバーとDB構築しました。
https://qiita.com/MayForBlue/items/c96674fb6aac5852a978

全て完了し、ターミナルから以下も完了を確認できました。

・SSHでEC2インスタンス(Webサーバー)に接続 ssh ec2-user@【EC2インスタンスのパブリックIPアドレス】 -i 【pemキーのパス】 ・WebサーバーのMySQLクライアントからRDSに接続 mysql -h 【エンドポイント】 -P 3306 -u 【ユーザー名】 -p ・ターミナルからDB/テーブル内のデータの確認も済み

ところが、引用記事の最後の「ブラウザに【EC2インスタンスのパブリックIPアドレス】/index.phpを入力」を試すと、
ブラウザ上では、「接続失敗」となってしまいます。

ブラウザの管理画面のネットワーク部分でE2CのパブリックIPアドレスの部分は200になっていたため、
PHPファイルの引用元の記事が間違っているor私の設定ミスを鑑みて、

以下のcurlコマンドを使用して、確認しましたが、タイムアウトになって接続できませんでした。
curl -v telnet://[RDSインスタンスのエンドポイント]:[ポート番号]

E2CとRDS間の接続がうまくいっていないのかなと感じましたが、調べてもよくわからないで詰まってしまっています。
心当たりなどございましたら、ご教授いただけると幸いです。

以下、curl -v telnet://[RDSインスタンスのエンドポイント]:[ポート番号]実行時のログです。

* Trying [RDSインスタンスのエンドポイント]... * Connection failed * connect to [RDSインスタンスのエンドポイント] port 3306 failed: Operation timed out * Failed to connect to [RDSインスタンスのエンドポイント] port 3306: Operation timed out * Closing connection 0 curl: (28) Failed to connect to [RDSインスタンスのエンドポイント] port 3306: Operation timed out

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tabuu

2022/04/26 23:06

>全て完了し、ターミナルから以下も完了を確認できました。 >・WebサーバーのMySQLクライアントからRDSに接続 >mysql -h 【エンドポイント】 -P 3306 -u 【ユーザー名】 -p >E2CとRDS間の接続がうまくいっていないのかなと感じましたが、 最初に確認が完了とありますが、どのあたりで接続が上手く行っていないと感じたのですか?
lawsoncoffee

2022/04/26 23:52

curl -v telnet://[RDSインスタンスのエンドポイント]:[ポート番号] こちらのコマンドが成功終了しなかったためです。 上記コマンドは下記の記事を参考にしました。EC2(Linux)からのRDS疎通確認と記載があったので、単純にE2CとRDS間の接続がうまくいっていないと考えました。 https://oji-cloud.net/2019/10/04/post-3184/
lawsoncoffee

2022/04/27 00:03

なお、上記記事のトラブルシューティングに関しては、以下の観点から問題ないと判断しました。 >EC2、RDS間のサブネットが通信できることを確認します。具体的には、ルーティングが設定されていることを確認します。(同一のVPCに配置されたEC2からのアクセスであれば、特に変更の必要はない) →EC2、RDS共に同一のVPCに配置しているため問題ない認識。 >EC2、RDS間の通信が許可されていることをセキュリティグループで確認します。シンプルな方法は、自グループのみDBのアクセスを許可するセキュリティグループを作成し、EC2およびRDSにアタッチする方法です。 →RDSはプライベートに設定し、rdsのセキュリティグループのインバウンドルールにEC2のセキュリティグループに設定しているため、問題ない認識。
tabuu

2022/04/27 01:48

>・WebサーバーのMySQLクライアントからRDSに接続 >mysql -h 【エンドポイント】 -P 3306 -u 【ユーザー名】 -p 色々試されていますが、こちらの接続を確認されている時点でセキュリティやネットワーク関係は問題ないでしょう。 PHPからアクセスできないのであればライブラリがロードされているか、 ライブラリの使い方はあっているか、 PHPからアクセスするMySQLのユーザやパスワードはあっているか、 などご確認ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問