kei0425tan’s blog

技術的なことを主に

AWS RDS使ってみました。(インスタンス作成からphpmyadminまで)

AWSの無料枠で、RDSもあったので、使ってみました。

普通に自分でサーバーを立てるよりも、フルマネージドのほうが細かいお世話としなくていいなということで。

RDS入門とか始め方とか初心者向けとかでいい感じのが見つからなかったのでメモっておきます。

接続元のIPアドレスの確認

AWSで全部完結するならもう少し簡単なのかもしれませんが、今回は外部から接続します。
そのため、接続元のIPアドレスを調べる必要があります。

接続元で以下のコマンドを実行すれば、IPアドレスを知ることができます。

$ curl ifconfig.me

セキュリティグループの作成

DB接続用ポートを開けなければならないため、まずはセキュリティグループを作成します。

f:id:kei0425tan:20170530133428p:plain

VPCを選択します。

f:id:kei0425tan:20170530133504p:plain

セキュリティグループを選択します。

f:id:kei0425tan:20170530133549p:plain

セキュリティグループの作成をクリックします。

f:id:kei0425tan:20170530133653p:plain

グループ名と説明を入力します。
今回はmysql用に作成するため、mysqlとします。

その後、作成をクリックします。

f:id:kei0425tan:20170530133833p:plain

作成したグループを選択し、編集をクリックします。

f:id:kei0425tan:20170530135213p:plain

タイプに「MySQL/Aurora(3306)」を選択し、送信元に最初に調べたアドレスをCIDR表記で記入し、保存します。
最初に調べたアドレスに/32を付ければよいです。
複数の接続元がある場合には、そのIPアドレスに応じて/32を調整したり、複数行記述したりします。

※cloud9から接続する場合には、104.199.0.0/16にするとよさそうです。

RDBインスタンスの作成

やっと、RDBの作成に入ります。

f:id:kei0425tan:20170530133428p:plain

RDSを選択します。

f:id:kei0425tan:20170530105512p:plain

今すぐ始めるをクリックします。

f:id:kei0425tan:20170530105544p:plain

無料利用枠のみの対象をチェックすると、有料のものはすぐにわかるようになるので便利です。
今回は、MySQLではなく、上位互換といわれているMariaDBを使ってみます。

f:id:kei0425tan:20170530105747p:plain

無料では選択できる個所は少ないです。
バージョンはせっかくなので、一番新しいのにしてみました。
お好みを選んでください。

DBインスタンス識別子は、エンドポイントの一部になります。
リージョンでユニークなものを指定してください。
マスターユーザの名前、マスターパスワードはお好きなものに。
あとで、phpmyadminなどで接続するときに必要になります。

f:id:kei0425tan:20170530105934p:plain

VPCセキュリティグループには、先ほど作成したmysqlを選択します。
データベース名は、あとから追加できるので適当でも問題ありません。

他はデフォルトでいいでしょう。

以上で設定は終了です。

作成にしばらく時間が掛かって出来上がりです。

疎通確認

しばらく待つとこんな画面になります。
(詳細を開いています。)

f:id:kei0425tan:20170530152956p:plain

ステータスが利用可能になると、エンドポイントが表示されます。
これで接続可能です。

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

これで好きなようにいじれます。
お疲れ様でした。