【问题标题】:CloudFormation: Return ARN of SubnetCloudFormation:返回子网的 ARN
【发布时间】:2022-04-14 23:53:42
【问题描述】:

是否有另一种方法可以通过Fn::GetAtt 内在函数获取创建的子网资源AWS::EC2::SubnetARN。子网资源只返回AvailabilityZone, Ipv6CidrBlocks, NetworkAclAssociationId, VpcId

文档:https://docs.aws.amazon.com/en_pv/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#aws-resource-ec2-subnet-return-values

【问题讨论】:

    标签: amazon-cloudformation subnet


    【解决方案1】:

    由于子网的ARN 的格式为 arn:aws:ec2:REGION:ACCOUNT_ID:subnet/SUBNET_ID。使用内部函数Fn::Join可以生成子网的ARN

    示例:arn:aws:ec2:ap-southeast-1:767022272945:subnet/subnet-0d42d2235s3a2531d

      !Join
        - ''
        - - 'arn:aws:ec2:'
          - !Ref 'AWS::Region'
          - ':'
          - !Ref 'AWS::AccountId'
          - ':subnet/'
          - Fn::ImportValue:
              Fn::Sub: VPC-SubnetId
    

    【讨论】:

    • 出色的答案!为了完整起见,如果您引用的子网是当前模板的本地子网,那么您可以使用可以说更简单的表达式 !Sub "arn:aws:ec2:${AWS::Region}:${AWS::AccountId}:subnet/${Subnet}",其中 Subnet 是当前模板中引用的子网的逻辑 ID。跨度>
    猜你喜欢
    • 1970-01-01
    • 2018-07-05
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2020-11-29
    • 2020-11-23
    • 2020-01-27
    相关资源
    最近更新 更多