Skip to main content

-DC-Beta", power_redundancy: "N+1" }, status: "active", created_at: datetime(), updated_at: datetime()});CREATE (az3:AZ { id: "cn-north-1d", name: "Beijing Zone D", tag: { physical_location: "Beijing-DC-Delta", power_redundancy: "2N" }, status: "active", created_at: datetime(), updated_at: datetime()});// Ningxia AZsCREATE (az4:AZ { id: "cn-northwest-1a", name: "Ningxia Zone A", tag: { physical_location: "Ningxia-DC-Alpha", power_redundancy: "N+1" }, status: "active", created_at: datetime(), updated_at: datetime()});CREATE (az5:AZ { id: "cn-northwest-1b", name: "Ningxia Zone B", tag: { physical_location: "Ningxia-DC-Beta", power_redundancy: "N+1" }, status: "active", created_at: datetime(), updated_at: datetime()});CREATE (az6:AZ { id: "cn-northwest-1c", name: "Ningxia Zone C", tag: { physical_location: "Ningxia-DC-Gamma", power_redundancy: "2N" }, status: "active", created_at: datetime(), updated_at: datetime()});// ==========================================// 5. 建立基础层次关系// ==========================================// Account -> Region 关系MATCH (acc:Account {id: "123456789012"}), (r1:Region {id: "cn-north-1"})CREATE (acc)-[:CONTAINS_REGION]->(r1);MATCH (acc:Account {id: "123456789012"}), (r2:Region {id: "cn-northwest-1"}) CREATE (acc)-[:CONTAINS_REGION]->(r2);// Region -> AZ 关系MATCH (r1:Region {id: "cn-north-1"}), (az1:AZ {id: "cn-north-1a"})CREATE (r1)-[:CONTAINS_AZ]->(az1);MATCH (r1:Region {id: "cn-north-1"}), (az2:AZ {id: "cn-north-1b"})CREATE (r1)-[:CONTAINS_AZ]->(az2);MATCH (r1:Region {id: "cn-north-1"}), (az3:AZ {id: "cn-north-1d"})CREATE (r1)-[:CONTAINS_AZ]->(az3);MATCH (r2:Region {id: "cn-northwest-1"}), (az4:AZ {id: "cn-northwest-1a"})CREATE (r2)-[:CONTAINS_AZ]->(az4);MATCH (r2:Region {id: "cn-northwest-1"}), (az5:AZ {id: "cn-northwest-1b"})CREATE (r2)-[:CONTAINS_AZ]->(az5);MATCH (r2:Region {id: "cn-northwest-1"}), (az6:AZ {id: "cn-northwest-1c"})CREATE (r2)-[:CONTAINS_AZ]->(az6);// ==========================================// 6. 网络资源建模 - VPC & Subnet// ==========================================// 创建VPC相关约束CREATE CONSTRAINT vpc_id IF NOT EXISTS FOR (v:VPC) REQUIRE v.id IS UNIQUE;CREATE CONSTRAINT subnet_id IF NOT EXISTS FOR (s:Subnet) REQUIRE s.id IS UNIQUE;CREATE CONSTRAINT route_table_id IF NOT EXISTS FOR (rt:RouteTable) REQUIRE rt.id IS UNIQUE;CREATE CONSTRAINT igw_id IF NOT EXISTS FOR (igw:InternetGateway) REQUIRE igw.id IS UNIQUE;// 6.1 VPC 资源建模CREATE (vpc1:VPC { id: "vpc-12345678", name: "production-main-vpc", cidr: "10.0.0.0/16", vpc_flow_logs: { enabled: true, log_destination_type: "s3", log_destination: "s3://vpc-flow-logs-prod-bucket", log_format: "${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action}", log_status: "ACTIVE", delivery_status: "SUCCESS" }, dns_hostnames: true, dns_resolution: true, tag: { environment: "production", project: "core-platform", team: "platform-engineering", backup: "daily" }, status: "active", created_at: datetime(), updated_at: datetime()});CREATE (vpc2:VPC { id: "vpc-87654321", name: "staging-vpc", cidr: "10.1.0.0/16", vpc_flow_logs: { enabled: false, log_destination_type: null, log_destination: null, log_format: null, log_status: "INACTIVE", delivery_status: null }, dns_hostnames: true, dns_resolution: true, tag: { environment: "staging", project: "core-platform", team: "platform-engineering", backup: "none" }, status: "active", created_at: datetime(), updated_at: datetime()});// 6.2 Subnet 资源建模// Production VPC SubnetsCREATE (subnet1:Subnet { id: "subnet-abc12345", name: "production-web-subnet-1a",

  1. -DC-Beta",
    power_redundancy: "N+1"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    CREATE (az3:AZ {
    id: "cn-north-1d",
    name: "Beijing Zone D",
    tag: {
    physical_location: "Beijing-DC-Delta",
    power_redundancy: "2N"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    // Ningxia AZs
    CREATE (az4:AZ {
    id: "cn-northwest-1a",
    name: "Ningxia Zone A",
    tag: {
    physical_location: "Ningxia-DC-Alpha",
    power_redundancy: "N+1"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    CREATE (az5:AZ {
    id: "cn-northwest-1b",
    name: "Ningxia Zone B",
    tag: {
    physical_location: "Ningxia-DC-Beta",
    power_redundancy: "N+1"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    CREATE (az6:AZ {
    id: "cn-northwest-1c",
    name: "Ningxia Zone C",
    tag: {
    physical_location: "Ningxia-DC-Gamma",
    power_redundancy: "2N"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    // ==========================================
    // 5. 建立基础层次关系
    // ==========================================

    // Account -> Region 关系
    MATCH (acc:Account {id: "123456789012"}), (r1:Region {id: "cn-north-1"})
    CREATE (acc)-[:CONTAINS_REGION]->(r1);

    MATCH (acc:Account {id: "123456789012"}), (r2:Region {id: "cn-northwest-1"})
    CREATE (acc)-[:CONTAINS_REGION]->(r2);

    // Region -> AZ 关系
    MATCH (r1:Region {id: "cn-north-1"}), (az1:AZ {id: "cn-north-1a"})
    CREATE (r1)-[:CONTAINS_AZ]->(az1);

    MATCH (r1:Region {id: "cn-north-1"}), (az2:AZ {id: "cn-north-1b"})
    CREATE (r1)-[:CONTAINS_AZ]->(az2);

    MATCH (r1:Region {id: "cn-north-1"}), (az3:AZ {id: "cn-north-1d"})
    CREATE (r1)-[:CONTAINS_AZ]->(az3);

    MATCH (r2:Region {id: "cn-northwest-1"}), (az4:AZ {id: "cn-northwest-1a"})
    CREATE (r2)-[:CONTAINS_AZ]->(az4);

    MATCH (r2:Region {id: "cn-northwest-1"}), (az5:AZ {id: "cn-northwest-1b"})
    CREATE (r2)-[:CONTAINS_AZ]->(az5);

    MATCH (r2:Region {id: "cn-northwest-1"}), (az6:AZ {id: "cn-northwest-1c"})
    CREATE (r2)-[:CONTAINS_AZ]->(az6);

    // ==========================================
    // 6. 网络资源建模 - VPC & Subnet
    // ==========================================

    // 创建VPC相关约束
    CREATE CONSTRAINT vpc_id IF NOT EXISTS FOR (v:VPC) REQUIRE v.id IS UNIQUE;
    CREATE CONSTRAINT subnet_id IF NOT EXISTS FOR (s:Subnet) REQUIRE s.id IS UNIQUE;
    CREATE CONSTRAINT route_table_id IF NOT EXISTS FOR (rt:RouteTable) REQUIRE rt.id IS UNIQUE;
    CREATE CONSTRAINT igw_id IF NOT EXISTS FOR (igw:InternetGateway) REQUIRE igw.id IS UNIQUE;

    // 6.1 VPC 资源建模
    CREATE (vpc1:VPC {
    id: "vpc-12345678",
    name: "production-main-vpc",
    cidr: "10.0.0.0/16",
    vpc_flow_logs: {
    enabled: true,
    log_destination_type: "s3",
    log_destination: "s3://vpc-flow-logs-prod-bucket",
    log_format: "${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action}",
    log_status: "ACTIVE",
    delivery_status: "SUCCESS"
    },
    dns_hostnames: true,
    dns_resolution: true,
    tag: {
    environment: "production",
    project: "core-platform",
    team: "platform-engineering",
    backup: "daily"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    CREATE (vpc2:VPC {
    id: "vpc-87654321",
    name: "staging-vpc",
    cidr: "10.1.0.0/16",
    vpc_flow_logs: {
    enabled: false,
    log_destination_type: null,
    log_destination: null,
    log_format: null,
    log_status: "INACTIVE",
    delivery_status: null
    },
    dns_hostnames: true,
    dns_resolution: true,
    tag: {
    environment: "staging",
    project: "core-platform",
    team: "platform-engineering",
    backup: "none"
    },
    status: "active",
    created_at: datetime(),
    updated_at: datetime()
    });

    // 6.2 Subnet 资源建模
    // Production VPC Subnets
    CREATE (subnet1:Subnet {
    id: "subnet-abc12345",
    name: "production-web-subnet-1a",