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

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

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

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

Amazon RDS

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Docker

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

AWS(Amazon Web Services)

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

Q&A

解決済

2回答

5830閲覧

AWSでDockerコンテナ利用時のRDSでのDBの設置方法のベストプラクティスを教えて頂けませんか?

fcsapu

総合スコア8

docker-compose

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

Amazon RDS

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

Docker

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

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2021/04/18 06:59

編集2021/04/18 08:45

webアプリのポートフォリオ(LAMP環境)をローカル開発環境(docker-composeを利用)で作成完了しました。これから、本番環境のAWS(ECS on Fargate)でDockerコンテナを利用してデプロイ予定です。現段階では、ECS上で、アプリのソースコードや画像ファイルや設定ファイルなどをマウントしたphp:7.2-apacheコンテナを起動するまでの流れは、具体的に考えています。

※ローカル開発環境は、以下の3つのコンテナイメージをdocker-composeを使い、作成しました。
・php:7.2-apache
・mysql:5.7
・phpmyadmin/phpmyadmin:latest

質問:
~~①本番環境のAWSではMySQLをRDSで利用しようと考えています。
その場合、mysql:5.7をコンテナレジストリ(ECR?)からRDSにpullして、MySQLコンテナをRDSに設置すべきでしょうか?または、MySQLコンテナではなく、そのままのMySQLをRDSに設置すべきでしょうか?
また、AWSでDBを利用する際のDBの設置場所(AWSサービス)と状態(コンテナ利用の有無など)のベストプラクティスを教えて頂けませんか?

※私は、RDSでDBコンテナを利用できるかは、全くわからない状態で質問しております。~~

②本番環境のDBへのデータのインポートや編集の為に、AWS上でもphpmyadminを使いたいのですが、phpmyadminの適切な設置場所(AWSサービス)と状態(コンテナ利用の有無など)も教えて頂けませんか?また、本番環境でphpmyadminを利用することの懸念点などあれば、教えて頂ければ幸いです。

③本番環境ではそもそも②のようにphpmyadminは利用せず、MySQLのみでDBを運用するのが一般的なのでしょうか?

拙い文章で申し訳ございませんが、ご回答頂ければ幸いです。


追記

質問①はご回答頂き、RDSでは、コンテナは使わず、直接MySQLを作成するということで解決致しました。②と③へのご回答も頂けると幸いです

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

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

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

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

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

guest

回答2

0

ベストアンサー

①については既に回答ある通りそんなことがそもそもできないので選択肢がありません。
EC2にDBを置くのはお金をケチりたいケース(RDSは高い)や検証用となどの場合で、そうでなければ原則RDSを使う、ぐらいでも十分です。

②、③については特に答えはありません。ベストプラクティスとは言えないし、かといって使ったらダメというほどでもありません。
個人的には適切にセキュリティを管理できないなら何も考えずにphpMyAdminを使うのはおすすめしませんが。

②については別にサーバを個別に立ててphpMyAdminを入れてもいいし、ECSを使ってコンテナでやってもいいでしょう。好きなようにやってください。
③については、一般的かどうかは知りません。
個人的な意見として、わざわざHTTPリクエストでDBにアクセスする方法を用意するよりはサーバ上でMySQLクライアントを実行するなりローカルのGUIをポートフォワードで接続する(※)ほうが安全だとは思います。
※そのためだけにパブリックアクセスを可にするのはセキュリティ的に微妙

投稿2021/04/18 11:58

yu_1985

総合スコア7427

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

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

fcsapu

2021/04/18 13:16

ご回答ありがとうございます。 本番環境でのphpMyAdminの使用に、セキュリティ面での漠然とした不安がありました。 CUI操作に苦手意識があり、ターミナルでのMySQLコマンドの実行から避けていました。この機会に、ターミナルでのMySQLコマンドにチャレンジしていきます。 お手数おかけしました。
guest

0

その場合、mysql:5.7をコンテナレジストリ(ECR?)からRDSにpullして、MySQLコンテナをRDSに設置すべきでしょうか?または、MySQLコンテナではなく、そのままのMySQLをRDSに設置すべきでしょうか?

RDSはコンテナを置くサービスではありません。RDSを使うのであれば「直接MySQLを作る」の選択肢しかありません。

投稿2021/04/18 07:07

maisumakun

総合スコア145121

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

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

fcsapu

2021/04/18 07:25

ご回答ありがとうございます。 ちなみに、もしDBをコンテナで利用したい場合は、EC2またはECS上でDBコンテナを起動するという方法になるのでしょうか?
fcsapu

2021/04/18 07:35

ありがとうございます。 AWSでDBを利用する場合、「RDSに直接MySQLを作る方法」と「EC2またはECS上でMySQLコンテナを起動する方法」はどちらがベターでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問