Назначение вторичных IP-адресов в экземпляре Google Compute Engine - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь назначить вторичные IP-адреса экземпляру GCE, используя код terraform. Согласно документации Google, мы можем использовать псевдоним IP в качестве диапазона или указать c IP-адреса или маску. Но мое требование не соответствует ни одному из этих 3 критериев. Мне нужно назначить вторичные IP-адреса, назначенные автоматически с точным количеством IP-адресов в соответствии с пользовательским вводом. Я попытался использовать маску, но проблема с маской заключается в том, что, хотя он автоматически выделяет диапазон CIDR, он не может соответствовать точному количеству IP-адресов. Например, если пользователь хочет присоединить ровно 3 вторичных IP-адреса, я могу использовать значение маски / 30, и это дает 4 хоста. Точно так же, если пользователь хочет 5 вторичных IP-адресов, я должен замаскировать / 29, который заканчивается в диапазоне от 8 IP-адресов хоста, и дополнительные 3 IP-адреса никогда не используются, что не является идеальным способом.

Есть ли обходной путь для этого? Если да, как я могу справиться с этим в terraform? Текущий код, как показано ниже, который всегда выделяет 16 хостов. Я в основном нуждаюсь в параметризации без вышеуказанного вызова.

    network_interface {
       subnetwork = "${var.appSubnetName}"
       network_ip = "${var.appIp != "" ? var.appIp : "" }" 
       alias_ip_range {
          ip_cidr_range = "/28"
        }
    }
...