見出し画像

【保存版】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に接続しようと思っています。

EC2RDSなどのファイヤーウォールの役割をしてくれるのがセキュリティグループです。

ここでは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」で抜けます。

最後に

終わった後は、不要なものは必ずクリーンアップを行なってください。

料金が継続的にかかってしまうため、忘れないよう、十分ご注意ください。

今回は以上です。

最後まで、ありがとうございました。

サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