無限ノック › DEA 練習問題一覧 › 問題
DEAデータオペレーションとサポート

あるデータエンジニアリングチームはAmazon Redshift(ra3.4xlarge × 4ノード)を運用しています。業務時間中にデータサイエンティストによる複雑なアドホッククエリが単体でクラスターメモリの80%以上を占有し、ETLジョブ(SLA: 開始から5分以内に完了)がキューで待機してSLAを超過する事象が頻発しています。「ETLジョブが業務時間中に常に1分以内に実行開始できること」「アドホッククエリは引き続き実行できること」「手動介入を最小化すること」の3要件をすべて満たす構成はどれですか?

A
Manual WLM でETLキュー(メモリ割り当て40%・同時実行スロット5)とアナリストキュー(メモリ割り当て60%・同時実行スロット10)の2キューを設定し、ETLキューにWLMタイムアウト60秒を構成して1分以内に実行開始できないETLジョブを自動キャンセルしAmazon CloudWatchアラームで通知する
ETLキューにWLMタイムアウト60秒を設定するとETLジョブが1分以内に実行開始できない場合に自動キャンセルされます。これは「ETLジョブを1分以内に開始させる」という要件とは逆の動作です。タイムアウトはアナリストキューに設定してリソースを解放すべきであり、ETLキューへの適用は設計上の誤りです。
B
Automatic WLM を有効化し、ETLユーザーグループにpriority=Highest のキューを割り当てる。Short Query Acceleration でETLの短時間クエリを優先実行し、Query Monitoring Rules でアナリストクエリが25分を超えた場合に低優先度キューへホップさせる
✓ 正解
Automatic WLM はpriority 設定でメモリとスロットを動的に配分します。ETLキューにHighest を設定するとアナリストクエリ実行中でもETLが優先的にリソースを確保でき、SQA で短時間ETLクエリを即時処理し、QMR でアナリストの長時間クエリを自動ホップさせることで、手動介入なしに全要件を同時に満たします。
C
Redshift クラスターでConcurrency Scaling を有効化し、メインクラスターのキュー同時実行数が上限に達した際にアナリストのクエリをTransient Concurrency Scaling クラスターへ自動ルーティングしてETLジョブ用のメインクラスターリソースを確保する
Concurrency Scaling は同時実行数(キューが並列上限に達した場合)がトリガーとなります。本シナリオの問題は単一クエリがメモリ80%以上を占有するメモリ輻輳であり、同時実行数の上限超過ではないためConcurrency Scaling のトリガー条件を満たさず、ETLジョブの遅延は解消されません。
D
Redshift Serverless へ移行し、ETL専用ワークグループ(Max RPU=32)とアナリスト専用ワークグループ(Max RPU=64)の2つを作成する。Amazon EventBridge ルールでETLジョブをETL用ワークグループのエンドポイントへ、BI接続をアナリスト用ワークグループのエンドポイントへそれぞれ振り分けてワークロードを完全分離する
Redshift Serverless への移行はETLジョブ・BI接続・接続文字列の全面変更という大規模な作業を必要とし「手動介入を最小化」という要件に反します。ETL用32 RPU とアナリスト用64 RPU の常時確保は既存クラスター(ra3.4xlarge ×4)よりもコストが増大する可能性があります。

解説

Amazon Redshift の Automatic WLM(自動ワークロード管理)はキューごとにpriority(Highest / High / Normal / Low / Lowest)を設定することで、Redshift がメモリとスロットを動的に配分します。ETLユーザーグループのキューをHighest 優先度に設定すると、アナリストのクエリが実行中でもETLジョブが優先的にリソースを確保し、1分以内の実行開始を自動で保証します。Short Query Acceleration(SQA)は実行時間が短いクエリを専用の高速キューで処理し、Query Monitoring Rules(QMR)で25分を超えたアナリストクエリを自動的にホップさせることでリソースを解放します。これらはすべて設定のみで実現でき、人的介入なしに3要件を同時に満たします。 選択肢AのManual WLMは、ETLキューにWLMタイムアウト60秒を設定するとETLジョブが1分以内に実行開始できない場合に自動キャンセルされる。「1分以内に実行開始を保証する」という要件とは逆の動作であり、タイムアウトはアナリストキューに設定してリソースを解放すべきである。 選択肢CのConcurrency Scalingは、キューの同時実行数が上限に達した際にクエリをTransient クラスターへルーティングするが、本シナリオの問題は「単一クエリによるメモリ80%以上の占有」であり、同時実行数の上限超過ではない。メモリ輻輳はConcurrency Scaling のトリガー条件ではないため、ETLジョブの遅延は解消されない。 選択肢DのRedshift Serverlessへの移行は、全ETLジョブ・BI接続・接続文字列の変更という大規模な作業を必要とし「手動介入を最小化」要件に反する。32 RPU + 64 RPU の常時確保は既存クラスター(ra3.4xlarge ×4)と比較してコスト増大の可能性がある。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DEA の問題一覧に戻る