Amazon RDS とは?
概要
Amazon RDS (Relational Database Service) は、AWS が提供するフルマネージドなリレーショナルデータベースサービスです。RDS を使用することで、データベースのセットアップ、運用、スケーリングを簡単に行うことができます。これにより、ユーザーはインフラストラクチャの管理から解放され、アプリケーションの開発に集中することができます。
主な機能
-
マネージドなデータベース
- データベースのプロビジョニング、パッチ適用、バックアップ、リカバリ、スケーリングなどの管理タスクを自動化します。
-
高可用性と耐障害性
- マルチAZ (Availability Zone) 配置により、高可用性と自動フェイルオーバーを提供します。
-
スケーラビリティ
- 読み取り専用レプリカを使用して、読み取りスループットを向上させることができます。また、ストレージとコンピューティングリソースを独立してスケールできます。
-
セキュリティ
- データの暗号化、ネットワークの隔離、IAM を使用したアクセス管理など、強力なセキュリティ機能を提供します。
-
自動バックアップ
- 自動バックアップ機能により、データの保護とリカバリが容易になります。
サポートされているデータベースエンジン
Amazon RDS は、以下の主要なリレーショナルデータベースエンジンをサポートしています。
-
Amazon Aurora
- 高性能で高可用性のリレーショナルデータベース。MySQL と PostgreSQL 互換。
-
MySQL
- オープンソースのリレーショナルデータベース。
-
PostgreSQL
- 高機能なオープンソースのリレーショナルデータベース。
-
MariaDB
- MySQL 互換のオープンソースデータベース。
-
Oracle
- 商用のリレーショナルデータベース。
-
Microsoft SQL Server
- 商用のリレーショナルデータベース。
利用例
-
ウェブアプリケーション
- 高可用性とスケーラビリティが求められるウェブアプリケーションのバックエンドデータベースとして利用。
-
データウェアハウス
- 大量のデータを効率的に処理するためのデータウェアハウスとして利用。
-
モバイルアプリケーション
- モバイルアプリケーションのデータストレージとして利用。
実際の例
以下は、Amazon RDS で MySQL データベースインスタンスを作成する CloudFormation テンプレートの例です。
EC2セキュリティグループを使用してRDSDBSecurityGroupを定義
CloudFormationファイル
AWSTemplateFormatVersion: '2010-09-09'
Resources:
DBInstance:
Type: AWS::RDS::DBInstance
Properties:
DBName:
Ref: DBName
Engine: MySQL
MasterUsername:
Ref: DBUsername
DBInstanceClass:
Ref: DBClass
DBSecurityGroups:
- Ref: DBSecurityGroup
AllocatedStorage:
Ref: DBAllocatedStorage
MasterUserPassword:
Ref: DBPassword
DBSecurityGroup:
Type: AWS::RDS::DBSecurityGroup
Properties:
DBSecurityGroupIngress:
EC2SecurityGroupName:
Ref: WebServerSecurityGroup
GroupDescription: Frontend Access
WebServerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Enable HTTP access via port 80 and SSH access
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
このテンプレートは、db.t2.micro
タイプの MySQL データベースインスタンスを作成します。MasterUsername
と MasterUserPassword
にはデータベースの管理者ユーザー名とパスワードを指定し、AllocatedStorage
にはストレージ容量を指定します。
まとめ
Amazon RDS を使用することで、リレーショナルデータベースの管理が大幅に簡素化され、スケーラブルで高可用性のデータベースを簡単に構築できます。