Select 从 cloudformation 创建的 VPC
Select VPC created from cloudformation
我正在创建两个 EKS 模板和一个 VPC 模板。在 VPC 模板中,我创建了 3 个私有子网和 3 个 public 子网,它们运行良好。所以,我希望一个 EKS 应该在 public 中,一个 EKS 应该在私有子网中。那么如何通过cloudformation做到这一点。
Type: List<AWS::EC2::Subnet::Id>
这给了我 6 个子网列表。
Ec2SubnetId:
!Select [0, !Ref SubnetIds]
这select是所有子网中的第一个子网。
但我不确定如何 select 3 个特定的 public 或仅在 cloudformation 中的私有子网。
据我了解你的问题,你有一个表达式 returns 第一个子网 ID,即:
!Select [0, !Ref SubnetIds]
如果您想要所有三个子网,您可以写:
[!Select [0, !Ref SubnetIds], !Select [1, !Ref SubnetIds], !Select [2, !Ref SubnetIds]]
但是这个表达式和写是一样的:
!Ref SubnetIds
因为SubnetIds
已经是List<AWS::EC2::Subnet::Id>
.
据我所知,您想要一个您创建的 VPC 堆栈的私有和 public 子网列表。您可以从 VPC 堆栈中导出您的 public 和私有子网,并在您的 EKS 堆栈中使用它们。
Outputs:
PublicSubnets:
Description: Public Subnets
Value: !Join [",", [!Ref PublicSubnet1, !Ref PublicSubnet2, !Ref PublicSubnet3]]
Export:
Name: PublicSubnets
PrivateSubnets:
Description: Private Subnets
Value: !Join [",", [!Ref PrivateSubnet1, !Ref PrivateSubnet2, !Ref PrivateSubnet3]]
Export:
Name: PrivateSubnets
我认为您现在应该能够在 EKS 堆栈中将它们引用为
Ec2SubnetId:
!Select [0, !ImportValue PrivateSubnets]
或者 Split
函数
Ec2SubnetId:
!Select [0, !Split [",", !ImportValue PrivateSubnets]]
如果可行,请告诉我。
我正在创建两个 EKS 模板和一个 VPC 模板。在 VPC 模板中,我创建了 3 个私有子网和 3 个 public 子网,它们运行良好。所以,我希望一个 EKS 应该在 public 中,一个 EKS 应该在私有子网中。那么如何通过cloudformation做到这一点。
Type: List<AWS::EC2::Subnet::Id>
这给了我 6 个子网列表。
Ec2SubnetId:
!Select [0, !Ref SubnetIds]
这select是所有子网中的第一个子网。 但我不确定如何 select 3 个特定的 public 或仅在 cloudformation 中的私有子网。
据我了解你的问题,你有一个表达式 returns 第一个子网 ID,即:
!Select [0, !Ref SubnetIds]
如果您想要所有三个子网,您可以写:
[!Select [0, !Ref SubnetIds], !Select [1, !Ref SubnetIds], !Select [2, !Ref SubnetIds]]
但是这个表达式和写是一样的:
!Ref SubnetIds
因为SubnetIds
已经是List<AWS::EC2::Subnet::Id>
.
据我所知,您想要一个您创建的 VPC 堆栈的私有和 public 子网列表。您可以从 VPC 堆栈中导出您的 public 和私有子网,并在您的 EKS 堆栈中使用它们。
Outputs:
PublicSubnets:
Description: Public Subnets
Value: !Join [",", [!Ref PublicSubnet1, !Ref PublicSubnet2, !Ref PublicSubnet3]]
Export:
Name: PublicSubnets
PrivateSubnets:
Description: Private Subnets
Value: !Join [",", [!Ref PrivateSubnet1, !Ref PrivateSubnet2, !Ref PrivateSubnet3]]
Export:
Name: PrivateSubnets
我认为您现在应该能够在 EKS 堆栈中将它们引用为
Ec2SubnetId:
!Select [0, !ImportValue PrivateSubnets]
或者 Split
函数
Ec2SubnetId:
!Select [0, !Split [",", !ImportValue PrivateSubnets]]
如果可行,请告诉我。