Servisphere

モジュール 5 · SAA-C03

データベース

RDS、Aurora、DynamoDB、ElastiCache と専用データベース: データの種類、可用性、パフォーマンスから選びます。

  • 分野弾力性のあるアーキテクチャ
  • 分野高性能なアーキテクチャ
  • 分野コスト最適化
  • 図 15
  • 出題パターン 10
  • サービス 12

5 分で押さえる要点

  1. RDS Multi-AZ: 別の AZ に同期スタンバイを置き、同じ DNS 名のまま自動でフェイルオーバーします。スタンバイ(単一インスタンス型)は読み取りを処理しません。「可用性を高める」 → Multi-AZ、「読み取り負荷を減らす」 → リードレプリカ。この 2 つは別物です。
  2. リードレプリカは非同期でレプリケーションし、読み取りが可能です。同一または別リージョンに置け、独立した DB に昇格できます(RDS MySQL は最大 15 台)。重いレポートでプライマリ DB が遅くなる → リードレプリカ。別リージョンへの DR → クロスリージョンのリードレプリカを作って昇格。
  3. RDS の自動バックアップは 0~35 日保持され(0 は無効)、特定の時点へ復元できます。手動スナップショットは削除するまで保持されます。35 日を超えて保持したい場合は、手動スナップショットまたは AWS Backup。
  4. Aurora: 3 つの AZ にコピーを持つ共有ストレージが自動で拡張され(バージョンによって最大 256 TiB)、Aurora Replica は最大 15 台、レプリケーション遅延は通常 100 ms 未満です。レプリカが同じストレージを読むため、Aurora のフェイルオーバーは高速です。書き込みは writer endpoint、読み取りの分散は reader endpoint を使います。
  5. Aurora Global Database: 書き込み用 1 リージョン + 読み取り専用のセカンダリリージョン最大 10 個。レプリケーションは通常 1 秒未満です。低い RPO / RTO で別リージョンへ DR したい場合、またはグローバルユーザー向けに低レイテンシーで読み取りたい場合。
  6. Aurora Serverless v2 は需要に応じてスケールします。RDS Proxy は、多数の接続を開く Lambda / アプリケーションのために接続をプールします。Lambda が RDS の接続数を使い切る → RDS Proxy(フェイルオーバーも速くなり、IAM / Secrets Manager が使えます)。
  7. DynamoDB: NoSQL のキーバリューストアで、どの規模でもミリ秒台のレイテンシーです。アイテムは最大 400 KB。on-demand(リクエスト課金)または provisioned(RCU / WCU、auto scaling あり)。トラフィックが予測しにくい → on-demand。安定していて低コストにしたい → provisioned + auto scaling。
  8. 1 RCU = 4 KB 以下のアイテムを毎秒 1 回の強い整合性のある読み取り(結果整合性なら 2 回)。1 WCU = 1 KB 以下のアイテムを毎秒 1 回の書き込み。トランザクションは 2 倍かかります。キャパシティ計算問題: アイテムサイズは、読み取りなら 4 KB、書き込みなら 1 KB の倍数に切り上げます。
  9. DynamoDB のキー: パーティションキー(+ ソートキー)。GSI: まったく別のキーで、いつでも作成でき、結果整合性のみ。LSI: パーティションキーは同じでソートキーが異なり、テーブル作成時にしか作れず、最大 5 つ。別の属性で検索したい → GSI。Scan は避けます。
  10. DynamoDB Streams + Lambda で変更に応じた処理、Global Tables でマルチリージョンの active-active、PITR で 35 日間を秒単位で復元、TTL で期限切れアイテムを自動削除します。新規注文時にメールを送る → Streams + Lambda。複数の大陸のユーザーが同時に書き込む → Global Tables。
  11. キャッシュ: DynamoDB には DAX(マイクロ秒、コード修正ほぼ不要)、あらゆるデータソースには ElastiCache(Valkey / Redis OSS: レプリケーション、バックアップ、豊富なデータ構造。Memcached: シンプル、マルチスレッド、レプリケーションなし)。RDS からの繰り返し読み取りが多い → ElastiCache(cache-aside)。ランキング → Valkey / Redis の sorted set。
  12. 専用データベース: DocumentDB(MongoDB)、Neptune(グラフ)、Keyspaces(Cassandra)、Timestream(時系列)、Redshift(データウェアハウス、OLAP)、MemoryDB(耐久性のある Redis をプライマリ DB として使用)。試験ではデータモデルが示されることが多く、モデルに合わせて選びます。友人関係 → Neptune、時間軸の IoT データ → Timestream。
  13. RDS の暗号化は作成時に有効にする必要があります。暗号化されていない DB は、スナップショット → 暗号化付きでスナップショットをコピー → 復元します。リードレプリカの暗号化状態はソースと同じです。

