首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS: CIDR '10.30.1.0/24‘与另一个子网冲突

AWS: CIDR '10.30.1.0/24‘与另一个子网冲突
EN

Stack Overflow用户
提问于 2020-09-03 11:42:37
回答 2查看 2.8K关注 0票数 0

我只是在学习AWS,超级新手,所以请耐心等待。我已经尝试了一段时间来摆弄代码,但我就是不知道。正在尝试编写VPC的简单Cloudformation模板。

我一直收到错误"The CIDR '10.30.1.0/24‘与另一个子网冲突(服务: AmazonEC2;状态代码: 400;错误代码: InvalidSubnet.Conflict;请求ID: ea17de71-6dc2-46d2-bda4-dda6ff9e0980;代理:空)“

下面是我的代码:

代码语言:javascript
运行
复制
Parameters:
  Environment:
    Description: Environment Name
    Type: String
  VpcName:
    Type: String
  VpcCIDR:
    Description: VPC CIDR
    Type: String
    Default: 10.30.0.0/16
  NumberOfSubnets:
    Description: Number of Subnets to be created
    Type: String
    Default: 4
  SubnetOffset:
    Description: Offest of Subnet from CIDR
    Type: String
    Default: 8

Outputs:
  VPC:
    Description: VPC
    Value: !Ref VPC
  VpcCIDR:
      Description: VPC CIDR
      Value: !Ref VpcCIDR
  PublicSubnets:
      Description: Public Subnets
      Value: !Join [ ",", [!Ref PublicSubnet1, !Ref PublicSubnet2]]
  PrivateSubnets:
      Description: Private Subenets
      Value: !Join [ ",", [!Ref PublicSubnet1, !Ref PublicSubnet2]]
  PublicSubnet1:
      Description: Public Subnet AZ1
      Value: !Ref PublicSubnet1
  PublicSubnet2:
      Description: Public Subnet AZ2
      Value: !Ref PublicSubnet2
  PrivateSubnet1:
      Description: Private Subnet AZ1
      Value: !Ref PrivateSubnet1
  PrivateSubnet2:
      Description: Private Subnet AZ2
      Value: !Ref PrivateSubnet2
  PublicRouteTable:
      Description: Public Route Table
      Value: !Ref PublicRouteTable
  PrivateRouteTable:
      Description: Private Route Table
      Value: !Ref PrivateRouteTable

Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: !Ref VpcCIDR
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}

  InternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}

  InternetGatewayAttachment:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      InternetGatewayId: !Ref InternetGateway
      VpcId: !Ref VPC

  PublicSubnet1:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 0, !GetAZs '' ]
      CidrBlock: !Select [0, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}-public-1

  PublicSubnet2:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 1, !GetAZs  '' ]
      CidrBlock: !Select [1, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}-public-2

  PrivateSubnet1:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 0, !GetAZs  '' ]
      CidrBlock: !Select [2, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}-private-1

  PrivateSubnet2:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 1, !GetAZs  '' ]
      CidrBlock: !Select [1, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}-private-2
  NatGateway1EIP:
    Type: AWS::EC2::EIP
    DependsOn: InternetGatewayAttachment
    Properties:
      Domain: vpc

  NatGateway2EIP:
    Type: AWS::EC2::EIP
    DependsOn: InternetGatewayAttachment
    Properties:
      Domain: vpc

  NatGateway1:
    Type: AWS::EC2::NatGateway
    Properties:
      AllocationId: !GetAtt NatGateway1EIP.AllocationId
      SubnetId: !Ref PublicSubnet1

  NatGateway2:
    Type: AWS::EC2::NatGateway
    Properties:
      AllocationId: !GetAtt NatGateway2EIP.AllocationId
      SubnetId: !Ref PublicSubnet2

  PublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub ${Environment} Public Routes

  DefaultPublicRoute:
    Type: AWS::EC2::Route
    DependsOn: InternetGatewayAttachment
    Properties:
      RouteTableId: !Ref PublicRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref InternetGateway

  PublicSubnet1RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref PublicRouteTable
      SubnetId: !Ref PublicSubnet1

  PublicSubnet2RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref PublicRouteTable
      SubnetId: !Ref PublicSubnet2

  PrivateRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub ${Environment} Private Routes (AZ1)

  DefaultPrivateRoute1:
    Type: AWS::EC2::Route
    Properties:
      RouteTableId: !Ref PrivateRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      NatGatewayId: !Ref NatGateway1

  PrivateSubnet1RouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref PrivateRouteTable
      SubnetId: !Ref PrivateSubnet1
EN

回答 2

Stack Overflow用户

发布于 2020-09-03 12:04:11

是。这是因为您的PublicSubnet2和PrivateSubnet2获得了相同的子网CIDR值。

如果您查看您的模板,您会发现两个子网具有相同的值,即!Select [1, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]

票数 0
EN

Stack Overflow用户

发布于 2020-09-03 12:05:47

PrivateSubnet2应为:

代码语言:javascript
运行
复制
  PrivateSubnet2:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      AvailabilityZone: !Select [ 1, !GetAZs  '' ]
      CidrBlock: !Select [3, !Cidr [!Ref VpcCIDR, !Ref NumberOfSubnets, !Ref SubnetOffset]]
      MapPublicIpOnLaunch: false
      Tags:
        - Key: Name
          Value: !Sub ${VpcName}-${Environment}-private-2

最初,CidrBlockPublicSubnet2的副本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63716488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档