Skip to content

🤔 有用なサービス: 候補比較と選定理由

概要

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 psdocker logs をコマンドで打たなくても、コンテナの状態確認、ログ閲覧、再起動などが簡単にできる。
  • 不採用理由(今回は次点): 便利だが、setup ではない運用フェーズのツールであり、今回の課題の趣旨である「インフラ構築」の観点ではWAFの方が優先度が高いと判断したため。ただし、代替案としては非常に優秀。

2. GoAccess

  • 概要: リアルタイムのWebログ解析ツール。
  • メリット: NGINXのアクセスログを可視化し、ダッシュボードで表示できる。どの国からアクセスが来ているか、どのページが人気かなどがわかる。
  • 不採用理由: ログを見るのは楽しいが、直接的な機能強化やセキュリティ向上には寄与しないため。

3. cAdvisor + Prometheus + Grafana

  • 概要: コンテナのリソース監視(CPU, メモリ使用率など)を行うモニタリングスタック。
  • メリット: 本格的な運用監視ができる。
  • 不採用理由: 構成が複雑になりすぎ、VMのリソース(校舎PC等)を圧迫する可能性があるため。

4. Redis Commander

  • 概要: RedisのデータをGUIで管理・閲覧できるツール(AdminerのRedis版)。
  • メリット: キャッシュの中身が見やすい。
  • 不採用理由: Redisはあくまでキャッシュ用途であり、中身を頻繁に見る必要がないため。デバッグならCLIで十分。

詳細は各ドキュメントを参照:

Released under the MIT License.