Fn :: Cidr случайный? - PullRequest
       63

Fn :: Cidr случайный?

0 голосов
/ 13 июля 2020

Будет ли Fn :: Cidr всегда выводить одни и те же значения, если вызывается с одним и тем же вводом? Я хочу получить 3 подадреса для трех разных подсетей из одного и того же блока Vp c ip, могу ли я гарантировать, что получу разные адреса для этих 3 подсетей, если буду использовать их, как показано ниже:

I ' m изменение первого аргумента 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]} ] }

1 Ответ

1 голос
/ 14 июля 2020

Чтобы проверить это, я создал стек с этим шаблоном:

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

(Корзина включена просто потому, что требуется хотя бы один ресурс.)

Результат был:

  • Блок1: 10.1.0.0/24
  • Блок2: 10.1.1.0/24
  • Блок3: 10.1.2.0/24

Итак, да, это будет выводить одни и те же блоки каждый раз , потому что он просто делит заданный CIDR по запросу.

Некоторые примечания:

  • Мне пришлось предоставить cidrBits=8 для генерации a /24 блок
  • 10.0.1.0/16 в вашем примере не является допустимым блоком /16, поэтому я изменил его на 10.1.0.0/16
...