graph TD
%% ユーザーとアクセス元
User(("ユーザー / インターネット"))
%% グローバル/エッジサービス層
subgraph "Global Edge Network"
R53
subgraph "Security & CDN Layer"
ACM
WAF
CF
end
end
%% 東京リージョン
subgraph "AWS Cloud (ap-northeast-1 / 東京)"
%% メール配信サービス
SES
%% ストレージサービス
S3
%% VPC環境
subgraph "VPC (Public Subnet)"
%% EC2インスタンス内部のスタック
subgraph "EC2 Instance (t4g.medium / Ubuntu 24.04)"
Apache
PHP["PHP 8.2 + php-imap"]
App
s3fs
MariaDB
end
%% ブロックストレージ
EBS
end
end
%% 通信フローの定義
User -->|"HTTPS (443)"| CF
User -.->|"DNS Query"| R53
%% エッジセキュリティ連携
WAF -.-|"保護"| CF
ACM -.-|"証明書適用"| CF
%% 内部通信フロー
CF -->|"HTTP (80) / X-Forwarded-Proto headers<br/>(Prefix ListでCFのみ許可)"| Apache
%% インスタンス内部処理
Apache --> App
App --> MariaDB
App -->|"ファイル保存"| s3fs
%% ストレージ連携
s3fs -->|"IAM Role経由でアクセス"| S3
MariaDB -.-|"データ保存"| EBS
%% メール送信
App -->|"SMTP (TLS/587)"| SES