個人サイトに企業レベルの監視システムを構築してみた話
個人のポートフォリオサイトに、本格的な監視システムを構築してみました。
きっかけ
最初は「個人サイトに監視なんて必要ないだろう」と思っていました。
しかし、SREエンジニアとしての関心が高まり、監視の重要性や実装方法を体験してみたくなったのがきっかけになります。
構築したシステム
基盤構成
- S3(静的ホスティング)
- CloudFront(CDN)
- Route53(DNS)
- ACM(SSL証明書)
監視システム
- CloudWatch Alarms: リクエスト数・レスポンス時間・データ転送量を監視
- SNS通知: 問題発生時の即座メール通知
- Lambda外形監視: 15分間隔での自動ヘルスチェック
- EventBridge: 定期実行の制御
自動化
- Terraform: 全リソースをコード管理
- GitHub Actions: CI/CDによる自動デプロイ
学んだこと
実装を通じて多くの気づきがありました:
1. 監視設計の奥深さ 「何を」「いつ」「どのように」監視するか、一つ一つに理由がありました。 個人サイトでも、リクエスト数の急激な変化やレスポンス時間の劣化を検知できるようになりました。
2. Infrastructure as Codeの威力 監視設定もTerraformでコード管理することで、設定変更の履歴追跡や環境の再現が簡単になりました。
3. コスト意識の重要性 月額535円で24時間監視を実現。個人プロジェクトだからこそ、コスト効率を重視した設計を心がけました。
4. 自動化の価値 手動でのチェックから完全自動化へ。「気づいたら障害が起きていた」から「障害発生と同時に通知」へと変わりました。
技術的な挑戦
特に印象的だったのは、既存の手動構築リソースをTerraformのコード管理下に移行する作業でした。 terraform import
を使いながら、一つ一つのリソースを慎重にコード化していく過程で、Infrastructure as Codeの真価を実感できました。
成果と今後
成果物
- ポートフォリオサイト: https://inatom-portfolio.com/
- GitHub: https://github.com/tomy224/inatom-portfolio.com
- システム構成図: https://github.com/tomy224/inatom-portfolio.com/raw/main/assets/portfolio-architecture.svg
個人プロジェクトでありながら、企業の本番環境で求められる監視・運用の考え方を体験できました。
今後はKubernetesやオンプレミス環境についても学習を深め、より幅広いインフラ技術を身につけていきたいと思います。
最後に
「個人サイトに監視は大げさ」と思っていた最初の考えが、今では「どんなシステムでも監視は必要」に変わりました。
小さなプロジェクトでも、本格的に取り組むことで得られる学びは予想以上に大きかったです。
技術の学習において、「実際に手を動かして体験する」ことの価値を改めて実感した取り組みでした。
#AWS #CloudWatch #Terraform #SRE #インフラエンジニア