構成図

RDS Multi-AZ とリードレプリカ

RDS Multi-AZ とリードレプリカRegionAZ aAZ bAZ c読み書き1同期1非同期2読取のみ2アプリレポートツールPrimaryStandby読取不可Read replica
書き込みはプライマリへ送ります。別 AZ のスタンバイは同期でデータを受け取り、フェイルオーバー時にのみ使われます。リードレプリカは非同期で受け取り、読み取り(レポートなど)を処理します。

ステップ

  1. 書き込みは毎回、別 AZ のスタンバイへ同期でコピーされます。
  2. リードレプリカは非同期で受け取り、レポートツールはここから読み取るため、プライマリは遅くなりません。
  3. プライマリまたは AZ a に障害が起きると、RDS が DNS 名をスタンバイに切り替え、アプリは同じエンドポイントに再接続します。

Aurora: writer、reader、共有ストレージ

Aurora: writer、reader、共有ストレージAurora clusterwriter endpoint1reader endpoint2122アプリWriterAZ aReplicaAZ bReplicaAZ cCluster vol3 AZ にコピー
すべてのインスタンスが、3 つの AZ にコピーを持つ 1 つのクラスターボリュームを読み書きします。書き込みは writer endpoint、読み取りは reader endpoint(レプリカに均等に分散)経由です。writer に障害が起きると、レプリカの 1 つが昇格します。

ステップ

  1. 書き込みは writer endpoint を通り、データは共有のクラスターボリュームに保存されます。
  2. 読み取りは reader endpoint を通り、Aurora Replica に分散されます(遅延は通常 100 ms 未満)。

Aurora Global Database

Aurora Global Databaseus-east-1(主)eu-west-1(副)write11 秒未満1現地で読取2米国ユーザーEU ユーザーPrimary読み書きSecondary読取専用
書き込みは 1 つのリージョンで行い、読み取り専用のセカンダリリージョンには専用インフラ経由で通常 1 秒未満でデータが届きます。プライマリリージョンに障害が起きたら、セカンダリリージョンを昇格させます。

ステップ

  1. 書き込みはプライマリリージョンで行い、ストレージ層でセカンダリリージョンへレプリケーションされます(通常 1 秒未満)。
  2. ヨーロッパのユーザーは近いリージョンで読み取ります。プライマリリージョンに障害が起きたら、セカンダリクラスターにフェイルオーバーします。

RDS Proxy による Lambda の接続プール

RDS Proxy による Lambda の接続プールVPC1多数の接続1少数の接続2パスワード取得2API GatewayLambda同時 1,000 実行RDS Proxy接続プールRDSSecrets Manager
数千の Lambda 実行が Proxy に接続を開き、Proxy は少数の接続プールを再利用してデータベースに接続し、認証情報は Secrets Manager から取得します。

ステップ

  1. Lambda の各実行環境は、データベースではなく Proxy に接続します。
  2. Proxy は小さな接続プールを再利用し、認証情報を Secrets Manager から取得します。フェイルオーバーも速くなります。

ElastiCache による cache-aside

ElastiCache による cache-asideアプリElastiCacheRDS1. GET product:422. ミス (miss)3. SELECT … WHERE id = 424. データ5. SET product:42, TTL 300 秒6. 次回: GET → ヒット (hit)
まずキャッシュを読み、ミスならデータベースを読んで TTL 付きでキャッシュに書き込みます。新しいデータを書き込むときは、キャッシュ内のキーを削除(または更新)します。

DynamoDB の前段に DAX

