首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fn::Cidr随机?

Fn::Cidr随机?
EN

Stack Overflow用户
提问于 2020-07-13 11:27:01
回答 1查看 764关注 0票数 0

如果用相同的输入调用,Cidr总是输出相同的值吗?我想从同一个Vpc ip块中获得三个不同子网的三个子网的三个子网地址,如果我按如下方式使用这三个子网,我是否可以保证得到它们的不同地址:

我正在为每个参数更改Fn::Select的第一个参数。

代码语言:javascript
复制
"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]} ] }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-14 00:58:54

为了测试这一点,我用这个模板创建了一个堆栈:

代码语言:javascript
复制
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

  • Block2:10.1.1.0/24

  • Block3:10.1.2.0/24

  • Block1

因此,是的,每次都会输出相同的块,因为它只是按照请求对给定的CIDR进行除法。

一些注意事项:

在您的示例中,必须提供block

  • 10.0.1.0/16以生成/24 10.1.0.0/16

  • 不是有效的/16块,因此我将其更改为10.1.0.0/16
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62874860

复制
相关文章

相似问题

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