Amazon RDS
MySQL、PostgreSQL、Oracle などのリレーショナルデータベースをマネージドに提供するサービス
何ができるか
Amazon RDS (Relational Database Service) は、MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Db2 のリレーショナルデータベースをフルマネージドで提供するサービスです。パッチ適用、バックアップ、フェイルオーバー、スケーリングを AWS が自動で管理します。
どのような場面で使うか
Web アプリケーションのバックエンドデータベース、業務システムのデータ管理、EC サイトの商品・注文データの格納、SaaS アプリケーションのマルチテナントデータベースなど、リレーショナルデータベースが必要なあらゆる場面で利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
マンションの管理人付き駐車場に例えられます。自分で駐車場 (データベースサーバー) を建設・管理する代わりに、管理人 (AWS) が清掃 (パッチ適用)、防犯カメラ (監視)、定期点検 (バックアップ) をすべて行ってくれます。
RDS とは
Amazon RDS は、リレーショナルデータベースの運用を自動化するマネージドサービスです。データベースエンジンのインストール、OS のパッチ適用、自動バックアップ、マルチ AZ 構成によるフェイルオーバーなど、運用に必要な作業を AWS が代行します。開発者はアプリケーションの開発に集中できます。
データベースエンジンの選択
RDS は 6 つのデータベースエンジンをサポートしています。MySQL と PostgreSQL はオープンソースで最も広く使われています。MariaDB は MySQL の派生で、互換性を保ちつつ独自の改良が加えられています。Oracle と SQL Server は商用データベースで、既存のライセンスを持ち込む (BYOL) ことも可能です。より高い性能と可用性が必要な場合は、MySQL / PostgreSQL 互換の Amazon Aurora を検討してください。
マルチ AZ と読み取りレプリカ
マルチ AZ 配置を有効にすると、プライマリインスタンスとは別のアベイラビリティゾーンにスタンバイインスタンスが自動作成されます。プライマリに障害が発生すると、通常 60 秒以内にスタンバイへ自動フェイルオーバーします。読み取りレプリカは読み取り負荷を分散するためのコピーで、最大 15 台まで作成できます。クロスリージョンレプリカで災害復旧にも対応可能です。
はじめかた
RDS コンソールで「データベースの作成」を選択し、エンジン、インスタンスクラス、ストレージサイズを指定します。エンドポイントが発行されるので、アプリケーションの接続文字列にそのエンドポイントを設定すれば接続完了です。無料利用枠では db.t3.micro インスタンスを月 750 時間まで 12 か月間無料で利用できます。
注意点
- インスタンスを停止しても 7 日後に自動起動されるため、長期間使わない場合はスナップショットを取得してインスタンスを削除する
- マルチ AZ はスタンバイインスタンスの料金が追加で発生する。開発環境ではシングル AZ でコストを抑えることを検討する
- 無料利用枠は db.t3.micro で月 750 時間。複数インスタンスの合算のため注意
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。