DynamoDB の前段に DAXVPCGetItem / Query1ミス時、write-through2アプリDAX clientDAX clusterprimary 1 + replicaDynamoDB
アプリケーションは DAX クライアント(同じ API)に切り替えます。キャッシュヒットした読み取りはマイクロ秒で返り、書き込みは DAX を経由して DynamoDB に届きます。

ステップ

  1. 繰り返しの読み取りは DAX のメモリから返されます(マイクロ秒)。
  2. キャッシュミスまたは書き込み: DAX が DynamoDB を呼び出し、キャッシュを更新します。

DynamoDB のキー、GSI、LSI

DynamoDB のキー、GSI、LSI表と同時作成1非同期で複製2Query1Query2Orders 表PK customerId · SK orderDateLSIPK customerId · SK totalGSIPK status · SK orderDate顧客の注文を金額順配送中の全注文
Orders テーブルのキーは customerId + orderDate です。LSI はパーティションキーを維持してソートキーを変えます(テーブルと同時に作成が必要)。GSI はまったく別のキー(status)を使い、後から追加できます。

ステップ

  1. LSI: 同じ顧客のデータを別の属性で並べ替えます。強い整合性のある読み取りが可能です。
  2. GSI: Scan なしでまったく別の属性で検索します。結果整合性のみです。

DynamoDB Streams で処理を起動

DynamoDB Streams で処理を起動PutItem11バッチ読取222注文アプリOrders 表StreamNEW_IMAGELambdaSES確認メールOpenSearch検索
アイテムの変更ごとに、ストリームに 1 件のレコードが作られます(24 時間保持)。Lambda がバッチで読み取り、通知の送信、検索インデックスの更新、統計の書き込みを行います。

ステップ

  1. アプリはテーブルに書き込むだけで、DynamoDB が変更をストリームに流します。
  2. Lambda がストリームをバッチで読み取り、メール送信と検索インデックスの更新を行います。

DynamoDB Global Tables: 複数リージョンで書き込み

DynamoDB Global Tables: 複数リージョンで書き込みus-east-1eu-west-1ap-southeast-111122ReplicaReplicaReplicaUS欧州アジア
各リージョンに読み書き可能なレプリカがあり、変更は他のリージョンにレプリケーションされます。ユーザーは最も近いリージョンで読み書きします。

ステップ

  1. 各拠点は、近いリージョンのレプリカに読み書きします(active-active)。
  2. 変更は他のレプリカにレプリケーションされます。

データモデルに合わせたデータベース選び

データモデルに合わせたデータベース選びアプリAurora / RDSリレーショナルDynamoDBKey-valueElastiCacheCacheNeptuneグラフDocumentDBMongoDBTimestream時系列RedshiftDWH
すべての用途に合うデータベースはありません。試験ではデータとクエリ方法が説明されることが多く、そのモデルに特化したサービスが正解になります。

RDS: 自動バックアップ、特定時点への復元、手動スナップショット

RDS: 自動バックアップ、特定時点への復元、手動スナップショットRegion読み書き自動1手動取得2時点を指定3restore4App稼働中の RDS自動 backupログは 5 分毎手動 snapshot自動失効なし新 RDS新 endpoint
どの復元(特定時点でもスナップショットからでも)も、新しいエンドポイントを持つ新しい DB インスタンスを作成し、既存のインスタンスは上書きしません。アプリケーションは接続文字列を変更する必要があります。

ステップ

  1. 自動バックアップ: バックアップウィンドウ中に毎日ボリュームのスナップショットを取得し、トランザクションログを 5 分ごとに S3 へ送ります。設定した日数だけ保持されます(0 は無効)。
  2. 手動スナップショットは自動では失効せず、インスタンスを削除しても残ります(リージョンあたり最大 100 個)。
  3. 特定時点への復元: バックアップ保持期間内の任意の時点を選べます。結果は新しいインスタンスになります。
  4. スナップショットからの復元も新しいインスタンスになります。アプリを新しいエンドポイントに向けてから、古いインスタンスを削除します。

稼働中の未暗号化 RDS を暗号化する

