s sh для частного экземпляра ec2 позади inte rnet -flacing NLB - PullRequest
1 голос
/ 26 апреля 2020

Вот мои настройки:

  1. У меня есть 3 экземпляра в us-east-1a
    • instanceA в publi c su bnet с publicIP
    • instanceB находится в частном доступе su bnet без publicIP
    • instance C находится в публичном доступе c su bnet с publicIP
  2. Я поставил экземпляр C за NLB. NLB находится в общедоступных c подсетях us-east-1a и us-east-1b
  3. Группа безопасности, например, C:
    • Разрешить S SH из публикаций instanceA c IP
    • Разрешить S SH от частного IP-адреса instanceB

Я могу напрямую sh к экземпляру C из экземпляров A и B без проблем. Но всякий раз, когда я sh подключаюсь к DNS NLB, я могу подключиться только от instanceA. Всякий раз, когда я sh отправляю NLB из instanceB, время ожидания соединения просто истекает.

Я проверял сетевой интерфейс NLB, и я вижу, что есть пара publi c и private IP для зоны доступности NLB.

Из instanceA я могу передать sh на публичные c IP-адреса NLB, но я не могу s sh на privateIPs NLB. Из instanceB я могу s sh на частные IP-адреса NLB, но я не могу s sh на publicIPs NLB

Теперь я попытался s sh -vvv NLB, и я могу видеть что я пытаюсь подключиться к publi c IP NLB. Это может быть причиной того, что я не могу подключиться к NLB из instanceB, потому что, как я сказал выше, instanceB может подключаться только к privateIPs NLB.

Я попытался изменить sg Instance C и разрешить s sh с 0.0.0.0/0 и я могу успешно получить доступ к NLB из instanceB. Но это не то, что я хочу. Я не хочу, чтобы каждый мог получить доступ к экземпляру C через NLB.

Я хочу, чтобы instanceB мог также sh подключать к экземпляру C через NLB, как instanceA. Как я могу выполнить это 1067 *? Что мне нужно изменить в sg, nlb, az, et c?

Спасибо!

Ответы [ 3 ]

1 голос
/ 27 апреля 2020

Чтобы ответить только на один аспект из вашего вопроса ...

Следует избегать помещения IP-адресов экземпляров Amazon EC2 в группу безопасности. Если вы хотите sh, чтобы два экземпляра могли обмениваться данными (например, экземпляр А разговаривал с экземпляром C), вам необходимо настроить:

  • Группа безопасности в экземпляре А (SG-A), позволяющая входящий трафик c (предположительно) из Inte rnet
  • группы безопасности в экземпляре C (SG-C), который разрешает входящий трафик c из SG-A

То есть SG-C должно конкретно ссылаться на SG-A. Эта ссылка будет автоматически преобразована в идентификатор группы безопасности (например, sg-xxx). Это означает, что любому экземпляру, связанному с SG-A, будут разрешены входящие соединения на данном порту с любым экземпляром, связанным с SG-C.

Преимущество этого подхода заключается в том, что экземпляры могут быть заменить или изменить IP-адрес, не влияя на группы безопасности. Вы также можете добавить дополнительные экземпляры в эти группы безопасности, и им будут автоматически предоставлены те же разрешения.

Итог: Избегайте ссылок на указанные c частные IP-адреса в группе безопасности.

0 голосов
/ 27 апреля 2020

Спасибо, Наэль и Джон!

Я забыл упомянуть, что каждый экземпляр относится к разным VP C. InstanceA и NLB принадлежат одному и тому же VP C.

. Мне удалось решить мою проблему, предоставив s sh доступ к publicIP natIP VPIP экземпляра B C. Это позволяет мне * sh опубликовать NLB c IP от instanceB.

0 голосов
/ 26 апреля 2020

Я думаю, добавив группу безопасности экземпляра B к группе безопасности экземпляра C, вы можете sh с экземпляром C через NLB с экземпляром B:

Так что добавьте правило входящих sg экземпляра C, как показано на рисунке, и укажите sg экземпляра B

enter image description here

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