【发布时间】:2022-04-14 23:53:42
【问题描述】:
是否有另一种方法可以通过Fn::GetAtt 内在函数获取创建的子网资源AWS::EC2::Subnet 的ARN。子网资源只返回AvailabilityZone, Ipv6CidrBlocks, NetworkAclAssociationId, VpcId。
【问题讨论】:
标签: amazon-cloudformation subnet
是否有另一种方法可以通过Fn::GetAtt 内在函数获取创建的子网资源AWS::EC2::Subnet 的ARN。子网资源只返回AvailabilityZone, Ipv6CidrBlocks, NetworkAclAssociationId, VpcId。
【问题讨论】:
标签: amazon-cloudformation subnet
由于子网的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。跨度>