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

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

新規登録して質問してみよう
ただいま回答率
85.35%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Amazon RDS

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

Docker

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

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

1246閲覧

AWS RDSの実体がわからない

salmon_trout

総合スコア7

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Amazon RDS

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

Docker

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2020/03/07 13:06

前提・実現したいこと

RDSを使用して、docker-compose.ymlに記載する場合の質問です。
下記のようなコードの例もあると思うのですが、
RDSに対してimage:mysql5.7を指定している理由がモヤっとしています。
RDSの実体がDockerimageならしっくりくるのですが、そんなはずもなく、なぜこの指定でRDSと接続できるのか教えていただきたいです、、、、

考えられるコード」

db: image: mysql:5.7 environment: - MYSQL_ALLOW_EMPTY_PASSWORD=yes ports: - "3306:3306"

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

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

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

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

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

guest

回答1

0

ベストアンサー

Docker-composeの利用環境はローカルだと解釈して回答いたしますが、
質問者様のDocker-compose.ymlではRDSに接続はできません。
というかDockerやDocker-composeはRDSへの接続とほぼ関係がありません
Docker-composeはあくまで指定されているmysql:5.7のコンテナを起動させているに過ぎず、
DBの接続には関わらないからです。

例えばRailsでは
database.ymlにてDBの接続設定を行います、
以下の例ではhostにDocker-composeで起動中のmysqlコンテナのservice名であるdbを指定しています。
なので接続先はDocker-compose.ymlで設定したimage: mysql:5.7です。

databaseyml

1default: &default 2 adapter: mysql2 3 encoding: utf8mb4 4 pool: 5 5 username: root 6 password: password 7 host: db

RDSに接続させる場合はhostに自身が作成したRDSのエンドポイントを指定します

databaseyml

1 ~~~ 2 username: myrdsusername 3 password: myrdspassword 4 host: myapp-database1.cshfdsiduh5.ap-northeast-1.rds.amazonaws.com 5 ~~~

つまり、MySQLを使うか、RDSを使うかの設定を行なっているのは
Railsであればdatabase.ymlですし、djangoはsettings.py、laravelならdatabase.php(多分)です

RDSの実態はどこか遠くでずっと動いてくれているDBで、使うにはFWごとにDB設定を行うファイルに
RDSの場所を教えてあげる感じかなぁと思います。
見当違いな回答してしまっていたらみなさまご指摘いただければと思います・・・

投稿2020/03/07 22:30

編集2020/03/07 22:39
H4L

総合スコア88

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

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

salmon_trout

2020/03/08 09:34

スッキリしました、、、丁寧な回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問