Я не могу удалить свой VPC

Я хочу удалить один из моих VPC, но когда я пытался удалить, эта ошибка появилась.

Мы не смогли удалить следующий VPC (vpc-8737bde2 (10.100.0.0/16) | Khoi-VPC) Vpc 'vpc-8737bde2' имеет зависимости и не может быть удален. (Сервис: AmazonEC2; Код состояния: 400; Код ошибки: DependencyViolation; Идентификатор запроса: e115d5ca-dd34-4cbb-a439-541b0dc225da)

ОК, я проверил группу безопасности и нашел одну группу с описанием, которое имеет имя моего VPC, поэтому я подумал, что это проблема. Но на этот раз ошибка появляется снова.

Мы не смогли удалить следующую группу безопасности (sg-a43c0dc1)

указанная группа: "sg-a43c0dc1" имя: "default" не может быть удалена пользователем (Сервис: AmazonEC2; Код состояния: 400; Код ошибки: CannotDelete; Идентификатор запроса: b21c425c-25c7-46e7-baeb-9610710afeca )

Я не знаю, как удалить свой VPC, есть ли у кого-нибудь идеи?

Ответ 1

Большинство приложений AWS, использующих VPC, не показывают его использования в консоли VPC. (обновление) Хотя консоль AWS заявляет, что она будет отсоединять ресурсы, вам необходимо проверить конкретные ресурсы VPC, используемые другими службами AWS.

Вот некоторые из них:

  • EC2: Сетевой интерфейс, Группы безопасности и подсеть для любого экземпляра EC2, прикрепленного к подсети VPC. Вы можете выбрать

    • ТЕРМИНАТ (удалить) экземпляр EC2 или
    • Запустите экземпляр в "фиктивный VPC" или публичную подсеть
  • RDS: Группы безопасности БД и подсеть Когда вы создаете RDS и присоединяетесь к VPC, вы должны создать группу подсетей DB для этого VPC. Даже вы удаляете RDS, группа (-ы) подсети DB остается. Поэтому вам нужно перейти на консоль и удалить группу подсети DB (или использовать aws cli для ее удаления).

  • Любые другие службы AWS, которые используют VPC

    • Просто откройте все службы, которые используют VPC-id, VPC-Subnet-ID, группы безопасности и т.д.

(Обновлено после тестирования @TheOne указала конечную точку VPC)
4. Конечная точка VPC

Вещи внутри VPC, о которых вам не нужно беспокоиться при удалении VPC

  • Виртуальные частные шлюзы (консоль отделяет VPG от VPC)
  • Вложения VPN
  • Интернет-шлюзы
  • Таблицы маршрутов

Ответ 2

Прежде чем вы сможете удалить VPC, вы должны завершить все экземпляры, запущенные в VPC. Если вы удаляете VPC с помощью консоли VPC, он также удаляет ресурсы, связанные с VPC, такие как подсети, группы безопасности, сетевые списки ACL, наборы параметров DHCP, таблицы маршрутов и интернет-шлюзы.

Таким образом, нет запроса вручную удалить группы безопасности.

Чтобы прервать ваш экземпляр, отпустите свой эластичный IP-адрес и удалите VPC

  • Откройте консоль Amazon EC2 в https://console.aws.amazon.com/ec2/.

  • В навигационной панели выберите Экземпляры.

  • Выберите свой экземпляр, выберите "Действия", "Состояние экземпляра" и затем "Завершить".

  • В диалоговом окне разверните раздел "Отключенные вложенные эластичные IP-адреса" и установите флажок рядом с Упругим IP-адресом. Выберите "Да", "Завершить".

  • Откройте консоль VPC Amazon на https://console.aws.amazon.com/vpc/.

  • В навигационной панели выберите свои VPC.

  • Выберите VPC, выберите "Действия", а затем "Удалить VPC".

  • При запросе подтверждения выберите "Да", "Удалить".

:

Очистить VPC

Ответ 3

Из документации AWS:

Вы можете удалить свой VPC в любое время. Однако вы должны завершить все экземпляры в VPC и сначала удалить все пиринговые соединения VPC. Когда вы удаляете VPC с помощью консоли VPC, мы удаляем все его компоненты, такие как подсети, группы безопасности, сетевые списки ACL, таблицы маршрутов, интернет-шлюзы и параметры DHCP.

Однако из документации для команды delete-vpc:

Вы должны отсоединить или удалить все шлюзы и ресурсы, связанные с VPC, прежде чем сможете его удалить. Например, необходимо завершить работу всех экземпляров, запущенных в VPC, удалить все группы безопасности, связанные с VPC (кроме группы по умолчанию), удалить все таблицы маршрутов, связанные с VPC (кроме таблицы по умолчанию) и т.д.

Таким образом, при удалении VPC с помощью консоли выполняется иначе, чем при использовании интерфейса командной строки AWS.

Если вы удаляете VPC с помощью консоли, вам нужно всего лишь прекратить/удалить следующее:

  • Экземпляры EC2 в VPC.

  • Экземпляры RDS в VPC.

  • VPC пиринговые соединения

Если вы удаляете VPC с помощью интерфейса командной строки, вам также необходимо отключить/удалить другие зависимые ресурсы:

  • Subnets

  • Группы безопасности (кроме стандартных)

  • Таблицы маршрутов (кроме стандартных)

  • Группа безопасности RDS

  • Интернет-шлюзы

  • Шлюзы NAT

  • Конечные точки VPC

  • и т.д.

Многие из этих ресурсов можно найти в консоли AWS, выполнив поиск в соответствующем разделе для этого типа ресурса с использованием идентификатора VPC, связанных идентификаторов подсети или связанных идентификаторов групп безопасности.