稼働中の未暗号化 RDS を暗号化する管理者旧 RDS(未暗号化)SnapshotKMS新 RDS(暗号化)App1. 手動スナップショット取得(未暗号化)2. スナップショットを暗号化コピー、KMS キー指定3. コピーが KMS キーで暗号化される4. 暗号化コピーから新規インスタンスを restore5. エンドポイントを切替、確認後に旧インスタンス削除
RDS の暗号化は作成時にしか有効にできず、その場での有効化も、後からの無効化もできません。手順: スナップショット → 暗号化付きでスナップショットをコピー → 新しいインスタンスに restore(または blue/green deployment)。

Aurora Serverless v2: writer と reader が ACU で自動スケール

Aurora Serverless v2: writer と reader が ACU で自動スケールAurora cluster (Multi-AZ)write1read2333AppServerless writermin–max ACUReader tier 0–1writer に追従Provisioned reader固定サイズ共有 volume3 AZ に 6 コピー
1 つのクラスターに serverless と provisioned のインスタンスを混在させられます。コンピュートは ACU 単位(1 ACU あたり約 2 GiB の RAM)でスケールし、ストレージは共有でコンピュートから分離されています。

ステップ

  1. Serverless writer は負荷に応じて最小 0.5 ACU 刻みで ACU を増減し、接続は切れません。新しいバージョンでは最小 0 ACU に対応します(アイドル時は自動一時停止)。
  2. promotion tier 0–1 の reader は writer に追従してスケールし、フェイルオーバーに備えます。tier 2–15 は独立してスケールします(レポート処理向き)。
  3. コンピュートが小さくなってもデータはクラスターボリューム上にそのまま残ります(3 AZ に 6 コピー)。同じクラスターに provisioned の reader も混在させられます。

DynamoDB の capacity モードの選び方

DynamoDB の capacity モードの選び方いいえ1はい2はい3いいえ2トラフィックは予測可能で安定?On-demand通年で安定、さらに割引したい?Provisioned + reservedcapacity(1/3 年)Provisioned + autoscaling
on-demand が AWS 推奨の既定です。provisioned は負荷が安定していて予測できる場合に向いています。reserved capacity は Standard クラスの provisioned テーブルにのみ適用されます。

ステップ

  1. 新しいアプリケーションで、負荷が急増し予測できない場合: on-demand。リクエスト単位の課金で、キャパシティプランニングは不要です。
  2. 負荷が安定していて予測できる場合: provisioned(使い切らなくても事前設定したキャパシティ分を課金)+ auto scaling。
  3. 長期にわたって安定したベース負荷がある場合: provisioned 分の reserved capacity を購入して割引を受けます。

Redshift RA3: コンピュートと managed storage を分離、Spectrum でデータレイクを読み取り

Redshift RA3: コンピュートと managed storage を分離、Spectrum でデータレイクを読み取りRA3 clusterSQL11122Spectrum3or4BI / SQL clientLeader nodeクエリ計画を作成Compute nodeSSD cacheCompute nodeSSD cacheManaged storageS3 上、別課金S3 data lakeParquetRedshift Serverlessnode 管理不要
leader node が SQL を受け取り、実行計画を立てて結果を集約し、compute node が並列に実行します。RA3(と新しい RG)ではデータは managed storage(ローカル SSD + S3)に置かれ、コンピュートとストレージは別々に課金されます。

ステップ

  1. leader がクエリを受け取り、compute node に分割して並列実行します。課金されるのは compute node のみです。
  2. ローカル SSD を超えたデータは自動的に S3 上の managed storage に退避されます。node を増やさずにストレージを増やせます。
  3. Spectrum は、クラスターにロードせずに S3(データレイク)上のファイルを直接クエリします。
  4. クラスターを管理したくない場合: Redshift Serverless がコンピュートを自動で割り当て、スケールします。

比較表

Multi-AZ とリードレプリカ

Multi-AZ(DB インスタンス)リードレプリカ
目的高可用性、フェイルオーバー読み取り負荷の分散、DR
レプリケーション同期非同期
読み取り可否不可(スタンバイ)可
範囲別 AZ、同一リージョン同一 AZ、別 AZ、または別リージョン
プライマリ障害時自動で切り替わり、エンドポイントは変わらない昇格が必要で、エンドポイントは新しくなる

