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

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

正解 A問題
分野4:トラブルシューティングと最適化 タスクステートメント4.1:根本原因分析の支援
合格に向けて、もっと深く学習する
豊富な問題と詳細な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
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
CloudWatch Logs エージェント(旧エージェント)の廃止と統合エージェントの推奨 CloudWatch Logs エージェントのリファレンス - Amazon CloudWatch Logs
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 82%
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 へ定期的にアーカイブするパイプラインを構築する

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

会員機能

お役立ち情報

姉妹サイト

アンケート

サイト情報