🤔 有用なサービス: 候補比較と選定理由
概要
Docker Infrastructureのボーナス課題には「自分が有用だと思う任意のサービスを追加し、その理由を説明せよ」という項目があります。 ここでは、いくつかの候補を比較検討し、最終的に ModSecurity (WAF) を採用した理由を説明します。
🏆 選定結果: ModSecurity (WAF)
選定理由
Docker環境でWebサイトを公開する際、最も懸念されるのは「セキュリティ」です。 特にWordPressは世界中で最も攻撃対象になりやすいCMSの一つです。 WAF (Web Application Firewall) を導入することで、SQLインジェクションやクロスサイトスクリプティング(XSS)といった一般的な攻撃を、アプリケーション(WordPress)に到達する前のリバースプロキシ(NGINX)段階でブロックできるため、システムの堅牢性を高める上で最も「有用」であると判断しました。
インフラエンジニアとしての視点
ログ解析やGUI管理ツールも便利ですが、これらは「運用を楽にする」ためのものです。 一方、WAFは「サービスを守る」ための必須要素に近く、インフラ構成としてより重要度が高いと考えました。
🧐 その他の検討候補
1. Portainer
- 概要: Docker環境をブラウザからGUIで管理できるツール。
- メリット:
docker psやdocker logsをコマンドで打たなくても、コンテナの状態確認、ログ閲覧、再起動などが簡単にできる。 - 不採用理由(今回は次点): 便利だが、
setupではない運用フェーズのツールであり、今回の課題の趣旨である「インフラ構築」の観点ではWAFの方が優先度が高いと判断したため。ただし、代替案としては非常に優秀。
2. GoAccess
- 概要: リアルタイムのWebログ解析ツール。
- メリット: NGINXのアクセスログを可視化し、ダッシュボードで表示できる。どの国からアクセスが来ているか、どのページが人気かなどがわかる。
- 不採用理由: ログを見るのは楽しいが、直接的な機能強化やセキュリティ向上には寄与しないため。
3. cAdvisor + Prometheus + Grafana
- 概要: コンテナのリソース監視(CPU, メモリ使用率など)を行うモニタリングスタック。
- メリット: 本格的な運用監視ができる。
- 不採用理由: 構成が複雑になりすぎ、VMのリソース(校舎PC等)を圧迫する可能性があるため。
4. Redis Commander
- 概要: RedisのデータをGUIで管理・閲覧できるツール(AdminerのRedis版)。
- メリット: キャッシュの中身が見やすい。
- 不採用理由: Redisはあくまでキャッシュ用途であり、中身を頻繁に見る必要がないため。デバッグならCLIで十分。
詳細は各ドキュメントを参照: