導入
自分でEC2にMySQLをインストールして運用すると、バックアップ、パッチ適用、障害時の切り替えまで、すべて自分の仕事になります。データベースの「面倒な運用」をAWSに任せられたら、と思ったことはありませんか。
説明
**マネージドサービス(managed service)**とは、サーバーの構築・パッチ適用・バックアップ・冗長化といった運用作業をAWS側が代行してくれるサービス形態です。利用者は「サーバーをどう保守するか」ではなく「どんなデータをどう使うか」に集中できます。
**Amazon RDS(Relational Database Service)**は、リレーショナルデータベース(表形式でデータを管理し、SQLで操作するデータベース)のマネージドサービスです。MySQL・PostgreSQL・MariaDB・Oracle・SQL Serverなど、主要なデータベースエンジンを選んで使えます。
RDSには高可用性・拡張性のための仕組みが備わっています。
- マルチAZ配置 … 稼働中のデータベース(プライマリ)とは別のアベイラビリティーゾーンに、常に同期された待機用のコピー(スタンバイ)を自動的に用意する仕組み。プライマリに障害が起きると自動的にスタンバイへ切り替わる(フェイルオーバー)。
- リードレプリカ … 読み取り専用のコピーを複数作成し、読み取り(SELECT)のアクセスを分散させる仕組み。書き込みが集中するプライマリの負荷を減らせる。
flowchart LR
App["アプリケーション"] -->|読み書き| Primary["プライマリ(AZ-a)"]
Primary -->|同期レプリケーション| Standby["スタンバイ(AZ-c)"]
Primary -->|非同期レプリケーション| Replica["リードレプリカ"]
App -->|読み取りのみ| Replica
「サーバーのお守り」をAWSに任せ、自分たちはデータとアプリケーションのロジックに集中できるのがRDSの最大の価値です。
読んでみよう
「マルチAZは高可用性(障害対策)のため、リードレプリカは性能(読み取り拡張)のため」——目的が違うことを区別して覚えておくと、試験の選択肢を判別しやすくなります。