4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

phpMyAdmin on ECSからのRDS接続がとっても簡単

Last updated at Posted at 2018-08-17

はじめに

RDSはVPCで閉じられた環境のため、EC2などを踏み台にして、RDSに接続するみたいなことが多々あります。
また、MySQLをGUIで操作できる、phpMyAdminなんかをEC2に立てるとなると、
面倒だなぁ...と思い老けていたところ

あれ、これってもしかして...Dockerでできるんじゃ??
しかもContainerのマネージドサービスなら、楽できる‼︎

ということを思いついて、やってみたらサクッと出来たので書き残してみました。

事前準備(と言う名の割と組んじゃってる)

  • RDSの作成
  • ECSクラスタ(同一VPC)の作成
  • ECRの作成

こちらが完了しており、Container imageがPushできる状態であること。
(割とこの辺は他の記事でもよしなに書いてるのでそちらをorz)

※RDSのセキュリティグループ port:3306に、ECSのセキュリティグループIDを追加してあげれば大丈夫です。

phpMyAdminのContainer imageをPull

こちらの素晴らしい記事を参考に、phpMyAdminのContainer imageを作成していきます。

目的はあくまで、Container image作成ですので、phpmyadminの公式からpullしちゃいます。

docker_run_command
docker run -it phpmyadmin/phpmyadmin:latest -p 80:80

動作確認として、Pull完了後にhttp://localhostでphpMyAdminのログイン画面が表示されたらOK

ECRへPush

こちらは、ECRに、Push commandが表示されるので、詳しくは省略します...orz

Task Definitionの作成

FargateでもEC2どちらのタイプでも動くはず...(私はECSでやりました)
Task Definition作成で、肝となるのがContainer Definitionです。
Add Containerを押下して、以下を記述します。

* Container name      : ユニークな名前でOK
* Image               : <ECR_URI:CONTAINER_IMAGE_TAG>
* Memory Limits (MiB) : 環境に合わせて設定
* Port mappings       : 80:80
* CPU units           : 環境に合わせて設定
* Env Variables       : 以下を入力(Key : Valueの形式)
  PMA_ARBITRARY : 1
 PMA_HOST      : <RDS_ENDPOINT_URL>
 PMA_PASSWORD  : <RDS_USER_PASSWORD>
 PMA_USER      : <RDS_USER_ID>

環境変数をちゃんと入れておくさっくり動いてくれるのがいいですね。
(ECSのTask Definitionがdocker-composeライクなので、とっつきやすいのもGoodでしたw)

あとは、Taskを実行し、RUNNINGの状態になれば、RDSがphpMyAdminから繋がっちゃいます。

まとめ

今回はAWSの環境でしたが、その他のパブリッククラウドで用意されているDockerのマネージドサービスでも利用できるんじゃないかなと。

ECS側にDBの接続情報を持たせられるのも良いですね(この辺がcomposeっぽい)

あと、画像が無くてすいません...orz

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?