AWS RDS使ってみました。(インスタンス作成からphpmyadminまで)
AWSの無料枠で、RDSもあったので、使ってみました。
普通に自分でサーバーを立てるよりも、フルマネージドのほうが細かいお世話としなくていいなということで。
RDS入門とか始め方とか初心者向けとかでいい感じのが見つからなかったのでメモっておきます。
接続元のIPアドレスの確認
AWSで全部完結するならもう少し簡単なのかもしれませんが、今回は外部から接続します。
そのため、接続元のIPアドレスを調べる必要があります。
接続元で以下のコマンドを実行すれば、IPアドレスを知ることができます。
$ curl ifconfig.me
セキュリティグループの作成
DB接続用ポートを開けなければならないため、まずはセキュリティグループを作成します。
VPCを選択します。
セキュリティグループを選択します。
セキュリティグループの作成をクリックします。
グループ名と説明を入力します。
今回はmysql用に作成するため、mysqlとします。
その後、作成をクリックします。
作成したグループを選択し、編集をクリックします。
タイプに「MySQL/Aurora(3306)」を選択し、送信元に最初に調べたアドレスをCIDR表記で記入し、保存します。
最初に調べたアドレスに/32を付ければよいです。
複数の接続元がある場合には、そのIPアドレスに応じて/32を調整したり、複数行記述したりします。
※cloud9から接続する場合には、104.199.0.0/16にするとよさそうです。
RDBインスタンスの作成
やっと、RDBの作成に入ります。
RDSを選択します。
今すぐ始めるをクリックします。
無料利用枠のみの対象をチェックすると、有料のものはすぐにわかるようになるので便利です。
今回は、MySQLではなく、上位互換といわれているMariaDBを使ってみます。
無料では選択できる個所は少ないです。
バージョンはせっかくなので、一番新しいのにしてみました。
お好みを選んでください。
DBインスタンス識別子は、エンドポイントの一部になります。
リージョンでユニークなものを指定してください。
マスターユーザの名前、マスターパスワードはお好きなものに。
あとで、phpmyadminなどで接続するときに必要になります。
VPCセキュリティグループには、先ほど作成したmysqlを選択します。
データベース名は、あとから追加できるので適当でも問題ありません。
他はデフォルトでいいでしょう。
以上で設定は終了です。
作成にしばらく時間が掛かって出来上がりです。
疎通確認
しばらく待つとこんな画面になります。
(詳細を開いています。)
ステータスが利用可能になると、エンドポイントが表示されます。
これで接続可能です。
mysqlクライアントで接続します。
$ mysql -h エンドポイント(ポートはなし) -u マスターユーザ -p
Enter password: で先ほど指定したパスワードを入力してください。
うまく繋がると以下のようなメッセージが表示されます。Ctl-dなどで抜けてください。
繋がらない場合は、セキュリティグループが間違えている可能性が高いので設定を確認してください。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 108 Server version: 5.5.5-10.0.24-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> Bye
phpmyadminで接続
dockerを利用するととても簡単にphpmyadminを動かせます。
docker-compose.yml
phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=エンドポイント - PMA_USER=マスターユーザ名 - PMA_PASSWORD=マスターパスワード名 volumes: - awsphpmyadmin_sessions:/sessions ports: - 80:80
上記ファイルを作成したら、そこのフォルダで以下のコマンドで実行できます。
% docker-compose up -d
これで好きなようにいじれます。
お疲れ様でした。