【保存版】AWS RDSを起動し、実際にデータベース・テーブルを操作してみよう!
こんにちは、CryptoGamesの高橋です。
クリスペというサービスを行っている会社です。
本日はのRDS for MySQLを起動し、EC2から接続して、実際にデータベース・テーブルを操作してみたいと思います。
はじめる前に
AWSのサービスには料金がかかります。
事前に確認を行い、テスト終了後はクリーンアップを忘れずに行なうようにお願いします。
1 EC2を起動させる
まずは、EC2を起動させます。
と言っても、やる工程がある程度あります。
ご不明な方は下の記事の第3章まで進めてください。
2 RDSを起動する
2ー1 サブネットグループを作成する
まずはRDSを作成するためのサブネットグループを作ります。
RDSは外部から自由にアクセスされては困ってしまいますので、プライベートサブネットに作成します。
まずは、VPCのサブネットのうち、どれがプライベートサブネットかを確認しましょう。
なお、VPC?という方は第1章に記載の記事から始めてみてください。
では、「RDS」の「サブネットグループ」から「DBサブネットグループを作成」を選択
下のように、作成するVPCとサブネットを選択して進んでいきます。
東京リージョンで記事と同じやり方でやっている方は「ap-northeast-1a」と「ap-northeast-1c」になると思います。
先ほど確認した、プライベートサブネットを選択します。
そして、「作成」を押すと。。エラーになってしまいました。
説明が抜けていたようです。
ただ、注目すべきは英語のエラー文の方が情報量が多かったことです。
困った時は、英文も参照してみてください。
では、「説明」に入力して「作成」を押します。
今度は無事にできました。
2ー2 パラメータグループを作成する
次は「パラメータグループ」を作成します。
「パラメータグループ」から「パラメータグループの作成」
今回は「MySQL」を使いたいので、「パラメータグループファミリー」には「mysql8.0」を選択します。
2ー3 データベースを作成する
では、準備ができたので、データベースを作っていきましょう。
下のように、「データベースの作成」を選択します。
今回は、上の「Amazon Aurora」ではありませんので、ご注意ください。
「標準作成」からエンジンのタイプは「MySQL」を選択
今回は、下の「無料利用枠」を使います。
本番稼働では可用性の観点から「マルチAZ構成」が望ましいです。
(その分、費用は増えます。)
「認証情報の設定」から「マスターユーザー名」と「マスターパスワード」を入力します。
これらは後ほど、DBに入る際に必要になります。
次のように進んでいきます。
ここで接続を下のように設定します。
大事なのは「パブリックアクセス」が「なし」という点だと思います。
誰からでもDBに入られたら困ってしまいますね。
セキュリティグループは作っていなかったので、「新規作成」から任意の名前を入れます。
後ほど、「インバウンドルール」を設定します。
下のように「追加設定」から任意のデータベース名を入れましょう。
ここ、忘れやすいと思います。
最後に、「データベースの作成」でデータベースができます。
なお、下の「エンドポイント」がこのDBへの接続先です。
2ー4 セキュリティグループを設定する
今回、EC2からRDSに接続しようと思っています。
EC2やRDSなどのファイヤーウォールの役割をしてくれるのがセキュリティグループです。
ここではEC2からRDSへの接続を許可しましょう。
2ー4ー1 EC2のセキュリティグループを確認する
今回入ろうとしている、EC2のセキュリティグループを確認しましょう。
下のように(launch-wizard-2)となっていることが確認できました。
2ー4ー2 RDSのセキュリティグループにEC2の接続を許可する
では、RDSのセキュリティグループを設定していきましょう。
下のRDSの「VPCセキュリティグループ」を選択します。
こちらの「インバウンドルール」から「インバウンドのルールを編集」
「ルールを追加」して、下のように設定します。
ここで設定している「sg-09e…」は先ほどのEC2のセキュリティグループです。
「ルールを保存」でOKです。
3 RDSに接続する
今回は外部からEC2を接続し、EC2からRDSに接続という流れを取ります。
3ー1 EC2に接続する
ということで、まずはEC2に接続します。
この辺りがご不明な方は、下の記事の第3章までをご参照ください。
3ー2 EC2にmysqlをインストールする
では、MySQLをインストールしましょう。
まずは、下のようにシステムをアップデートします。
sudo yum update -y
続いて、下のように、MySQLをインストールしましょう。
sudo yum install mysql -y
これで、MySQLのインストールが完了しました。
3ー3 EC2からRDSに接続する
では、RDSに接続しましょう。
接続先のエンドポイントはこちらになります。
下のようなコマンドになります。
mysql <データベース名> -h <エンドポイント> -P 3306 -u <ユーザー名> -p
ちなみに、データベース名とユーザー名は第2章3項で作成したこちらになります。
実際に入力すると下のようになります。
パスワードは入力しても見えませんが、入力ができているはずです。
上のようになれば接続完了です。
4 DBを操作してみよう
ここから先は、AWSから切り離されたMySQLの操作ですが、せっかくなので、少し触れたいと思います。
4ー1 データベースの表示
下のコマンドで、データベースの一覧が取得できます。
show databases;
4ー2 データベースの作成
下のコマンドでデータベースが作成されます。
できていそうですね。
create database <データベース名> ;
4ー3 データベースの削除
下のようにデータベースが削除されています。
drop database <データベース名>;
4ー4 使用するデータベースの選択
下のコマンドになります。
use my_database_0723;
また、下のコマンドで、現在選択中のデータベースが確認できます。
select database();
4ー5 テーブルの作成
下のようにして実際のレコードを格納するテーブルが作れます。
create table <テーブル名> (カラムの情報);
また、こちらのコマンドで、テーブル構成が確認できます。
describe <テーブル名>;
下はあくまでも簡単な参考です。
(あまり良いテーブルではありません。)
どこが良くないの?という方は下の記事を参照してみてください。今回は脱線してしまうので、省きます。
4ー6 終了
最後に、終わる場合は、下のように「exit」で抜けます。
最後に
終わった後は、不要なものは必ずクリーンアップを行なってください。
料金が継続的にかかってしまうため、忘れないよう、十分ご注意ください。
今回は以上です。
最後まで、ありがとうございました。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