Рейтинг:0

Как создать новый размер блока подсети в текущем VPC с некоторым используемым диапазоном cidr на AWS с помощью Terraform?

флаг dz

Я хочу использовать Terraform для создания новой подсети для EKS. В этом же аккаунте уже создан VPC и созданы некоторые подсети.

местные жители {
  vpc_cidr_block = "10.148.52.0/22"

  общественные_подсети = [
    "10.148.52.0/27",
    "10.148.54.0/27",
  ]
  # ...
  частные_подсети_3 = [
    "10.148.52.80/28",
    "10.148.54.80/28",
  ]
  подсети_4 = [
    "10.148.52.240/28",
    «10.148.54.240/28»,
  ]
  eks_private_subnets = [
    «10.148.52.128/25»,
    «10.148.54.128/25»,
  ]
}

ресурс "aws_subnet" "eks_private" {
  количество = длина (local.eks_private_subnets)

  vpc_id = aws_vpc.this.id
  cidr_block = local.eks_private_subnets[count.index]
  зона_доступности = local.azs[count.index]
}

При запуске развертывания он получил эти ошибки:

Ошибка: ошибка при создании подсети: InvalidSubnet.Conflict: CIDR '10.148.54.128/25' конфликтует с другой подсетью
    код состояния: 400, идентификатор запроса: 11111111111-111111-1111111-1111111111111

  в строке 50 main.tf, в ресурсе "aws_subnet" "eks_private":
 50: ресурс "aws_subnet" "eks_private" {


Ошибка: ошибка при создании подсети: InvalidSubnet.Conflict: CIDR '10.148.52.128/25' конфликтует с другой подсетью
    код состояния: 400, идентификатор запроса: 22222222222-222222-22222-222222222222222

  в строке 50 network.tf, в ресурсе "aws_subnet" "eks_private":
 50: ресурс "aws_subnet" "eks_private" {

Кажется, размер .128/25 конфликтует с другой подсетью. Но я хочу создать в этом VPC подсеть размером /25, разве это не возможно? В противном случае мне нужно будет создать новый VPC для использования?

Tim avatar
флаг gp
Tim
Диапазоны CIDR вашей подсети перекрываются. Измените диапазон CIDR. Визуальный калькулятор CIDR может помочь вам визуализировать это http://www.davidc.net/sites/default/subnets/subnets.html.
Miantian avatar
флаг dz
@Tim Я рассчитал это с помощью предоставленного вами инструмента. «Диапазон адресов» получил «10.148.52.128 — 10.148.52.255». Как сбросить диапазон частной подсети?
Tim avatar
флаг gp
Tim
Что вы имеете в виду под фразой «остать диапазон частной подсети»? Что вам нужно сделать, так это выделить диапазон CIDR в вашем диапазоне VPC, который в настоящее время не используется. Вы используете много блоков CIDR разного размера, так что вам придется немного потрудиться. Я предпочитаю использовать сети /16 и /24 для большинства сетей, где много места для IP-адресов, но когда я работаю с корпоративными сетями, где пространство для IP-адресов ограничено, я часто использую визуальный калькулятор CIDR, чтобы правильно разделить его. Если вы не занимаетесь математикой CIDR регулярно, большинству людей понадобится инструмент, который поможет им.
флаг ph
Если вы пытаетесь выделить несколько непересекающихся диапазонов для совместного использования в одной общей сети, вы можете рассмотреть возможность использования [модуля `hashicorp/subnets/cidr`](https://registry.terraform.io/modules /hashicorp/subnets/cidr/latest), который призван помочь в такой ситуации. Вы всегда можете назначить результаты из этого модуля отдельным локальным значениям, как в вашем вопросе, если вам нужно сделать что-то более сложное, чем просто плоский набор экземпляров aws_subnet в одном ресурсе.
Miantian avatar
флаг dz
@Tim @MartinAtkins Спасибо! Теперь я понимаю проблему с дополнительной подсетью cidr. [модуль hashicorp/subnets/cidr](https://registry.terraform.io/modules/hashicorp/subnets/cidr/latest#amazon-virtual-private-cloud) выглядит хорошо, но я попробую использовать другой сегмент в ` 10.148.5x` первый.
Рейтинг:1
флаг gp
Tim

Чтобы закрыть этот вопрос, проблема в том, что вы пытаетесь выделить один и тот же диапазон CIDR для двух подсетей. Вам необходимо выделить диапазон CIDR вашей подсети из доступного диапазона. Два инструмента, которые могут оказаться полезными

Это может оказаться проще, если вы используете более распространенные размеры блоков CIDR, хотя это не всегда возможно. /16 VPC с подсетями /24 довольно распространены, и с ними легко работать в уме.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.