RDS と Aurora

RDSAurora
エンジンMySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Db2MySQL 互換、PostgreSQL 互換
ストレージインスタンスにアタッチされた EBS、事前にサイズを割り当て(autoscaling あり)共有クラスターボリューム、3 つの AZ にコピー、自動拡張
リードレプリカ最大 15 台(MySQL)、非同期最大 15 台、通常 100 ms 未満、フェイルオーバー先
マルチリージョンクロスリージョンのリードレプリカGlobal Database(セカンダリリージョン最大 10 個、1 秒未満)

DynamoDB: GSI と LSI

GSILSI
パーティションキーベーステーブルと異なるベーステーブルと同じ
作成いつでも可テーブル作成時のみ
上限テーブルあたり 20(既定、引き上げ申請可)テーブルあたり 5
強い整合性のある読み取り不可可
キャパシティ独立した RCU / WCUテーブルと共有、item collection は最大 10 GB

キャッシュの選び方

DAXElastiCache (Valkey / Redis OSS)ElastiCache (Memcached)
利用対象DynamoDB のみあらゆるデータソースあらゆるデータソース
コード修正ほぼ不要(SDK が DynamoDB API と互換)必要(cache-aside、write-through)必要
レプリケーション / フェイルオーバーあり(プライマリ 1 台 + レプリカ最大 10 台)ありなし
バックアップ、データ構造—バックアップあり。sorted set、list、pub/sub などバックアップなし(node 単位)。単純なキーバリューのみ、マルチスレッド

データモデル別のデータベース

要件サービス
リレーショナル、トランザクション(OLTP)RDS、Aurora
大規模なキーバリュー / ドキュメント、安定したレイテンシーDynamoDB
MongoDB 互換DocumentDB
グラフ(SNS、レコメンド、不正検出)Neptune
Cassandra 互換Keyspaces
時系列(IoT、メトリクス)Timestream
データウェアハウス、分析(OLAP)Redshift
インメモリキャッシュElastiCache
耐久性のある Redis をプライマリデータベースとして使うMemoryDB

よく出る出題パターン

1RDS MySQL データベースは、AZ に障害が起きたときに自動で別のマシンに切り替わり、アプリケーションは接続文字列を変更しなくて済む必要があります。

答えを見る

正解: Multi-AZ を有効にする
スタンバイは同期されており、障害時には RDS が同じ DNS 名をスタンバイに自動で向け直します。

不正解: 別の AZ にリードレプリカを作成する
レプリカは非同期で、手動で昇格する必要があり、エンドポイントも変わります。

2月末のレポートクエリが、注文データベース(RDS PostgreSQL)を遅くしています。

答えを見る

正解: リードレプリカを作成し、レポートツールはレプリカから読み取らせる
重い読み取り負荷をプライマリから切り離せます。

不正解: Multi-AZ を有効にする
スタンバイは読み取りを処理しません。

不正解: インスタンスサイズを大きくする
数日分の負荷のために 1 か月分の費用がかかります。

3Aurora 上のグローバルアプリケーションで、RPO 約 1 秒の別リージョン DR と、ヨーロッパでの低レイテンシー読み取りが必要です。

答えを見る

正解: ヨーロッパにセカンダリクラスターを置いた Aurora Global Database
レプリケーションは通常 1 秒未満で、セカンダリクラスターが現地で読み取りを処理し、プライマリリージョン障害時には昇格できます。

不正解: 毎日のスナップショットを別リージョンにコピーする
RPO が最大 24 時間になります。

4数千の Lambda 関数が同時に実行され、RDS が「too many connections」エラーを返します。

答えを見る

正解: Lambda と RDS の間に RDS Proxy を置く
Proxy が共有の接続プールを保持し、IAM / Secrets Manager に対応して、フェイルオーバーも速くなります。

不正解: max_connections とインスタンスサイズを増やす
上限を押し上げるだけで、接続の開閉を繰り返す問題は解決しません。

5商品ページが同じデータを RDS から毎秒数千回読み取っています。DB の負荷とレイテンシーを下げたい。

答えを見る

