0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS RDSを使って簡単にMySQLデータベースを構築・接続する方法

Posted at

はじめに

今回は、AWSのマネージドデータベースサービス「RDS」を使って、MySQLデータベースの作成から接続確認までの流れをご紹介します。

RDSは、データベースの設定、スケーリング、バックアップの管理を簡単に行え、さまざまなデータベースエンジンをサポートしているため、データベース管理の手間を大幅に軽減できます。

前回の記事では、NoSQLデータベースサービス「DynamoDB」についても詳しく解説しています。興味があればぜひ読んでみてください。

前提条件

この記事を実施するには、以下の要件を満たしている必要があります。

AWSアカウント:
AWSアカウントを持っていることが前提です。

RDSとMySQLの基本理解:
RDSとMySQLの基本的な機能や操作方法を理解していることが望ましいです。公式ドキュメントや入門書を事前に確認しておくと、スムーズに進められます。

RDSについて

Amazon Relational Database Service(RDS)は、リレーショナルデータベースをクラウド上で簡単にセットアップ、運用、スケーリングできるフルマネージドサービスです。

image.png
引用画像:https://aws.amazon.com/jp/rds/#

RDSは、データベース管理のタスク(パッチ適用、バックアップ、障害復旧など)を自動化し、運用コストの削減や高可用性の確保を実現します。

これにより、インフラ管理にかかる時間を削減し、アプリケーション開発やデータ活用に集中できるようになります。

選択できるエンジンタイプ

RDSでは、複数のデータベースエンジンを選択できます。

最新の選択できるエンジンは次の通りです。
・Amazon Aurora(MySQL互換、PostgreSQL互換)
・Oracle
・MySQL
・MariaDB
・PostgreSQL
・SQL Server
・Db2

今回は、MySQLを使ってデータベースを構築していきます。

MySQLについて

MySQLは、オープンソースのリレーショナルデータベース管理システム(RDBMS)で、データを効率的に保存し、整理するための仕組みを提供します。データの操作にはSQL(Structured Query Language)を使用します。

MySQLの詳しい説明はこちらの記事を参考にしてください。

主な特徴

リレーショナルデータベース:
データは、テーブルと呼ばれる行と列からなる構造で保存されます。異なるテーブル間で関連性を持たせることが可能です。

SQL対応:
データの検索(SELECT)、追加(INSERT)、更新(UPDATE)、削除(DELETE)など、SQLコマンドを使って操作が行われます。

オープンソース:
MySQLは無料で利用でき、ソースコードも公開されているため、カスタマイズが可能です。

高速でスケーラブル:
大量のデータを効率的に処理でき、パフォーマンスに優れています。

構築の流れ

ステップ1:DBサブネットグループの作成

RDSインスタンスをVPC内に配置する際には、どのサブネットにDBを作成するかを定義するサブネットグループが必要です。

AWS Management Consoleで「RDS」を検索し、RDSダッシュボードを開きます。左側のメニューから「サブネットグループ」をクリックし、「サブネットグループの作成」を選択します。

image.png

サブネットグループに名前を付け、使用するVPCを選択します。

image.png

2つ以上の異なるアベイラビリティゾーンに属するサブネットを追加し、「作成」をクリックします。

image.png

ここでは、インスタンスの構築と接続確認を目的として、publicサブネットにRDSインスタンスを配置しています。本番運用の場合は、RDSインスタンスをprivateサブネットに配置することが一般的です。

ステップ2:RDSインスタンスの作成

RDSダッシュボードで「データベースの作成」をクリックし、「標準作成」を選択します。

image.png

データベースエンジンは「MySQL」を選択し、最新のバージョンを選びます。

image.png

「DBインスタンスクラス」では、アプリケーションに応じたインスタンスタイプを選択します(例: db.t3.micro)。

image.png

「ストレージオプション」でストレージタイプ(汎用SSD)や容量を設定し、自動スケーリングも選択可能です。「データベース設定」では、データベース識別子、マスターユーザー名、およびパスワードを指定します。

image.png

「VPC」セクションでは、先ほど作成したDBサブネットグループを選びます。最後に、「データベースの作成」をクリックします。

image.png

データベースの作成には約20分かかる場合があります。また、インスタンスの使用には費用が発生するため、必要ない場合は削除することをお勧めします。

接続確認

RDSインスタンスが起動したら、データベースに接続してみましょう。

RDSエンドポイントの確認

RDSダッシュボードで作成したデータベースを選択し、データベースの詳細画面から「エンドポイント」を確認します。

image.png

MySQL WorkbenchやCLIからの接続

ターミナルやMySQL Workbenchを使用して、以下のコマンドで接続を試みます。ここでは、CloudShellを使って確認します。

mysql -h <エンドポイント> -P 3306 -u <マスターユーザー名> -p

上記のコマンドを実行すると、パスワードを求められるので、設定したパスワードを入力します。

image.png

接続に成功すれば、RDS上のMySQLにアクセスできていることが確認できます。

image.png

データベースに接続できない場合は、セキュリティグループなどを見直してください。

まとめ

今回のハンズオンでは、AWS RDSを使用してMySQLデータベースを作成し、接続確認までの一連の流れを説明しました。

RDSを使うことで、データベースの運用管理が簡略化され、インフラの運用負担を軽減できます。MySQLだけでなく、他のエンジンも同様の手順で構築できるので、ぜひ試してみてください。

おまけ:hondaテーブルを追加する方法

まず、新しいデータベースを作成して使用します。

CREATE DATABASE honda_db;
USE honda_db;

次に、hondaという名前のテーブルを作成します。テーブルにはID、名前、モデル、年式の情報を格納するカラムを設定します。

CREATE TABLE honda (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    model VARCHAR(50),
    year INT
);

作成したテーブルは次のコマンドで確認できます。

SHOW TABLES;

最後に、テーブルにデータを追加し、内容を表示します。

INSERT INTO honda (name, model, year)
VALUES ('Civic', 'Type R', 2024);
SELECT * FROM honda;

実際のSQLコマンドの実行画面

image.png

以上でhondaテーブルの追加とデータ挿入が完了です。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?