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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

0回答

1794閲覧

ローカルのコンテナからRDSへ接続する

m-ishii

総合スコア0

Amazon RDS

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2022/02/21 08:03

Windows上のDockerコンテナからRDSへ接続したい

WindowsのDocker DesktopでPHP(Laravel)とmysqlのコンテナを作成しプログラムを書いています。
AWS RDS上のデータを扱う必要ができましたが、下の2種類のエラーで踏み台サーバーを経由しての接続がうまくいきません。

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from `sessions` where `id` = P***********kBYKtSkPPZT87c limit 1) SQLSTATE[HY000] [1045] Access denied for user 'root'@'172.23.0.3' (using password: YES) (SQL: select * from `sessions` where `id` = l3TZMHAMqrC***********QB3mXkwRVo limit 1)

必要な作業は以下のように理解しています。

  1. [phpコンテナ]->[windows] コンテナ内の/etc/hostsでwindowsマシンのIPを確認し、mysqlの接続先を向ける。
  2. [windows]->[踏み台サーバー] sshポートフォワーディングで、ローカルの3306ポートとRDSのエンドポイントの3306をつなげる。
  3. [踏み台サーバー]->[RDS] セキュリティグループに3306が登録されていることを確認する。

以下が試したことです。

[phpコンテナ]->[windows]

コンテナから見たwindowsのアドレスを確認する。起動ごとに変動する。

127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.23.0.2 f3f96a1f0a67

一番下の172.23.0.2をmysqlのホストとして設定しました。

[windows]->[踏み台サーバー]

まずSSH接続が行えるかを確認し、正常に接続できたのでポートフォワーディングの設定を行いました。
エラーは出ませんでしたが、RDSではpingを受け付けないそうで、正常に繋がっているかが確認できませんでした。

ssh -f -N -L 3306:[RDSのエンドポイント]:3306 -i [pemキーのパス] -4 -l ec2-user ec2-user@[踏み台サーバーのIPアドレス]

[踏み台サーバー]->[RDS]

セキュリティグループのインパウンドルールに3306が登録されていることを確認しました。

上記の作業を行い、コンテナ内からSSHポートフォワードを行う等も試しましたが、状況は変わりませんでした。
確認すべきことなどがありましたらご教授ください。

補足情報(FW/ツールのバージョンなど)

Windows10
Docker Desktop 4.4.3

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問