AWS Infrastructure Portfolio

にゃん.jp
Cloud Infrastructure

AWS CloudFront・Application Load Balancer・EC2・Dockerを組み合わせ、 公開、監視、通知、CI/CDまでを実装したインフラポートフォリオです。 静的コンテンツのCDN配信と、リアルタイムAPIのキャッシュ分離にも対応しています。

Service Online
CloudFront Enabled
ALB Enabled
Monitoring Active

Architecture

本番環境の全体構成

CloudFrontを入口として、ALB、EC2、Docker Compose内の各サービスへ リクエストを転送しています。

User HTTPS Request
CloudFront CDN / Cache Behavior
ALB Health Check / Routing
EC2 Ubuntu Server
Docker nginx / Flask / PostgreSQL
CloudWatch CPU Monitoring
Alarm Threshold Detection
SNS Event Delivery
Lambda Python Processing
Discord Alert Notification

AWS Services

採用したAWSサービス

サービスを追加するだけではなく、用途と設計理由を意識して構築しています。

☁️

Amazon CloudFront

静的コンテンツをエッジロケーションから配信し、 表示速度の改善とEC2へのリクエスト削減を実現しています。

⚖️

Application Load Balancer

CloudFrontのオリジンとして配置し、Target Groupへの転送と ヘルスチェックを担当しています。

📈

Amazon CloudWatch

EC2のCPU使用率を取得し、Monitoringページでリアルタイムに 可視化しています。

🚨

CloudWatch Alarm

CPU使用率が設定したしきい値を超えた場合に、 SNSへ自動的にイベントを送信します。

AWS Lambda

SNSからイベントを受け取り、Pythonコードを実行して Discord Webhookへ通知します。

🚀

GitHub Actions

pushをきっかけにpytestを実行し、 テスト成功時のみ本番環境へデプロイします。

Technology

Tech Stack

インフラ、アプリケーション、監視、CI/CDを組み合わせています。

Infrastructure / AWS

Amazon EC2 Amazon CloudFront Application Load Balancer Target Group Amazon CloudWatch Amazon SNS AWS Lambda IAM Role

Container / Server

Ubuntu Docker Docker Compose nginx Gunicorn Fail2ban

Application

Python Flask PostgreSQL boto3 JavaScript Chart.js

CI/CD / Security

Git GitHub Actions pytest HTTPS Let's Encrypt SSH Key Authentication

Projects

実装・検証コンテンツ

本番環境、リアルタイム監視、高可用性検証を実際に確認できます。

Production

にゃん.jp

CloudFront、ALB、EC2、Dockerを利用して構築した 本番公開中のインフラポートフォリオです。

トップページを見る →
Monitoring

Live Monitoring

CloudWatch APIからEC2のCPU使用率を取得し、 Chart.jsを利用してリアルタイム表示しています。

監視画面を見る →
AWS Lab

High Availability Lab

ALB、Target Group、Launch Template、Auto Scaling Groupを利用し、 負荷分散とSelf Healingを検証しました。

AWS Labを見る →