如果用相同的输入调用,Cidr总是输出相同的值吗?我想从同一个Vpc ip块中获得三个不同子网的三个子网的三个子网地址,如果我按如下方式使用这三个子网,我是否可以保证得到它们的不同地址:
我正在为每个参数更改Fn::Select的第一个参数。
"SubBlock1" : { "Fn::Select" : [ 0, { "Fn::Cidr" : ["10.0.1.0/16", 3, 24]} ] }
"SubBlock2" : { "Fn::Select" : [ 1, { "Fn::Cidr" : ["10.0.1.0/16", 3, 24]} ] }
"SubBlock3" : { "Fn::Select" : [ 2, { "Fn::Cidr" : ["10.0.1.0/16", 3, 24]} ] }发布于 2020-07-14 00:58:54
为了测试这一点,我用这个模板创建了一个堆栈:
AWSTemplateFormatVersion: 2010-09-09
Resources:
Bucket:
Type: AWS::S3::Bucket
Outputs:
Block1:
Value: !Select
- 0
- Fn::Cidr:
- 10.0.0.0/16
- 3
- 8
Block2:
Value: !Select
- 1
- Fn::Cidr:
- 10.0.0.0/16
- 3
- 8
Block3:
Value: !Select
- 2
- Fn::Cidr:
- 10.0.0.0/16
- 3
- 8(只因为至少需要一个资源,所以就包含了存储桶。)
产出如下:
10.1.0.0/24
10.1.1.0/24
10.1.2.0/24:
因此,是的,每次都会输出相同的块,因为它只是按照请求对给定的CIDR进行除法。
一些注意事项:
在您的示例中,必须提供block
10.0.1.0/16以生成/24 10.1.0.0/16的
/16块,因此我将其更改为10.1.0.0/16https://stackoverflow.com/questions/62874860
复制相似问题