Bỏ qua

🌐 AWS VPC

VPC bao gồm các thành phần chính sau:

graph TD
    %% --- 1. EXTERNAL NETWORK ---
    Internet((🌐 The Internet))

    subgraph VPC [☁️ Virtual Private Cloud]
        style VPC fill:#f9f9f9,stroke:#333,stroke-width:2px

        %% --- 2. INTERNET GATEWAY ---
        IGW[🚪 Internet Gateway]
        style IGW fill:#ffffff,stroke:#333,stroke-width:2px

        %% --- 3. ROUTE TABLES ---
        PubRT[📋 Public Route Table]
        PrivRT[📋 Private Route Table]

        %% --- 4. PUBLIC SUBNETS ---
        subgraph Public_Zone [Public Subnets]
            style Public_Zone fill:#e1f5fe,stroke:none

            %% Public Subnet 1
            subgraph PubSub1_Box [🌐 Public Subnet 1]
                style PubSub1_Box fill:#fff,stroke:#0277bd
                NAT[🔄 NAT<br/>Gateway]
            end

            %% Public Subnet 2
            subgraph PubSub2_Box [🌐 Public Subnet 2]
                style PubSub2_Box fill:#fff,stroke:#0277bd
                EC2[🖥️ EC2<br/>Instance]
            end
        end

        %% --- 5. PRIVATE SUBNETS ---
        subgraph Private_Zone [Private Subnets]
            style Private_Zone fill:#fff3e0,stroke:none

            %% Private Subnet 1
            subgraph PrivSub1_Box [🔒 Private Subnet 1]
                style PrivSub1_Box fill:#fff,stroke:#ef6c00
                DB[🗄️ Database<br/>RDS]
            end

            %% Private Subnet 2
            subgraph PrivSub2_Box [🔒 Private Subnet 2]
                style PrivSub2_Box fill:#fff,stroke:#ef6c00
                EFS[📂 EFS<br/>Storage]
            end
        end

        %% ==========================================================
        %% ĐỊNH NGHĨA KẾT NỐI (Thứ tự rất quan trọng cho linkStyle)
        %% ==========================================================

        %% --- NHÓM 1: ASSOCIATION (Subnet liên kết với RT) -> NÉT ĐỨT ---
        %% Index 0
        PubRT <--> PubSub1_Box
        %% Index 1
        PubRT <--> PubSub2_Box
        %% Index 2
        PrivRT <--> PrivSub1_Box
        %% Index 3
        PrivRT <--> PrivSub2_Box

        %% --- NHÓM 2: ROUTE TARGET & TRAFFIC FLOW -> NÉT LIỀN ĐEN ---
        %% Index 4: Private Route đẩy traffic vào NAT
        PrivRT -- Target --> NAT

        %% Index 5: Public Route đẩy traffic ra IGW
        PubRT -- Target --> IGW

        %% Index 6: NAT Gateway đẩy traffic ra IGW (MỚI THÊM)
        NAT -- Traffic --> IGW
    end

    %% --- NHÓM 3: UPLINK (IGW ra Internet) -> NÉT ĐẬM ---
    %% Index 7: IGW uplink to Internet
    IGW ==> Internet

    %% ==========================================================
    %% STYLING
    %% ==========================================================

    %% 1. Biến 4 đường đầu tiên (Index 0-3) thành NÉT ĐỨT
    linkStyle 0,1,2,3 stroke-width:2px,fill:none,stroke:#555,stroke-dasharray: 5 5

    %% 2. Biến 3 đường tiếp theo (Index 4,5,6) thành NÉT LIỀN ĐEN
    %% Index 6: Đường kết nối từ NAT Gateway đến Internet Gateway (IGW)
    linkStyle 4,5,6 stroke-width:2px,fill:none,stroke:black

    %% 3. Đường ra Internet (Index 7) nét đậm
    linkStyle 7 stroke-width:3px,stroke:#333