AWS認定資格 WEB問題集&徹底解説

デベロッパー–アソシエイト

正解 A問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある企業の開発チームは、Amazon EC2 インスタンス上で動作するウェブアプリケーションを運用しており、インスタンスごとにアプリケーションログが出力されています。
運用担当者から「ログを一元管理し、必要に応じて検索・長期保存できるようにしてほしい」という要件が挙げられました。
開発者が最も少ない工数でこの要件を実現するには、どのアプローチが適切ですか?
  • Amazon EC2 インスタンスに Amazon CloudWatch エージェント(統合エージェント)をインストールし、ログを Amazon CloudWatch Logs へ自動的に収集・送信する設定を行う
  • AWS SDK を使用してログファイルを収集し、Amazon S3 に定期アップロードするスクリプトを作成して cron で実行する
  • Amazon EventBridge ルールを設定し、ログファイルの生成を検知して Amazon SNS トピックへ通知するフローを構築する
  • AWS Lambda 関数を作成してログファイルを取得し、Amazon S3 Glacier へ定期的にアーカイブするパイプラインを構築する
解説 頻出度★★★★
この問題は、「EC2 のログを一元管理 × 検索 × 長期保存 × 最小工数」という要件で、CloudWatch エージェント+CloudWatch Logsという標準解を選べるかがポイント
正解

A. Amazon EC2 インスタンスに Amazon CloudWatch エージェント(統合エージェント)をインストールし、ログを Amazon CloudWatch Logs へ自動的に収集・送信する設定を行う

CloudWatch エージェントを EC2 に導入し、設定ファイルで対象ログファイルを指定するだけで、ログは自動的に CloudWatch Logs へ継続送信される。コードを書く必要がない。

集約後は CloudWatch Logs Insights で横断検索でき、保持期間の設定や S3 へのエクスポートで長期保存も標準機能でまかなえる。「一元管理・検索・長期保存」を最も少ない工数で満たす唯一の選択肢。

B. AWS SDK を使用してログファイルを収集し、Amazon S3 に定期アップロードするスクリプトを作成して cron で実行する

SDK でログを集めて S3 へ定期アップロードするスクリプトを書けば、確かに保存はできる。しかしスクリプトの開発・テスト・全インスタンスへの配布・cron 管理・障害時の再送処理まで自前で抱えることになる。

さらに S3 上のテキストを検索するには Athena 等の追加構成が要る。要件「最も少ない工数」に真っ向から反する。

C. Amazon EventBridge ルールを設定し、ログファイルの生成を検知して Amazon SNS トピックへ通知するフローを構築する

EventBridge + SNS はイベントの通知を行う仕組みであり、EC2 内のログファイル生成を検知する用途にはそもそも向かない(EventBridge は OS 内のファイル生成イベントを直接受け取らない)。

仮に通知できたとしても、ログを集約・保存・検索する仕組みが一切含まれていないため、要件を満たさない。

D. AWS Lambda 関数を作成してログファイルを取得し、Amazon S3 Glacier へ定期的にアーカイブするパイプラインを構築する

Lambda でログを取得し S3 Glacier にアーカイブする構成は、パイプラインの実装・権限設計・スケジュール管理が必要で工数が大きい。

加えて Glacier(S3 Glacier ストレージクラス)は取り出しに時間がかかるアーカイブ用で、「必要に応じて検索」という要件に適さない。長期保存だけを見て選ぶと落とす典型。

これだけ覚える(記憶フック)
EC2 のログ集約はエージェントを入れるだけ。自作スクリプト・自作パイプラインが並んだら、それは「工数が多い方」。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
EC2 のアプリケーションログを一元管理したい EC2 のログ集約は CloudWatch エージェント → CloudWatch Logs が標準解
→選択肢(A)が正解
必要に応じて検索できること CloudWatch Logs Insights で即検索可能。Glacier はアーカイブ用で即時検索に不向き
→選択肢(D)を消す
長期保存できること CloudWatch Logs の保持期間設定(無期限も可)や S3 エクスポートで対応できる
→選択肢(A)が正解
開発者の工数が最も少ないこと コードを書く時点で工数増。SDK スクリプト+cron や Lambda パイプラインは自前保守が発生する
→選択肢(B・D)を消す
ログの収集・保存・検索が一通り揃うこと EventBridge + SNS は通知するだけで、収集・保存・検索の仕組みが無く要件を単独で満たせない
→選択肢(C)を消す
ひっかけポイント
  • 選択肢 B・D は「実現はできる」ため技術的には成立するが、設問の判断軸は「最も少ない工数」。マネージド機能で済むものを自作した時点で外れる
  • 選択肢 D の S3 Glacier は「長期保存」だけを見ると刺さるが、要件にある「検索」を満たせない。要件は1 つでも欠けたら不正解
  • 選択肢 C の EventBridge はAWS のイベントに反応する仕組みで、EC2 の OS 内で作られたログファイルを検知する仕組みではない
  • 旧「CloudWatch Logs エージェント」は廃止済みで、現在は統合 CloudWatch エージェント(メトリクスとログを両方収集)が正。試験でも新エージェント名で出る
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「ログだけでなくメモリ・ディスク使用率も取得したい」 同じ統合 CloudWatch エージェントが正解(カスタムメトリクスとして送信)。
「ログをリアルタイムに分析・変換してから保存したい」 サブスクリプションフィルタ → Kinesis Data Streams / Firehose / Lambda が正解軸に。
「ログの保管コストを最小化したい(数年間、めったに見ない)」 CloudWatch Logs から S3 へエクスポートし、ライフサイクルで Glacier 系へ移行する構成が正解軸に。
「特定のエラーログ出現時にアラート通知したい」 メトリクスフィルタ + CloudWatch アラーム + SNS が正解軸に。
関連サービスの解説 Amazon CloudWatch
Amazon EC2
Amazon EventBridge
Amazon S3 Glacier
Amazon Simple Notification Service (Amazon SNS)
Amazon Simple Storage Service (Amazon S3)
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
CloudWatch Logs エージェント(旧エージェント)の廃止と統合エージェントの推奨 CloudWatch Logs エージェントのリファレンス - Amazon CloudWatch Logs
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 83%
No.13 解説
ある企業の開発チームは、Amazon EC2 インスタンス上で動作するウェブアプリケーションを運用しており、インスタンスごとにアプリケーションログが出力されています。
運用担当者から「ログを一元管理し、必要に応じて検索・長期保存できるようにしてほしい」という要件が挙げられました。
開発者が最も少ない工数でこの要件を実現するには、どのアプローチが適切ですか?
  • Amazon EC2 インスタンスに Amazon CloudWatch エージェント(統合エージェント)をインストールし、ログを Amazon CloudWatch Logs へ自動的に収集・送信する設定を行う
  • AWS SDK を使用してログファイルを収集し、Amazon S3 に定期アップロードするスクリプトを作成して cron で実行する
  • Amazon EventBridge ルールを設定し、ログファイルの生成を検知して Amazon SNS トピックへ通知するフローを構築する
  • AWS Lambda 関数を作成してログファイルを取得し、Amazon S3 Glacier へ定期的にアーカイブするパイプラインを構築する

(会員限定)当問題の評価をお願いします。改善に活用します。