AWS認定資格 WEB問題集&徹底解説
デベロッパー–アソシエイト
合格に向けて、もっと深く学習する
豊富な問題と詳細な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 のアプリケーションログを一元管理したい | 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 が正解軸に。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| 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 へ定期的にアーカイブするパイプラインを構築する