こんにちは、インフラエンジニアのryuです。
この記事は、AWSクラウドプラクティショナー(CLF-C02)の勉強をしていて、データベースの問題でRDSとDynamoDBのどちらを選べばいいのか迷ってしまう人に向けて書いています。
どちらもAWSのデータベースのサービスで、名前だけ覚えていると選択肢の中で区別がつきません。ですが、問題文の中には、どちらを選ぶべきかのヒントがたいてい入っています。
この記事では、そのヒントの読み取り方を先に整理してから、オリジナルの練習問題7問で確認していきます。CLF-C02全体の勉強の進め方は、CLF-C02の勉強方法の記事にまとめています。
CLF-C02でデータベースはどこまで問われる?¶
CLF-C02は4つの分野に分かれていて、データベースは「クラウドテクノロジーとサービス」の分野に入ります。この分野は配点の34%で、4分野の中でいちばん大きい分野です。
この分野の中に、AWSのデータベースサービスを識別するという項目があります。求められるのは、データベースを設計したりSQLを書いたりする力ではありません。問題文に書かれた要件を読んで、それに合うサービスを選べるかどうかです。
具体的には、次のようなことが問われます。
| 問われること | 主なサービス |
|---|---|
| リレーショナルデータベースを選ぶ | Amazon RDS、Amazon Aurora |
| NoSQLデータベースを選ぶ | Amazon DynamoDB |
| 自分でEC2に入れるか、マネージドを使うかの判断 | EC2上のデータベース と RDS |
| データベースの移行 | AWS Database Migration Service(DMS) |
この記事では、この中でいちばん出やすいRDSとDynamoDBの区別を中心に、ほかのサービスも一緒に整理します。
RDSとDynamoDBの違いとは?¶
まずは、2つのサービスの違いを表で並べてみます。
| 比べるところ | Amazon RDS | Amazon DynamoDB |
|---|---|---|
| データベースの種類 | リレーショナル(RDB) | NoSQL(キーバリュー型・ドキュメント型) |
| データの持ち方 | 列が決まった表。複数の表をJOINで結合できる | テーブルに項目(アイテム)を入れる。JOINは無い |
| 問い合わせ | SQL | キーを指定して読み書きするのが基本 |
| サーバーの管理 | インスタンス(サーバーの大きさ)を選ぶ | サーバーレス。インスタンスを選ばない |
| 選べるエンジン | MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Db2、Aurora | DynamoDBのみ |
| 向いている場面 | 既存の業務システム、表どうしの関係が大事なデータ | アクセス数が多く、キーで素早く読み書きしたいデータ |
この表の中で、問題を解くときに特に効くのは2行です。1つはデータの持ち方、もう1つはサーバーの管理です。
リレーショナルとNoSQLの違い¶
RDSが扱うリレーショナルデータベースは、Excelの表のように列があらかじめ決まった形でデータを持ちます。顧客の表と注文の表を分けておき、必要なときにJOINで結合して取り出す、という使い方ができます。
一方のDynamoDBは、NoSQLと呼ばれる種類のデータベースです。AWSの公式ドキュメントでは、キーバリュー型とドキュメント型のデータモデルに対応した、サーバーレスのNoSQLデータベースと説明されています。
DynamoDBでは、テーブルに入れる項目ごとに、パーティションキーなどのキーを必ず持たせます。キーを指定して読み書きするのが基本で、リレーショナルデータベースのようなJOINはありません。
問題文に「SQL」「JOIN」「既存のMySQL」「表どうしの関係」が出てきたらRDS。「キーバリュー」「NoSQL」「サーバーレス」「ミリ秒単位の応答」が出てきたらDynamoDB。まずはこの対応で読むと、多くの問題が解けます。
サーバーを管理するかどうかの違い¶
RDSは、AWSがハードウェアの準備やデータベースのソフトウェアのパッチ適用、バックアップなどを引き受けてくれるマネージドサービスです。ただし、作るときにはインスタンスクラス(CPUやメモリの大きさ)を選びます。つまり、サーバーの大きさを考える必要は残っています。
DynamoDBはサーバーレスなので、インスタンスを選ぶという作業そのものがありません。AWSの説明では、どんな規模でも1桁ミリ秒の性能を出せるとされています。
この違いから、問題文に「サーバーの管理をしたくない」「インスタンスのサイズを考えたくない」とあれば、DynamoDBのほうが合っていると読めます。
Amazon Auroraはどちらの仲間?¶
ここで迷いやすいのがAuroraです。AuroraはRDSで選べるエンジンの1つで、リレーショナルデータベースの仲間です。
AuroraはMySQLとPostgreSQLに互換性があり、クラウド向けにAWSが作ったデータベースです。AWSの公式ページでは、SysBenchなどのベンチマークで、同じようなハードウェアの標準のMySQLと比べて最大5倍、PostgreSQLと比べて最大3倍のスループットが出たと説明されています。
| 問題文のヒント | 選ぶサービス |
|---|---|
| MySQLやPostgreSQLと互換性がある、高性能・高可用性のリレーショナルデータベース | Amazon Aurora |
| OracleやSQL Serverなど、使い慣れたエンジンをそのまま使いたい | Amazon RDS |
| NoSQL、キーバリュー型 | Amazon DynamoDB |
Auroraを見たら、NoSQLではなくリレーショナルの側だと覚えておきましょう。選択肢にAuroraとDynamoDBが並んでいても、SQLやMySQL互換の話ならAuroraを選びます。
RDSのMulti-AZとリードレプリカの違いとは?¶
RDSについては、Multi-AZとリードレプリカの区別もよく問われます。どちらもデータベースのコピーを持つ仕組みなので、名前だけだと混ざりやすいところです。
| 仕組み | 目的 | 動き |
|---|---|---|
| Multi-AZ | 可用性を上げる(障害に備える) | 別のアベイラビリティーゾーン(AZ)にスタンバイを置き、障害時に自動で切り替える |
| リードレプリカ | 読み込みの性能を上げる | 読み取り専用のコピーを作り、読み込みの処理を分散する |
問題文に「障害」「可用性」「自動フェイルオーバー」とあればMulti-AZ、「読み込みが多い」「読み取りの負荷を分散」とあればリードレプリカです。
AZそのものの考え方があいまいな人は、リージョン・AZ・エッジロケーションの違いを先に読んでおくと、Multi-AZの意味がつかみやすくなります。
一緒に出やすいデータベースのサービス¶
RDSとDynamoDB以外にも、データベースの問題で選択肢に並びやすいサービスがあります。すべてを深く覚える必要はなく、一言で何をするサービスかを言えれば十分です。
| サービス | 一言でいうと |
|---|---|
| Amazon Redshift | 大量のデータを集計・分析するためのデータウェアハウス |
| Amazon ElastiCache | よく使うデータをメモリに置いて、読み込みを速くするキャッシュ |
| Amazon DocumentDB | MongoDB互換のドキュメントデータベース |
| Amazon Neptune | 人やモノのつながりを扱うグラフデータベース |
| AWS DMS | 既存のデータベースをAWSへ移行するサービス |
また、EC2にデータベースのソフトウェアを自分で入れて動かすこともできます。この場合、OSやデータベースのパッチ適用、バックアップはすべて利用者の仕事になります。RDSを使えば、それらの多くをAWSに任せられます。
この違いは責任共有モデルの考え方とつながっていて、CLF-C02では「どこまでを利用者が管理するか」という形で問われます。EC2そのものについては、AWSのEC2とは?で説明しています。
サービスの数が多くて覚えきれないと感じている人は、AWSのサービスが多すぎて覚えられないときの記事で、グループに分けて覚える方法を紹介しています。
CLF-C02のデータベースの練習問題7問¶
ここからは練習問題です。問題文の中のヒントに線を引くつもりで読んでみてください。
問題1:既存の業務システムの移行¶
ある会社は、社内のサーバーで動いているMySQLのデータベースをAWSへ移したいと考えています。アプリケーションはSQLで複数の表を結合しており、できるだけ変更せずに使いたいです。また、データベースのパッチ適用やバックアップはAWSに任せたいです。最も適したサービスはどれですか。
- A. Amazon DynamoDB
- B. Amazon RDS
- C. Amazon Redshift
- D. Amazon ElastiCache
正解:B
MySQL、SQLで表を結合、パッチ適用やバックアップを任せたい、という条件から、マネージドのリレーショナルデータベースであるRDSが合います。DynamoDBはNoSQLでJOINが無いため、アプリケーションの大きな変更が必要になります。
問題2:サーバーを意識しないデータベース¶
ゲームのプレイヤーの情報を、プレイヤーIDをキーにして大量に読み書きしたいです。サーバーの台数やサイズを管理したくなく、どれだけアクセスが増えても速く応答させたいです。最も適したサービスはどれですか。
- A. Amazon DynamoDB
- B. Amazon RDS for Oracle
- C. Amazon Aurora
- D. EC2にインストールしたMySQL
正解:A
キーで読み書き、サーバーを管理したくない、アクセスが増えても速い、という条件はDynamoDBの特徴そのままです。B・Cはリレーショナルで、インスタンスを選ぶ必要があります。Dはサーバーの管理がすべて利用者の仕事になります。
問題3:MySQL互換の高性能なデータベース¶
MySQLと互換性があり、クラウド向けに作られた、高性能で可用性の高いリレーショナルデータベースのサービスはどれですか。
- A. Amazon DynamoDB
- B. Amazon Neptune
- C. Amazon Aurora
- D. Amazon DocumentDB
正解:C
AuroraはMySQLとPostgreSQLに互換性のある、AWSが作ったリレーショナルデータベースです。DynamoDBとDocumentDBはNoSQL、Neptuneはグラフデータベースです。
問題4:RDSの可用性を上げる¶
RDSで動かしているデータベースについて、AZの障害が起きても自動で切り替わるようにしたいです。どの機能を使えばよいですか。
- A. リードレプリカ
- B. Multi-AZ配置
- C. Amazon CloudFront
- D. Amazon ElastiCache
正解:B
Multi-AZは、別のAZにスタンバイを置き、障害時に自動で切り替える仕組みです。リードレプリカは読み込みの性能を上げるための仕組みで、目的が違います。
問題5:大量データの分析¶
数年分の売上データを集めて、部署ごとの傾向を集計・分析したいです。最も適したサービスはどれですか。
- A. Amazon Redshift
- B. Amazon DynamoDB
- C. Amazon ElastiCache
- D. AWS DMS
正解:A
大量のデータを集計・分析する用途にはデータウェアハウスのRedshiftが合います。ElastiCacheは読み込みを速くするキャッシュ、DMSは移行のためのサービスです。
問題6:EC2とRDSの管理の違い¶
データベースをEC2に自分でインストールして使う場合と比べて、Amazon RDSを使う場合にAWSが引き受けてくれる作業はどれですか。
- A. データベースに入れるデータの内容の管理
- B. データベースへのアクセス権限を誰に与えるかの決定
- C. データベースのソフトウェアのパッチ適用
- D. アプリケーションのSQLの修正
正解:C
RDSでは、データベースのソフトウェアのパッチ適用などをAWSが行います。データの中身、アクセス権限を誰に与えるか、アプリケーションの修正は、RDSを使っても利用者の責任です。
問題7:データベースの移行¶
社内で動いているデータベースを、停止時間をできるだけ短くしてAWSへ移したいです。最も適したサービスはどれですか。
- A. AWS Database Migration Service
- B. Amazon Redshift
- C. Amazon Aurora
- D. AWS CloudTrail
正解:A
データベースの移行にはDMSを使います。Auroraは移行先の候補にはなりますが、移行の作業をするサービスではありません。
InfraAcademyで続けて練習しよう¶
間違えた問題があれば、問題文のどの言葉を見落としたのかを確認してみてください。RDSとDynamoDBの問題は、ヒントになる言葉を拾えるかどうかでほぼ決まります。
実際のAWSのコンソールでRDSを作る流れを見てみたい人は、RDSの概要や作成方法の記事で手順を紹介しています。なお、AWSの無料利用枠は2025年7月15日に新しい仕組みに変わっているので、実際に作成する前に、AWSの公式ページで料金と無料枠の条件を必ず確認してください。
料金を気にせずに手を動かしたい人は、InfraAcademy のAWSの講座を使ってみてください。講座の中のシミュレーターで、AWSの操作を順番に練習できます。講座の順番はAWSのロードマップで確認できます。
問題演習を続けたい人は、トップページのInfraAcademy の資格模擬問題から「AWS認定 クラウドプラクティショナー模擬試験150問」を解けます。ほかのサービスの使い分けも確認したい人は、EC2とLambdaの違いやS3・EBS・EFSの違いもあわせて読んでみてください。
まとめ¶
CLF-C02のデータベースの問題で、押さえておきたいところを振り返ります。
- RDSはリレーショナルで、SQLやJOINが使える。インスタンスの大きさは選ぶ
- DynamoDBはサーバーレスのNoSQLで、キーで読み書きする。JOINは無い
- AuroraはRDSのエンジンの1つで、MySQL・PostgreSQL互換のリレーショナルデータベース
- Multi-AZは可用性のため、リードレプリカは読み込みの性能のため
- 分析ならRedshift、キャッシュならElastiCache、移行ならDMS
- EC2に自分で入れるとパッチ適用も利用者の仕事。RDSならAWSに任せられる
データベースの問題は、サービスの名前を覚えるより、問題文のヒントの言葉とサービスを結びつけておくほうが確実に点になります。
この記事の表を見返しながら、1問ずつ理由を言えるようにしておきましょう。合格に向けて、一緒に進んでいきましょう。
参考¶
- In-Scope AWS Services - AWS Certified Cloud Practitioner (CLF-C02)
- Choosing your database engine for Amazon RDS - AWS
- What is Amazon DynamoDB? - AWS
- Amazon DynamoDB - Choosing an AWS NoSQL Database - AWS Whitepaper
- Amazon Aurora Features - AWS
- AWS Free Tier now offers $200 in credits and 6-month free plan - AWS



