ひとりでRDSできるもん
EC2にMySQLやPostgreSQLをインストールしているみなさんこんにちわ。
たくみもつい先月までその世界にいました。
今回はAWS無料枠を使用してRDSでMariaDBを構築し、mysqlコマンドで接続してみようと思います。
MariaDB??ちょっと…という方もご安心ください。
DB選ぶときにMySQLやPostgreSQLがありますので、MariaDBがNo thank you☆のときにはどちらか選んでください。
それでは、AWSコンソールにアクセスしましょう!
RDSのコンソール画面にアクセス
RDS使うのが初めてのときは下記のような画面が表示されます。
Get Started Now ボタンを押してRDSインスタンスの作成画面に遷移しましょう。
また、左のメニューバーより Instances を選択し、Launch DB Instanceボタンを押してもRDSインスタンス作成画面に遷移することができます。
MariaDBとフリープランの選択
RDSインスタンス生成のSTEP1 データベースエンジンの選択です。
データベースエンジンの種類には
- Amazon Aurora
- MySQL
- MariaDB
- PostgreSQL
- Oracle
- SQLServer
があります。
今回はMariaDBで作成するので、MariaDBを選択して Select ボタンを押します。
Production および Dev/Test どちらかのプランを選択します。
AWS無料枠を使うので迷わず Dev/Test を選択してください。
データベース詳細設定
データベースに関する設定をします。
たくみは無料大好き大阪人なので、迷わず Only show options that are eligible for RDS Free Tier にチェックをいれます。
このチェックボックスにチェックをいれると有料になるオプションが消えます。
ここの設定をミスって課金される心配がなくなるわけですね。
…といっても最初から設定されているデフォルト値進んで大丈夫ですが、
DB Instance Class が db.t2.micro -- 1 vCPU, 1 GiB RAM になっているのだけ必ず確認してください。ほかだと課金されます。
下にスクロールすると Settings という項目があります。
ここではroot権限をもつMariaDBユーザに関するアカウント情報を設定しま
各項目の簡易な説明とサンプルで設定する値を箇条書きしますね。
- 項目名 … 説明 (サンプルで設定した値)
- DB Instance Identifier … RDSインスタンスの名前。RDSダッシュボードとかで確認・識別に利用できます。 (mydbinstance)
- Master Username … MariaDBにroot権限でログインするユーザ名 (takumi)
- Master Password … 上記root権限ユーザのパスワード (よきに計らってください)
- Confirm Password … パスワードの確認 (設定したパスワードは忘れちゃだめよ♡)
設定が完了したら Next Step ボタンを押して次のStepに進みます。
セキュリティの設定
このステップではどこから接続できるか設定する Network & Security の設定をします。
この設定がミスっていると外部からアクセスし放題ヒャッハーーーっとなるので、本番用途のときは注意して設定してください。
今回は開発および練習用途の設定をするので、外部からアクセスを許可する設定をします。
Publicly Accessible を Yes に、 VPC Security Group(s) は Create new Security Group にしてください。
また、データベース名もここで設定するので、 Database Name に hitoride_dekiru と入力してください。
他はデフォルト値でOKです。
RDSにもEC2のセキュリティーグループと同じものがあります。(というかEC2のセキュリティーグループに今回作ったセキュリティーグループが追加されます)
上記の設定だと、今使っているPCのIPから接続できるようにセキュリティーグループを作成してくれます。
他のホストからつなぎたいときは、EC2のセキュリティーグループの設定画面から必要なIPを追加してくださいね。
それでは、上記以外の項目はデフォルト値のままで、Launch DB Instance ボタンを押してRDSインスタンスをつくりましょう!
RDSインスタンスの作成
うまく作成されると下記画面になります。
View Your DB Instances ボタンを押して、ダッシュボードに戻りましょう。
EC2でインスタンス作成するときと同様、RDSインスタンスの準備完了するまで、少し時間がかかります。
コーヒーでも飲みながら、Statusが creating から available になるまで休憩しましょう。
available になったらRDSインスタンス作成完了です。
接続確認にEndpointが必要になるので、Endpointは控えておいてください。
それではAWSコンソールでする作業はすべて完了したので、ターミナルを起動して接続確認しましょう!
mysqlコマンドで接続
mysqlコマンドを使用してRDSに接続できるか確認します。
mysqlコマンドは $ mysql -u[設定したrootユーザ名] -p -h [Endpoint]
で接続します。
また、 Enter password: とでたらパスワードを入力してください。*や●は入力してもでませんが大丈夫です。
パスワードの入力が完了し、 Welcome to the MySQL monitor. が表示されると大成功です!
試しに show databases; と入力してデータベース一覧を見てみましょう。
shell | |
---|---|
1 | % mysql -utakumi -p -h mydbinstance.cfsumtx65zvc.ap-northeast-1.rds.amazonaws.com |
2 | Enter password: |
3 | Welcome to the MySQL monitor. Commands end with ; or \g. |
4 | Your MySQL connection id is 309 |
5 | Server version: 5.5.5-10.0.24-MariaDB MariaDB Server |
6 |
|
7 | Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. |
8 |
|
9 | Oracle is a registered trademark of Oracle Corporation and/or its |
10 | affiliates. Other names may be trademarks of their respective |
11 | owners. |
12 |
|
13 | Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. |
14 |
|
15 | mysql> show databases; |
16 | +--------------------+ |
17 | | Database | |
18 | +--------------------+ |
19 | | hitoride_dekiru | |
20 | | information_schema | |
21 | | innodb | |
22 | | mysql | |
23 | | performance_schema | |
24 | +--------------------+ |
25 | 5 rows in set (0.03 sec) |
26 |
|
27 | mysql> |
データベース、hitoride_dekiru もちゃんとありますね。
これでRDSインスタンスの設定が完了です。
RDSのt2.microとEC2のt2.microを合わせると無料でできる範囲がすごく広がります。
そこそこのWebサービスとかでしたら運用もできると思いますので、
これを機に個人サービスやブログなど作ってみてはいかがでしょうか??