Q1 — 単一選択大規模ECサイトでは、通常時の読み取りの80%が上位100商品に集中している。
一方、残りの検索処理は数百万商品のさまざまな条件を対象としており、キャンペーン時には両方の読み取りが増加する。
書き込み負荷は低い。
最も適切な設計判断はどれか。
A. すべての読み取りを同じ方式で処理し、プライマリDBだけを縦にスケールする
B. 人気商品の反復読み取りには再利用を適用し、多様な検索処理には読み取り処理の水平分散を組み合わせる
C. 検索結果の種類に関係なく、すべての読み取りをAmazon SQSへ格納して後から処理する
D. 人気商品への集中を解消するため、商品データへの書き込みを複数のキューへ分割する
答えと解説
答え:B
このワークロードには、
同じデータへの集中
+
多様なデータへの大量読み取り
が同時に存在します。1つの読み取り集中型への対策だけでなく、読み取りの形ごとに分けて設計します。
Q2 — 単一選択Amazon DynamoDBで毎秒多数のイベントを書き込んでいる。
パーティションキー値自体は100万種類以上存在するが、現在処理中の1つの顧客IDへ全書き込みの70%が集中しており、その顧客だけスロットリングされる。
最も適切な判断はどれか。
A. キーの種類が100万以上あるため分散は十分であり、テーブル全体のキャパシティだけを増やす
B. パーティションキー値の種類ではなく実際のアクセス分布を確認し、集中する顧客の書き込みを複数キーへ分散できる設計を評価する
C. 読み取り負荷を減らすためDAXを導入し、集中している書き込み先は変更しない
D. 同じ顧客IDを維持したまま、プロビジョンドキャパシティからオンデマンドへ変更すればキー集中自体も解消される
答えと解説
答え:B
決定条件は、
キーの種類の多さ
ではなく、
実際の要求が
パーティションキー全体へ
分散しているか
です。
Q3 — 単一選択Amazon DynamoDBで、日付を基準としたイベントを大量に書き込む必要がある。
単一の日付キーでは書き込みが集中するため、2026-09-15#0〜2026-09-15#99へランダムに分散する方式を検討している。
この設計で最も重要なトレードオフはどれか。
A. 書き込みは分散しやすくなるが、その日全体を取得する場合は複数のシャードへ問い合わせて結果を統合する必要がある
B. 計算可能なサフィックスと同様に、ランダムサフィックスでも各項目の格納先シャードをキー情報から事前に一意に算出できる
C. シャード数を増やせば書き込み先は分散しやすくなるが、その日全体を取得する際の問い合わせ先数はシャード数に関係なく一定である
D. 日付だけをキーにしたグローバルセカンダリインデックスを追加すれば、ランダムシャーディングしたデータでも常に1回のQueryで日全体を取得できる
答えと解説
答え:A
ランダムシャーディングでは、
書き込みを複数キーへ分散できる
一方、
論理グループ全体の読み取り
↓
各シャードへの問い合わせ
+
結果統合
が必要になる場合があります。計算可能なシャーディングなら特定項目の格納先を推定しやすくなりますが、ランダム方式では同じようには扱えません。
Q4 — 単一選択あるサービスでは通常1,000件/秒だが、毎時5分間だけ8,000件/秒へ増加する。
非同期処理部分は既にキューで吸収できている一方、利用者へ200 ms以内に結果を返す同期APIも同時に8倍へ増加する。
最も適切な判断はどれか。
A. 非同期処理を吸収できているため、同期API側の処理能力は増やす必要がない
B. すべての同期APIもキューへ送り、応答時間要件を無視して後から処理する
C. 非同期経路は既存のバッファを使い、同期APIは水平スケールなどでピーク処理能力を確保する
D. バースト時間が短いため、同期・非同期に関係なくすべてのコンポーネントを固定で最大負荷へ合わせる
答えと解説
答え:C
同じバーストでも、
非同期経路
と、
応答時間制約のある同期経路
では適用できるアーキテクチャが異なります。
Q5 — 単一選択分析処理では、10 TBのログ本体を大きなブロックで連続読み取りする一方、小さなインデックス情報を多数ランダム参照する。
ストレージ性能のボトルネックを特定するとき、最も適切な評価方法はどれか。
A. 転送データ量の大きいログ本体を基準に、両方の処理をスループットだけで評価する
B. 応答時間へ影響しやすいインデックス参照を基準に、両方の処理をIOPSだけで評価する
C. ジョブ全体の平均スループットと平均IOPSを1つの値に集約し、処理経路の違いは区別しない
D. ログ本体はスループット、インデックス参照はIOPSとレイテンシーを中心に、処理経路ごとのアクセス特性で評価する
答えと解説
答え:D
大きな連続読み取りと小さなランダム読み取りでは支配的な性能指標が異なります。ワークロード全体を1つの平均値で扱わず、処理経路ごとにスループット、IOPS、レイテンシーを評価します。
Q6 — 単一選択Amazon S3に保存された1 TBのオブジェクトを多数の分析ノードから高速に読み出したい。
ネットワーク帯域には余裕があり、アプリケーション側では取得範囲を分割できる。
最も適切な設計はどれか。
A. 各ノードで単一接続の1回のGETだけを使用し、S3側の自動スケーリングだけに依存する
B. オブジェクトをAmazon EBSへ毎回コピーしてから、すべてのノードが1台のEC2インスタンス経由で取得する
C. Rangeを利用して異なるバイト範囲を複数接続から並列取得し、クライアント側でも処理を分散する
D. オブジェクトのメタデータだけをDynamoDBへ保存し、データ本体の取得経路は単一接続のままにする
答えと解説
答え:C
サービス側だけでなく、
クライアント側の並列度
も大規模アクセス時の重要な設計要素です。
Q7 — 単一選択Amazon S3へのリクエストレートを短時間で大幅に増加させたところ、一時的に503 Slow Downが発生した。
アプリケーションは複数接続で並列アクセスしている。
最も適切な対応はどれか。
A. S3は高いリクエストレートへスケールするため、再試行処理を実装し、一時的な503を監視しながら並列アクセスを継続する
B. 503を完全に防ぐため、すべてのS3アクセスを単一接続・単一スレッドへ変更する
C. オブジェクトキーを必ずランダムなプレフィックスへ変更しなければ、現在のS3では高リクエストレートへ対応できない
D. 503が1回でも発生した場合は、S3がそのリクエストレートを恒久的に処理できないと判断する
答えと解説
答え:A
急激なリクエスト増加時には一時的な503が発生する可能性があるため、
再試行
+
監視
を含めて設計します。
Q8 — 単一選択ある分散システムでは、全体のCPU使用率は30%である。
しかし処理ノードの1台だけが常時100%で、そこへ全リクエストの60%が集中している。
性能改善として最初に確認すべきものはどれか。
A. 平均CPU使用率が低いため、性能問題ではないと判断する
B. すべてのノードを同時に2倍のサイズへ変更し、リクエスト分布は変更しない
C. 1台だけ大きなノードへ変更し、集中するリクエストをさらにそのノードへ集約する
D. ルーティングやキー設計など、なぜ特定ノードへ負荷が集中しているかを確認し、分散可能か評価する
答えと解説
答え:D
大規模設計では、
平均値
だけでなく、
負荷分布
を確認します。