AQ Tech Blog

データベースとは何か、実際に構築してみた!RDS編

作成者: hinata.takahashi|2024年01月31日

本記事の内容

前回の記事ではデータベースとはそもそも何かを記述し、
実際にDynamoDBの構築を行いました。
本記事ではRDS(リレーショナルデータベースサービス)の構築をし、DynamoDBと比較したいと思います!

DynamoDBについては「データベースとは何か実際に構築してみた!DynamoDB編」が別記事でありますので
そちらを参照してください。

RDS構築

RDSを作成するにあたり、事前にVPC、EC2インスタンス、サブネットの作成が必要ですが今回は割愛させていただきます。事前準備に関してはこちらが参考になるかと思います。
【初心者向け】 Amason EC2インスタンスを立ち上げてみよう

マネジメントコンソールからRDSを選択し、データベースの作成をします。
「簡単に作成」を選択すると、推奨設定に基づいて作成することができますが、
今回は「標準作成」で行っていきます。


エンジンは様々ありますが、MySQLの無料利用枠を使用します。


任意のDBインスタンス識別子を付け、マスターユーザー名はadminとします。また、任意のマスターパスワードを設定します。


サイズはどれでも良いのですが、今回は一番小さいサイズのt2.microを使用します。ストレージタイプも何も変えずに進めます。


次に接続設定です。事前に作成したVPC、セキュリティグループ、AZを選択します。


他はすべてそのままにしてデータベースの作成を行います。


データベースが作成できたら事前準備で作成したEC2インスタンスと接続します。
DynamoDBの接続と同様にセッションマネージャーを開きます。

MySQLをダウンロードするために
sudo yum install mysqlと打ち、最終確認を問われるので
yと打ちます。
下記画像のように"complete!"と表示されればMySQLのインストール完了です!


インストールが完了したら、MySQLにログインするためのコマンドを打ちます。
mysql -u admin -p -h <RDSのエンドポイント>
RDSのエンドポイントは接続とセキュリティから見ることができます。
RDS作成時に決めたマスターパスワードを求められるので、入力します。
※パスワード入力の際、セキュリティ上、パスワードが表示されません。
しかし、正確なパスワードを入力し、enterを押すとログインすることができます。


これでEC2インスタンスからRDSへの接続は完了です!

構成図

RDSとDynamoDBの構成図を作成しました!
AWSサービスは、AZごとに作成するのか、リージョンごとに作成するのか、リージョンをまたいで作成できるのかが決まっています。
今回構築したRDSはAZサービス、DynamoDBはリージョンサービスに該当します。
AWSサービスの「サービスカテゴリ」が詳しく書かれている記事がありますので参考にしてみてください。

AWSサービスの場所をまとめてみた

・DynamoDBの構成図

・RDSの構成図

まとめ

それぞれを構築してみて、違いがあったのでまとめます。

  • RDSは垂直スケーリングと水平スケーリング、DynamoDBは水平スケーリング ができる。
  • RDSはAZサービス、DynamoDBはリージョンサービス である。
  • RDSはインターネットを経由せずに利用可能。
    DynamoDBはインターネットを経由してアクセスするか、VPCエンドポイントを利用してアクセスする。
  • RDSは強整合性、DynamoDBは結果整合性(オプションで強整合性にできる)である。

以上です!