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

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

新規登録して質問してみよう
ただいま回答率
85.50%
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サーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

9765閲覧

ec2からrdsに接続できない(多分セキュリティグループの設定)

lin.ming

総合スコア50

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サーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/03/03 23:51

編集2020/03/04 07:33

##やりたいこと
ec2からrdsのMariaDBに接続して、WordPressやMediaWikiを使いたいです。

##やったこと
ec2のインスタンスを作成。ApacheやMariaDBをインストールしました。
ec2のIPv4 パブリックIPは18.180.xx.xx
ec2のIPv4 プライベートIPは172.31.yy.yy
ec2のIPv4 CIDRは172.31.32.0/20

ec2のデフォルトのセキュリティグループの設定がガバガバだったので、新たに作りました。
インバウンドはSSH, HTTP, HTTPS, SMTPにどこからも許可
アウトバウンドはどこへでも許可

rdsのデータベースをMariaDBで作成。無料利用分で作れるやつです。
rdsのVPCはvpc-60eae999
rdsのサブネットグループは

ap-northeast-1a subnet-e7c20aaa 172.31.32.0/20 ap-northeast-1d subnet-f7cebbb 172.31.16.0/20 ap-northeast-1c subnet-392eccc 172.31.0.0/20

##やったこと2
ec2にSSHでログインして、以下のコマンドを実行

~~mysql -h [MariaDBのグローバルアドレス] -P 3306 -u admin -p~~ mysql -h [MariaDBのエンドポイント] -P 3306 -u admin -p

パスワードは入力できるが、rdsの反応がなく、タイムアウトします。

~~ping [MariaDBのグローバルアドレス]~~ ping [MariaDBのエンドポイント] ```を叩いてみたのですが、未到達です。 ##自分なりに考えた原因 セキュリティグループかサブネットグループの設定が、ec2とrdsを通信できるようになっていない。 ##お聞きしたいこと セキュリティグルーブやサブネットグループをどのように設定すれば通信できるようになるか、知りたいです。 漠々とした質問ですみません。指摘されたことを追記していきますので、どうか語教示ください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

[MariaDBのグローバルアドレス]

これが何を指しているのかわかりませんが、RDSのエンドポイントのことですかね?
もしそうであれば「グローバルアドレス」という記載は不正確です。

rdsのサブネットグループ

実際にRDSが配置されているサブネットはどれですか?
また、EC2インスタンスが配置されているサブネットについても追記してください。

そもそもタイムアウトしているのなら、仰るとおりセキュリティグループかサブネットの設定である可能性が高いです。

RDSのセキュリティグループの設定はどうなっていますか?
それがEC2インスタンスのプライベートIPを含むIPレンジ、もしくはEC2インスタンスに関連付けられているセキュリティグループからの3306ポートに対する接続を許可していなければ当然タイムアウトします。

もしそれでうまく行かない場合はサブネットのルートテーブルの設定が怪しいです。
そのVPCは後から作ったものですか?

投稿2020/03/04 02:56

yu_1985

総合スコア7427

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

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

lin.ming

2020/03/04 07:29

グローバルアドレスでなく、RDSのエンドポイントでした。 RDSが配置されているサブネットはどのようにしたら調べれますか? EC2が配置されているサブネットは、subnet-e7c20xxxです。 IPv4 CIDRは172.31.32.0/20です。 RDSのセキュリティグループはsg-91bef5xxです。 インバウンドは、 すべてのトラフィック すべて すべて sg-91bef5xx (default) アウトバウンドは、 すべてのトラフィック すべて すべて 0.0.0.0/0 です。 VPCはRDS作成時に自動的に作られていたものです。 他に補足する事項がありましたら、ご教示ください。
yu_1985

2020/03/04 07:36

> RDSが配置されているサブネット コンソールから見られるはずです。 セキュリティグループの設定は書いても分かりづらいのでスクリーンショット等のほうがありがたいです。 文字で書いても不正確なのでスクリーンショットとかのほうがいいですね。 ただ、それを見る限りVPCのデフォルトのセキュリティグループからの通信しか許可していないので、EC2にデフォルトのセキュリティグループを関連付けていなければ当然通信ができなくてタイムアウトになります。 今現在EC2インスタンスに関連付けているセキュリティグループからの通信か、EC2インスタンスのIP(ここではプライベートIPでOKです)が含まれるIPレンジからの通信をインバウンドで許可してください。
lin.ming

2020/03/04 08:22

すみません、RDSが配置されているサブネットを、コンソールから確認する手順がわかりません。 ご教示いただけるとありがたいです。 EC2に関連づけられているセキュリティグループの設定は、 インバウンド : SSH, HTTP, HTTPS, SMTP・ソースは 0.0.0.0/0 アウトバウンド : プロトコル : 全て、ボート : 全て、送信先は 0.0.0.0/0 です。 > 今現在EC2インスタンスに関連付けているセキュリティグループからの通信か、 > EC2インスタンスの>IP(ここではプライベートIPでOKです)が含まれるIPレンジからの > 通信をインバウンドで許可してください。 すみません、これの具体的な方法がわかりません。 素人質問で焦れったいと思いますが、お付き合い頂けますとありがたいです。
yu_1985

2020/03/04 08:32

Availability Zoneが分かればどのサブネットに配置されているかわかるはずです。 が、それよりもまずセキュリティグループの設定です。 RDSに設定されているセキュリティグループのインバウンドを編集してください。(さすがにコンソールを見れば編集の仕方はわかりますよね…?) 設計方針次第ですが、とりあえず通信すればいいのであればインバウンドに下記を追加してください(アウトバウンドは編集不要です) タイプ: MS SQL(これを設定するとTCPの1433ポートが自動で入ります) ソース: カスタム sg-xxxxxxxxxx(EC2に設定したセキュリティグループのID) 説明は任意ですが日本語を入れるとエラーになるので入力するならアルファベットで入れてください。 EC2のプライベートIPを直接指定してもとりあえずはOKです https://hacknote.jp/archives/39927/ 調べれば色々出てくるので後で見てみてください。
lin.ming

2020/03/04 23:39

Availability Zoneはap-northeast-1でした。 よってサブネットはsubnet-e7c20xxxです。 RDSのセキュリティグループのインバウンドを編集しました。 ソースにEC2に設定したセキュリティグループのIDを設定したところ、 無事にmysqlコマンドで接続できました! 素人質問にわざわざ付き合っていただいてありがとうございます。
yu_1985

2020/03/04 23:58

念の為お伝えしておくと、「ap-northeast-1」はリージョンです。 ap-northeast-1a/1c/1dのどれかを見る必要がありました。 サブネット間の通信が問題ではなかったので結果的には不要でしたけど。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問