Я думаю, что ответ — нет, но я хочу убедиться, что ничего не упускаю. Возможно ли, чтобы экземпляр EC2 имел IP-адреса в более чем одном VPC одновременно?
Я попытался создать 2 VPC, а затем два сетевых интерфейса, по одному в каждом VPC, но, похоже, их невозможно подключить к одному и тому же экземпляру EC2, поскольку их невозможно подключить к экземпляру, который не находится в этом VPC. Это правильно?
Например, я создаю vpc1 и eni1 (сетевой интерфейс) в vpc1. Затем я создаю vpc2 и eni2 в vpc2. Затем я создаю ec21 (экземпляр EC2) и помещаю его в vpc1 с eni1 в качестве сетевого интерфейса. Когда я открываю eni2 и выбираю присоединить, я не могу выбрать ec21, он говорит:
Нет запущенных или остановленных экземпляров в us-esat-1f в vpc2.
решение1
Обновлять: с 26 октября 2023 года это стало возможным благодаряВложения Multi-VPC ENI.
Нет, это невозможно.
Сетевые интерфейсы могут быть подключены только к экземплярам в том же VPC, что и интерфейс.
Часто задаваемые вопросы об Amazon VPC
Ваш экземпляр ec2 привязан к VPC его основного сетевого интерфейса. Если вам нужно перекрестное соединение VPC, вам нужно настроить пиринг VPC или VPN.
Экземпляр ec2 может иметь несколько сетевых интерфейсов в нескольких подсетях, но все они должны находиться в одном VPC.
решение2
Я только что подтвердил, что теперь это осуществимо, при условии, что два VPC, с которыми вы пытаетесь организовать многодом, находятся в одной учетной записи и зоне доступности.
Вы можете запустить экземпляр EC2 в одном VPC и прикрепить к экземпляру вторичный ENI из другого VPC (но в той же зоне доступности). Это позволяет вам создавать многосетевые экземпляры в VPC с различными сетевыми и безопасными конфигурациями. Вы не можете создавать многосетевые экземпляры в VPC в разных аккаунтах AWS. (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/scenarios-enis.html#creating-dual-homed-instances-with-workloads-roles-on-distinct-vpcs)
UI Quirk (ноябрь 2023 г.): Я попытался использовать функцию «Прикрепить ENI» пользовательского интерфейса веб-консоли, чтобы добавить сетевой адаптер из другого VPC к существующему экземпляру, и он не позволил мне выбрать нужный мне ENI (несмотря на то, что ENI был доступен, в той же учетной записи и в той же AZ) — он позволил мне выбрать только ENI из того же основного VPC, что и первый сетевой адаптер на экземпляре. Я думаю, что это просто ограничение веб-интерфейса.
Вы можете обойти это в веб-интерфейсе, создав шаблон запуска, в котором вы добавляете два сетевых интерфейса, и эти интерфейсы МОГУТ быть из разных VPC, без проблем. Если вы запустите экземпляр из этого шаблона, он получит (в зависимости от вашей конфигурации) адрес из обеих соответствующих подсетей vpcs.
Я подозреваю, что если вы сделаете это из терминала (используя aws-cli), вы сможете обойти эту странность и также изменить ваши существующие экземпляры (в дополнение к запуску новых). Но я не подтверждал.