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