Q50 — AWS SAP-C02 第3章
第 50/75 問 | ← 第3章
Q275. ある企業がAWSクラウド上でコンテナ化されたアプリケーションを実行しています。このアプリケーションは、Amazon EC2インスタンスのセット上でAmazon Elastic Container Service(Amazon ECS)を用いて実行されています。EC2インスタンスはAuto Scalingグループ内で動作しています。 企業は、コンテナイメージを格納するためにAmazon Elastic Container Registry(Amazon ECR)を使用しています。新しいイメージバージョンがアップロードされると、そのイメージには一意のタグが付与されます。企業は、新しいイメージバージョンを一般的な脆弱性および露出(CVE)に対して検査するソリューションを必要としています。 このソリューションは、重大度が「Critical(重大)」または「High(高)」の検出結果を持つ新しいイメージタグを自動的に削除しなければなりません。また、そのような削除が発生した際に開発チームに通知する機能も必要です。 これらの要件を満たすソリューションはどれですか?
- A. リポジトリで「push時スキャン(scan on push)」を有効化します。スキャン完了時に「Critical」または「High」の深刻度を持つ検出結果が存在する場合、Amazon EventBridge(Amazon CloudWatch Events)を活用してAWS Step Functionsステートマシンを起動します。このステートマシンを用いて該当イメージのタグを削除し、Amazon Simple Notification Service(Amazon SNS)を通じて開発チームに通知します。 ✓
- B. リポジトリで「push時スキャン(scan on push)」を有効化します。スキャン結果をAmazon Simple Queue Service(Amazon SQS)キューに送信するように設定します。SQSキューに新規メッセージが追加された際、AWS Lambda関数を起動します。このLambda関数を用いて、「Critical」または「High」の深刻度を持つ検出結果があるイメージのタグを削除します。開発チームへの通知にはAmazon Simple Email Service(Amazon SES)を使用します。
- C. AWS Lambda関数を1時間ごとに実行するようスケジュールし、手動によるイメージスキャンを開始します。スキャン完了時にAmazon EventBridge(Amazon CloudWatch Events)が別のLambda関数を起動するよう設定します。この2つ目のLambda関数を用いて、「Critical」または「High」の深刻度を持つ検出結果があるイメージのタグを削除します。開発チームへの通知にはAmazon Simple Notification Service(Amazon SNS)を使用します。
- D. リポジトリで「定期スキャン(periodic image scan)」を有効化します。スキャン結果をAmazon Simple Queue Service(Amazon SQS)キューに追加するよう設定します。SQSキューに新規メッセージが追加された際、AWS Step Functionsステートマシンを起動します。このステートマシンを用いて、「Critical」または「High」の深刻度を持つ検出結果があるイメージのタグを削除します。開発チームへの通知にはAmazon Simple Email Service(Amazon SES)を使用します。
正解: A. リポジトリで「push時スキャン(scan on push)」を有効化します。スキャン完了時に「Critical」または「High」の深刻度を持つ検出結果が存在する場合、Amazon EventBridge(Amazon CloudWatch Events)を活用してAWS Step Functionsステートマシンを起動します。このステートマシンを用いて該当イメージのタグを削除し、Amazon Simple Notification Service(Amazon SNS)を通じて開発チームに通知します。
解説
A:リポジトリで「push時スキャン(scan on push)」を有効化し、スキャン完了時に「Critical」または「High」の深刻度を持つ検出結果が確認された場合、Amazon EventBridge(Amazon CloudWatch Events)を介してAWS Step Functionsステートマシンを起動します。このステートマシンにより、該当イメージのタグが自動的に削除され、Amazon SNS経由で開発チームに通知されます。このアプローチは、新規イメージのプッシュ直後にリアルタイムで脆弱性スキャンを実行し、即座に対応できるため、要件を完全に満たします。 B、C、Dはいずれも適切なソリューションではありません。 B:「push時スキャン」は有効ですが、スキャン結果をAmazon SQSに送信し、Lambda関数でタグ削除とAmazon SESによるメール通知を行う設計です。しかし、Amazon ECRのスキャン結果はSQSへ直接送信できず、EventBridge経由でのイベント配信が標準的な統合方法です。また、要件では「Amazon SNSによる通知」が明記されており、SESは要件不適合です。 C:1時間ごとのスケジュールによる手動スキャンは、新規イメージのアップロード直後のリアルタイム検査を保証せず、セキュリティギャップが生じます。さらに、スキャントリガー自体が「push時」ではなく、要件に反します。 D:「定期スキャン」は、新規イメージのプッシュ直後ではなく、あらかじめ定義された間隔でしか実行されないため、脆弱性が検出・削除されるまでに遅延が発生し、リアルタイム対応ができません。また、通知手段がAmazon SESであり、要件で指定されたAmazon SNSとは異なります。