Linux и windows экземпляр на AWS - PullRequest
0 голосов
/ 14 января 2020

Как мне создать VPC / su bnet на AWS и запустить экземпляр Windows и Linux в том же su bnet. всякий раз, когда я пытаюсь создать vp c, он не дает s sh доступ к другим терминалам, даже если я даю разрешения в таблицах маршрутов.

1 Ответ

0 голосов
/ 14 января 2020

Это может быть много вещей. Возможно, я бы порекомендовал посмотреть на группы безопасности (добавить входящий TCP / 22 с вашего IP-адреса) и, в зависимости от ваших настроек (убедиться, что IGW подключен), убедиться, что вашим экземплярам назначен публичный c IP-адрес (добавить Elasti c IP, если у вашего экземпляра его еще нет). Без дополнительной информации о вашей среде я могу предоставить лишь некоторые сведения, которые помогут вам устранить неполадки.

Сетевой путь к экземпляру в VP C выглядит следующим образом:

Inte rnet -> AWS Граница -> VP C Граница -> VP C Маршрутизатор -> Su bnet border -> Elasti c Сетевой интерфейс

AWS Граница

В большинстве случаев эта часть не важна. Из Inte rnet ваш трафик c в конечном итоге будет перенаправлен в автономную систему Amazon. Это вообще прозрачно. Но если у вас есть прямое подключение типа c, то Amazon-сторона соединения выдает вас здесь. В этой области вы можете получить доступ к конечным точкам API publi c, но вы не можете получить доступ к чему-либо внутри VP C без дальнейшего продвижения вниз по стеку. См. Ниже.

VP C Граница

Это точка, в которой трафик c входит / покидает VP C. Это может происходить несколькими способами.

Inte rnet Шлюз (IGW)

Выполняется один-к-одному NAT между публично маршрутизируемым IP-адресом, принадлежащим Amazon, и VP C внутренний частный IP-адрес (не путайте его со шлюзом NAT, так как он отличается от описанного ниже). Только экземпляры, которым назначен общедоступный IP-адрес c, могут использовать IGW. Будучи NAT 1-к-1, с точки зрения Экземпляров это соединение между частным IP-адресом и IP-адресом Inte rnet. Снаружи это соединение с публичным IP-адресом экземпляра c. Подчеркнем, что экземпляры без назначенного общедоступного IP-адреса c (elasti c IP или другого) не смогут взаимодействовать с Inte rnet в любом направлении через IGW. И наоборот, если у вас нет IGW, в ваших экземплярах не будет необходимости использовать публичные c IP-адреса. Также стоит упомянуть, что существуют также выходные шлюзы, которые позволяют подключение IPv6 только для исходящих инициированных подключений.

Виртуальный частный шлюз (VGW)

Это можно рассматривать как своего рода маршрутизатор. Если у вас есть VPN-соединение, подключенное к AWS 'VPN-сервису, или если вы используете Private Direct Connect, оно будет проходить через это виртуальное устройство, которое будет связано с VP C. Стоит отметить, что это своего рода пиринг и использует частные IP-адреса VP C для связи. Вам не нужен общедоступный c IP-адрес для связи через VGW, и вы не можете обойти VGW, используя опубликованный c IP-адрес экземпляров в вашем VP C.

VP C Пиринговые соединения (PCX)

Это очень похоже на VGW. Он может соединять только два VPC (с транзитным шлюзом, я полагаю, это упрощение) и соединяет их на уровне частных IP-адресов. Вы не можете ссылаться на ресурсы через PCX, используя свои IP-адреса Publi c.

VP C Конечная точка (VP C -E)