正解: cache-aside と TTL を使った ElastiCache(Valkey / Redis OSS)
メモリからマイクロ秒単位で読み取れ、DB にはキャッシュミスの読み取りだけが届きます。

不正解: DAX
DAX は DynamoDB 専用です。

6DynamoDB テーブルで同じアイテムが何度も繰り返し読まれています。キャッシュのロジックを書き直さずに、マイクロ秒台のレイテンシーが必要です。

答えを見る

正解: DynamoDB Accelerator(DAX)
DynamoDB API 互換の write-through キャッシュで、クライアントを切り替えるだけで使えます。

不正解: ElastiCache
キャッシュのロジックとデータ同期を自分で実装する必要があります。

7新しいアプリケーションで、トラフィックが予測できず(ゼロの時もあれば急増する時もある)、キャパシティプランニングをしたくありません。

答えを見る

正解: DynamoDB on-demand
リクエスト単位の課金で、負荷に自動で対応します。

不正解: auto scaling なしの DynamoDB provisioned
急増時にスロットリングされ、閑散時は無駄になります。

8DynamoDB テーブルのキーは customerId です。Scan を使わずに、状態(status)で注文を検索する必要が出てきました。

答えを見る

正解: status をパーティションキーとする GSI を作成する
GSI は別のキーを持て、テーブル作成後にも追加できます。

不正解: status に LSI を作成する
LSI はテーブル作成時にしか作れず、パーティションキーも customerId のままです。

不正解: フィルター付きの Scan
テーブル全体を読み取り、RCU を消費します。

9DynamoDB に新しい注文が入るたびに確認メールを送る必要があります。注文を書き込むコードは変更しません。

答えを見る

正解: DynamoDB Streams を有効にし、Lambda でストリームを処理する
アイテムの変更ごとにストリームレコードが作られ、Lambda がバッチで取得します。

不正解: スケジュール実行の Lambda でテーブルをスキャンする
遅延があり、Scan で RCU も消費します。

10SNS アプリで「共通の趣味を持つ友人の友人」を高速に検索する必要があります。

答えを見る

正解: Amazon Neptune
グラフデータベースで、複数ホップの関係を効率よくたどれます。

不正解: 多数の JOIN を使った RDS
多段の JOIN は、データが増えるほど遅くなります。

早見表

データベースとスケール方法をどう選ぶか

やりたいこと使うもの
リレーショナル、1 リージョン内で高可用性が必要RDS Multi-AZ または Aurora · 図を見る
RDS / Aurora の読み取り負荷を減らすリードレプリカ / Aurora Replica + reader endpoint · 図を見る
別リージョンへの DR、RPO 約 1 秒Aurora Global Database · 図を見る
Lambda が接続を開きすぎるRDS Proxy · 図を見る
RDS からの読み取りが多いデータのキャッシュElastiCache(cache-aside) · 図を見る
DynamoDB 向けのマイクロ秒キャッシュDAX · 図を見る
大規模なキーバリュー、安定したレイテンシーDynamoDB(適切なキー設計、別のクエリには GSI) · 図を見る
DynamoDB のデータ変更時に処理を実行DynamoDB Streams + Lambda · 図を見る
複数リージョンで同時に書き込みDynamoDB Global Tables · 図を見る
グラフ、ドキュメント、時系列、データウェアハウスNeptune、DocumentDB、Timestream、Redshift · 図を見る
オンプレミスのデータベースを低ダウンタイムで AWS に移行DMS(エンジン変更時は Schema Conversion も)

