AWS認定資格 WEB問題集&徹底解説
データエンジニア-アソシエイト
問題文と選択肢
この変更によって生じる結果として、MOST 適切なものはどれですか。
- 新しいインスタンス上で KCL ワーカーが起動しても自動的な再分配は行われないため、既存の1台が6個のシャードを処理し続け、残り2台は処理を行わない
- 3台のインスタンス上で KCL ワーカーが起動し、既存インスタンスと負荷分散した結果、各インスタンスが2個ずつシャードを処理するようになる
- インスタンス数がシャード数を上回るまでは再分配が発生しないため、シャードの処理が一時的に停止する
- 3台のインスタンスがそれぞれ6個のシャードすべてを重複して処理するようになる
A. 新しいインスタンス上で KCL ワーカーが起動しても自動的な再分配は行われないため、既存の1台が6個のシャードを処理し続け、残り2台は処理を行わない
KCL は各シャードの所有権をリースとして DynamoDB のリーステーブルに記録し、ワーカーは定期的にテーブルを確認して「自分が持つべきリース数」を計算します。
他のワーカーが平均より多くのリースを持っていればリースを引き取る(lease stealing)ため、新しいワーカーを起動するだけで再分配は自動的に行われます。
手動の割り当て作業は不要で、「再分配されない」という記述は KCL の基本動作に反します。
B. 3台のインスタンス上で KCL ワーカーが起動し、既存インスタンスと負荷分散した結果、各インスタンスが2個ずつシャードを処理するようになる
同じアプリケーション名(=同じリーステーブル)を共有する KCL ワーカーが 3 台になると、6 個のシャードのリースが 3 台に均等に配分され、各インスタンスが 2 個ずつのシャードを処理する状態に落ち着きます。
再分配はリースの更新周期に沿って段階的に進み、その間も処理は継続されます。これが KCL によるスケールアウトの標準的な挙動です。
なおスケールアウトの上限はシャード数であり、ワーカーを 7 台以上にしても余剰のワーカーはリースを取得できずアイドルになります。
C. インスタンス数がシャード数を上回るまでは再分配が発生しないため、シャードの処理が一時的に停止する
逆です。ワーカー数がシャード数を上回った場合に起きるのは余剰ワーカーがリースを取得できずアイドルになることだけで、処理が止まることはありません。
本問はワーカー 3 台に対してシャード 6 個なので、そもそもワーカー数がシャード数を上回ってもいません。
リースの移譲中もチェックポイントを引き継いで処理は継続されるため、「処理が一時的に停止する」という結果は生じません。
D. 3台のインスタンスがそれぞれ6個のシャードすべてを重複して処理するようになる
1 つのシャードのリースを保持できるワーカーは同時に 1 つだけで、KCL はこの排他制御によって同じレコードが複数のワーカーで重複処理されるのを防いでいます。
同じデータを複数のアプリケーションで独立に読みたい場合は、異なるアプリケーション名の KCL アプリケーション(=別のリーステーブル)や拡張ファンアウトのコンシューマーを使います。
本問は「同じ KCL ワーカー構成」を追加しているため、重複処理ではなく分散処理になります。
KCL はシャードのリースを自動で奪い合って均等化。6 シャード ÷ 3 ワーカー = 各 2 個。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| Kinesis データストリームのシャード数は 6 個 | KCL の並列度の上限はシャード数。ワーカー数がシャード数以下なら全ワーカーが仕事を持てる →選択肢(C)を消す |
| 同じ KCL ワーカー構成のインスタンスを 3 台に増やした | 同一アプリケーション名なら同じ DynamoDB リーステーブルを共有し、リースが自動で再分配される →選択肢(A)を消す |
| 1 つのシャードを処理できるワーカーは同時に 1 つ | リースによる排他制御があるため、複数ワーカーが同じシャードを重複して読むことはない →選択肢(D)を消す |
| 6 個のシャードを 3 台のワーカーで分担する | リース数が均等になるよう調整され、6 ÷ 3 = 各 2 個に落ち着く →選択肢(B)が正解 |
ひっかけポイント
- 「新しく起動しただけでは分配されない」は一見慎重に見えるが、リースの自動取得・移譲こそが KCL の中核機能。手動割り当ては不要
- 重複処理(選択肢 D)が起きるのはアプリケーション名を変えた別の KCL アプリケーションにした場合。「同じ KCL ワーカー構成=同じアプリケーション名」という前提を読み落とすとひっかかる
- ワーカーを増やせばいくらでもスケールするわけではない。シャード数を超えたワーカーはアイドルになるため、スループットを上げたいならリシャーディングでシャードを増やす
- リースの再分配は瞬時ではなくリース更新の周期に沿って段階的に進むが、その間も処理は継続する。「一時的に停止」という表現は誤り
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「インスタンスを8 台に増やしたら」 | 6 台が 1 シャードずつ処理し、2 台はアイドル(スケールアウトの上限はシャード数)。 |
| 「処理スループットが足りず GetRecords.IteratorAgeMilliseconds が増加している」 | シャード分割(リシャーディング)やオンデマンドモードでシャード数を増やすのが正解軸に。 |
| 「同じストリームを別チームが独立に処理したい」 | 別のアプリケーション名の KCL アプリケーション、または拡張ファンアウトのコンシューマー登録が正解軸に。 |
| 「KCL ではなく AWS Lambda でストリームを処理する」 | イベントソースマッピングの並列化係数(ParallelizationFactor)やバッチサイズの調整が論点に。 |
| 「ワーカーが障害で停止した」 | リースの有効期限が切れると他のワーカーがリースを引き継ぎ、チェックポイントの続きから処理を再開する。 |
この変更によって生じる結果として、MOST 適切なものはどれですか。
- 新しいインスタンス上で KCL ワーカーが起動しても自動的な再分配は行われないため、既存の1台が6個のシャードを処理し続け、残り2台は処理を行わない
- 3台のインスタンス上で KCL ワーカーが起動し、既存インスタンスと負荷分散した結果、各インスタンスが2個ずつシャードを処理するようになる
- インスタンス数がシャード数を上回るまでは再分配が発生しないため、シャードの処理が一時的に停止する
- 3台のインスタンスがそれぞれ6個のシャードすべてを重複して処理するようになる
次の問題前の問題
会員機能
お役立ち情報
- プレミアム会員のご紹介
- 「徹底解説」のご紹介
- 「模擬試験」のご紹介
- 収録問題と試験ガイドの対応
- 会員機能のご紹介
- おすすめの勉強方法
- AWSサービスの解説
- AWS認定資格の種類・対象者・受験料・合格ライン
- スマホのホーム画面に登録する方法
姉妹サイト
- CLF:AWS 認定クラウドプラクティショナー
- SAA:AWS 認定ソリューションアーキテクト-アソシエイト
- AIF:AWS 認定AIプラクティショナー
- SOA:AWS 認定CloudOpsエンジニア-アソシエイト
- DVA:AWS 認定デベロッパー-アソシエイト
- DEA:AWS 認定データエンジニア-アソシエイト
- MLA:AWS 認定機械学習エンジニア-アソシエイト
- SAP:AWS 認定ソリューションアーキテクト-プロフェッショナル
- DOP:AWS 認定DevOpsエンジニア-プロフェッショナル
- AIP:AWS 認定生成AIデベロッパー-プロフェッショナル
- SCS:AWS 認定セキュリティ-専門知識
- AZ-900:Microsoft Azure Fundamentals
- AI-900:Microsoft Azure AI Fundamentals