Это доступно только изнутри VP C с выходящими соединениями (очевидно, возвращаются traffi c с возвратом через это, но. Это соединение с определенной c AWS конечной точкой в ​​AWS Publi c Граница (например, конечная точка API S3). При этом не используется общедоступный c IP-адрес экземпляра.

VP C Маршрутизатор

Весь трафик c при выходе или входе VP C попадает на этот маршрутизатор, и он направляет к / от всех точек входа / выхода на границе VP C и к / от каждой подсети. Вы можете настроить этот маршрутизатор для управления тем, какой трафик c идет куда, и вы можете иметь разные таблицы маршрутов для каждого su bnet. Таким образом, "publi c" su bnet - это один в VP C, который имеет IGW и имеет маршрут по умолчанию (0.0.0.0 / 0) к этому IGW. У частного су bnet нет пути к IGW. Если нет маршрута к IGW, использование IPL-адреса publi c в вашем экземпляре бесполезно и расточительно.

Вы также можете направить в ENI, если хотите контролировать трафик c в своем VP C и отправить его в экземпляр EC2 (веб-прокси / IDS / traffi c захват / et c.), однако, что ENI должен находиться в su bnet с другой таблицей маршрутов, иначе его собственный исходящий трафик c будет перенаправлен обратно к самому себе. Весь трафик c, выходящий / входящий в любой сервер su bnet, и весь трафик c, выходящий / входящий в VP C, проходит через этот маршрутизатор и зависит от настроенных вами маршрутов. Вы не можете настроить маршрутизацию в своих подсетях, любой пакет, предназначенный для адреса в частном IP-пространстве вашего VP C, будет автоматически перенаправлен на этот конкретный su bnet, и вы не можете переопределить эту функциональность с более конкретными c маршрутами .

Su bnet Граница

На границе su bnet traffi c подчиняется спискам контроля доступа к сети (NACL). Это брандмауэр без сохранения состояния, основанный на правилах. По умолчанию он широко открыт и не требует настройки для разрешения traffi c. Не существует правила, разрешающего «существующие соединения», поэтому, если вы начнете блокировать su bnet с помощью NACL, вам, вероятно, потребуется открыть все временные порты в ожидаемом направлении. Traffi c , Любой трафик c между экземплярами в пределах одного su bnet будет , а не попадать в NACL. Но все, что покидает или входит в su bnet (идет ли оно к другому su bnet в том же VP C или вообще покидает VP C), попадает в NACL и подчиняется его правилам. Обычно оставляйте их в покое, если только вам не нужно защищать трафик c на уровне su bnet, NACL немного громоздки.

Elasti c Сетевой интерфейс (ENI)

Наконец traffi c проходит через ENI, где он подчиняется группе безопасности. Это неявный брандмауэр с сохранением состояния, для которого вы можете добавлять только разрешающие правила. Если группа безопасности не имеет правила, разрешающего исходящий трафик c из экземпляра, этот трафик c никогда не покинет ENI. Если в группе безопасности нет правила, разрешающего некоторый тип входящего трафика c, этот тип входящего трафика c никогда не будет отправлен в экземпляр (т. Е. ОС не сможет его обнаружить).

NAT Gateway

Это устройство, которое может находиться в су bnet. Для этого потребуется маршрут к IGW и IP-адрес publi c (IP-адреса Elasti c работают). Он выполняет преобразование «многие-к-одному» из любых частных IP-адресов в вашем VP C в общедоступный IP-адрес (технически он выполняет преобразование «многие-к-одному», преобразуя множество частных IP-адресов в вашем VP C в свой собственный частный IP-адрес, и когда он связывается с IGW, он выполняет NAT один-к-одному для преобразования частного IP-адреса шлюза NAT в общедоступный c IP-адрес). Это работает только для IPv4. И это работает, только если экземпляры отправляют свой трафик c в ENI шлюза NAT. Как правило, шлюз NAT должен находиться в общедоступном c Su bnet (с маршрутом по умолчанию к IGW), и все ваши экземпляры в частных подсетях будут иметь маршрут по умолчанию к ENI шлюза NAT.

Сводка

Голый минимум для подключения к экземпляру EC2:

  • VP C имеет подключенный IGW
  • NACL имеет разрешающие правила для желаемый трафик c в обоих направлениях (настроен по умолчанию)
  • EC2 Instance имеет группу безопасности, разрешающую желаемый трафик c (TCP / 22 для S SH, et c.)
  • Экземпляр EC2 имеет связанный с ним общедоступный c IP-адрес (должен быть настроен при запуске экземпляра или может быть добавлен после присоединения Elasti c IP).

Эта конфигурация позволяет напрямую подключаться к экземпляру через publi c inte rnet.

Хорошо спроектированный VP C Pattern

Общий c архитектурный шаблон, рекомендованный AWS для простых сетей с наилучшей практикой:

  • VP C с подключенным IGW
  • два или больше общедоступных c подсетей (каждая в отдельных зонах доступности) с маршрутом по умолчанию к IGW.
  • шлюз NAT в каждой из общедоступных c подсетей
  • два или более частные подсети (каждая в том же AZ, что и подсети publi c), каждая с маршрутами по умолчанию к шлюзу NAT в publi c su bnet в том же AZ.
  • хост-бастион в группе автоматического масштабирования 1, охватывающий все публичные c подсети, допускающие входящий S SH (целесообразно ли это, является дискуссионным)
  • при необходимости, a VPN-подключение из вашей корпоративной сети к группам безопасности VP C
  • в частных экземплярах, позволяющее входить из определенных c ресурсов в VP C (ссылаясь по идентификатору группы безопасности, где это возможно) и любых входящих traffi c необходим через VP C, а исходящий трафик c TCP / 443 отправляется в мир (или больше / меньше в зависимости от вашей толерантности к риску и потребностей).
  • при необходимости, и VP C Конечная точка к S3 или любым другим конечным точкам API, которые вы собираетесь отправлять большими объемами трафика c.

Эта архитектура позволяет вашим частным экземплярам подключаться к общедоступным c inte rnet ресурсам исходящий (по крайней мере, с использованием IPv4) и входящий трафик c должен go через VPN или хост-бастион. Для служб publi c -facing установка Elasti c Load Balancer в подсетях publi c является желаемым способом обеспечения подключения publi c для ваших экземпляров, чтобы вы могли продолжать поддерживать их защищенными в частный су bnet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...