首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >亚马逊云服务CloudFormation:如何在云表单模板中引用默认/主路由表(在创建私有网络时创建)?

亚马逊云服务CloudFormation:如何在云表单模板中引用默认/主路由表(在创建私有网络时创建)?
EN

Stack Overflow用户
提问于 2018-11-26 10:30:44
回答 1查看 5.8K关注 0票数 8

我有一个创建自定义私有网络的CloudFormation模板。模板创建以下资源:私有网络、Internet网关、将IGW附加到私有网络、创建公网子网。我想要将路由(目标0.0.0.0/0、目标IGW)添加到作为VPC一部分创建的路由表中。

我已经阅读了有关路由和路由表的cloudformation文档,以找出如何做到这一点,但无济于事。

我可以使用Fn::Ref函数来引用显式创建为模板一部分的资源或参数,但如何引用由VPC本身创建的资源?

任何关于如何重用现有路由表、NACL和安全组的见解都是非常感谢的。

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2018-11-26 10:49:45

到目前为止,你做得很好--你已经有了互联网网关、路由表和一个公共子网。现在,您需要创建路由并将路由表附加到子网(如果尚未执行此操作)。如果你使用的是YAML,它可能是这样的:

 InternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: !Ref EnvironmentName

  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: !Ref PublicSubnet1CIDR
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub ${EnvironmentName} Public Subnet (AZ1)

  PublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub ${EnvironmentName} 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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53474044

复制
相关文章

相似问题

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