落とし穴

  • 読み取り負荷の分散に Multi-AZ のスタンバイを使う(単一インスタンスの Multi-AZ は読み取れません)。
  • 同一リージョン内の自動 HA としてリードレプリカを使う(レプリカは昇格が必要で、エンドポイントも変わります)。
  • RDS の自動バックアップを 35 日を超えて保持できると思い込む。
  • 「コード修正なし」が強調されているのに、RDS に DAX、または DynamoDB に ElastiCache を使う。
  • レプリケーション、バックアップ、sorted set が必要なのに Memcached を選ぶ。
  • テーブル作成後に LSI を作ろうとする(不可)、または GSI で強い整合性のある読み取りを求める。
  • 大きなテーブルで、値の種類が少ない属性(例: status)をパーティションキーに選ぶ(ホットパーティション、スロットリング)。
  • 頻繁なクエリに Query + GSI ではなく Scan を使う。
  • DynamoDB に 400 KB を超えるアイテムを保存する(ファイルは S3 に置き、パスを保存する)。
  • 稼働中の未暗号化 RDS の暗号化をそのまま有効にできると思い込む(スナップショット経由が必要)。
  • OLTP に Redshift、または数十億行の分析に RDS を使う。
  • 複数リージョンから同時に書き込む負荷に RDS を使う(正解は DynamoDB Global Tables)。

このモジュールのサービス

変わりやすい数値 (AWS ドキュメントで確認済み)

  • RDS はリードレプリカへ非同期でレプリケーションします。リードレプリカは別リージョンにも置け、独立した DB に昇格できます。RDS はリードレプリカの台数を自動でスケールしません。 2026-10-16 確認 ↗
  • RDS for MySQL: 1 つのソース DB インスタンスにつき、同一リージョン内で最大 15 台のリードレプリカ。 2026-10-16 確認 ↗
  • RDS の自動バックアップは 0~35 日保持されます(0 は無効)。既定は console で作成すると 7 日、API / CLI で作成すると 1 日です。 2026-10-16 確認 ↗
  • Aurora のクラスターボリュームは 3 つの AZ にコピーを持ち、エンジンバージョンによって最大 256 TiB まで自動拡張します。 2026-10-16 確認 ↗
  • Aurora Replica は最大 15 台。レプリケーション遅延は通常 100 ms 未満で、レプリカはフェイルオーバー先になります。 2026-10-16 確認 ↗
  • Aurora Global Database: プライマリリージョン 1 つとセカンダリリージョン最大 10 個。レプリケーションは通常 1 秒未満です。 2026-10-16 確認 ↗
  • DynamoDB: アイテムは最大 400 KB。1 RCU = 4 KB 以下のアイテムを毎秒 1 回の強い整合性のある読み取り(または結果整合性の読み取り 2 回)。1 WCU = 1 KB 以下のアイテムを毎秒 1 回の書き込み。トランザクションは 2 倍。 2026-10-16 確認 ↗
  • DynamoDB: テーブルあたり LSI は最大 5 つ、GSI は既定で 20 個。 2026-10-16 確認 ↗
  • DynamoDB の PITR は最大 35 日間を秒単位で復元できます(1~35 日で設定可能)。 2026-10-16 確認 ↗
  • DAX: クラスターあたり、プライマリ node 1 つとリードレプリカ 0~10 台。 2026-10-16 確認 ↗
  • ElastiCache Memcached はマルチスレッドで、レプリケーション / フェイルオーバーはありません。Valkey と Redis OSS はレプリケーション、フェイルオーバー、pub/sub、sorted set、バックアップに対応します。 2026-10-16 確認 ↗
  • RDS の特定時点への復元は新しい DB インスタンスを作成し、元のインスタンスは変更しません。RDS はトランザクションログを 5 分ごとに S3 へ送信します。 2026-10-19 確認 ↗
  • RDS の暗号化は作成時にしか有効にできません。既存のインスタンスを暗号化するには、暗号化付きでスナップショットをコピーして復元します(または blue/green)。暗号化を無効にすることはできません。 2026-10-19 確認 ↗
  • Aurora Serverless v2: 1 ACU ≈ 2 GiB の RAM。範囲は 0~256 ACU(0 ACU = 自動一時停止、エンジンバージョンによる)。クラスター内に serverless と provisioned を混在させられます。 2026-10-19 確認 ↗
  • DynamoDB: on-demand が推奨される既定のモードです。reserved capacity は Standard クラスの provisioned テーブルのみが対象で、期間は 1 年(一部リージョンでは 3 年)です。 2026-10-19 確認 ↗
  • Redshift RA3 / RG は managed storage(ローカル SSD + S3)を使い、compute とストレージは別々に課金されます。課金対象は compute node のみで、leader node は課金されません。 2026-10-19 確認 ↗
このモジュールの問題を解く →