Amazon RDS
マネージド SQL DB
リレーショナル Database(MySQL、PostgreSQL、SQL Server、Oracle、MariaDB など)で、バックアップ、パッチ適用、Multi-AZ は AWS が担当します。
- コスト$$ ふつう
- 難易度●●●●●
- 未使用でも課金?はい
- AWS マネージド
- 出題試験CLF · SAA · DVA · SOA
たとえるなら厨房付きで料理長を雇うようなものです。あなたは料理(データ)だけを考え、厨房は AWS が管理します。
RDS はシステムのどこにある?
具体例でステップごとに
- 受注管理アプリで MySQL が必要ですが、チームにはデータベース専任の管理者がいません。
- RDS for MySQL を作成し、インスタンスサイズとストレージを選んでマルチ AZ を有効にします。インストールとパッチ適用は AWS が行います。
- RDS は毎日自動でバックアップを取るので、誤ってデータを消しても、その数分前の時点に戻せます。
- プライマリに障害が起きると、RDS は 1〜2 分ほどで別の AZ のスタンバイに切り替え、アプリは同じ接続先のまま使えます。
- 月末のレポートは大量のデータを読むので、リードレプリカを追加し、レポートが販売処理を遅くしないようにします。
いつ使う?
✓ 使うべき場面
リレーションを持つデータで、JOIN や ACID トランザクションが必要な場合。
✗ 避けるべき場面
key によるアクセスでほぼ無制限に scale する必要がある → DynamoDB。
よくある使い方
- Web/アプリ用の Database(MySQL、PostgreSQL)
- ACID トランザクションが必要な業務システム
- オンプレミスの database をクラウドへ移行(DMS と併用)
RDS・Aurora・DynamoDB の違い
料金はいくら?
- 課金方式: instance の稼働時間(Multi-AZ ≈ 2 倍)+ ストレージの GB 月 + 超過分のバックアップ + IOPS。Reserved Instances で最大約 70% 割引されます。
- 無料枠: 旧アカウント: 12 か月間 db.t*.micro 750 時間 + 20 GB。
使っていなくても instance は 24 時間 365 日稼働(停止できるのは最大 7 日間のみ)。Multi-AZ でコストが 2 倍。手動スナップショットがたまる。サポート終了のエンジンバージョン → Extended Support 料金。
マルチ AZ は高可用性(自動フェイルオーバー)、リードレプリカは読み取り性能のためで、試験ではこの 2 つがよく入れ替えられます。暗号化されていない DB は直接暗号化できないので、スナップショットを取り、暗号化してコピーし、そこから復元します。
本番の試験問題に挑戦
1An application uses an Amazon RDS MySQL DB instance. The RDS database is becoming low on disk space. A solutions architect wants to increase the disk space without downtime. Which solution meets these requirements with the LEAST amount of effort?
- AEnable storage auto scaling in RDS.
- BIncrease the RDS database instance size.
- CChange the RDS database instance storage type to Provisioned IOPS.
- DBack up the RDS database, increase the storage capacity, restore the database and stop the previous instance.
答えを見る
正解: A
RDS のストレージ自動スケーリングを有効にすると、ディスクが満杯に近づいたときにダウンタイムなしで容量が自動で増えます。インスタンスサイズを上げてもディスク容量は増えず、バックアップからの復元ではダウンタイムが発生します。
2A company's legacy application is currently relying on a single-instance Amazon RDS MySQL database without encryption. Due to new compliance requirements, all existing and new data in this database must be encrypted. How should this be accomplished?
- ACreate an Amazon S3 bucket with server-side encryption turned on. Move all the data to Amazon S3. Delete the RDS instance.
- BConfigure RDS Multi-AZ mode with encryption at rest turned on. Perform a failover to the standby instance to delete the original instance.
- CTake a snapshot of the RDS instance. Create an encrypted copy of the snapshot. Restore the RDS instance from the encrypted snapshot.
- DCreate an RDS read replica with encryption at rest turned on. Promote the read replica to primary and switch the application over to the new primary. Delete the old RDS instance.
答えを見る
正解: C
稼働中の RDS インスタンスの暗号化を直接有効にすることはできません。スナップショットを取り、それを暗号化してコピーし、そのコピーから新しいインスタンスを復元するのが正しい方法です。元が暗号化されていなければ、リードレプリカやマルチ AZ も暗号化できません。
よくある質問
RDS と EC2 にデータベースを自分で構築する場合の違いは何ですか?
RDS ではインストール、パッチ適用、自動バックアップ、フェイルオーバーを AWS が行います。EC2 に自分で構築すると設定を自由に決められますが、運用はすべて自分で行います。RDS が対応していない機能やバージョンが必要な場合にのみ、自前での構築を検討します。
マルチ AZ とリードレプリカの違いは何ですか?
マルチ AZ は別の AZ にスタンバイを置き、障害時に自動でフェイルオーバーして可用性を高めます。リードレプリカは読み取りを分散するためのコピーで、別リージョンにも作れ、読み取り性能を高めます。目的が異なる 2 つの仕組みです。
RDS の料金はどのように決まりますか?
DB インスタンスクラスの稼働時間、ストレージ、無料枠を超えるバックアップ、外部へのデータ転送に応じて課金されます。マルチ AZ にするとインスタンス料金はほぼ 2 倍になります。停止できるのは最大 7 日間で、その後 RDS は自動的に起動します。
AWS 認定試験では RDS について何が問われますか?
マルチ AZ とリードレプリカの違い、自動バックアップとポイントインタイムリカバリ、暗号化(作成時に有効化が必要)、Lambda 向けの RDS Proxy、Aurora や DynamoDB へ移行すべき場面などです。