Назад | Перейти на главную страницу

В чем разница между частной и публичной подсетями?

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

В качестве аргумента предположим, что у меня в моем vpc 1 ig, 2 таблицы маршрутизации, 2 elbs, 4 экземпляра, 4 подсети и 2 зоны доступности.

[
    ig,
    routepub,
    routepriv (default),
    elbpub,
    elbpriv,
    { az1: [
      subnet1pub:  { range: "10.0.0.0/25",    instances: [ instance1pub  ] },
      subnet1priv: { range: "10.0.1.0/25",    instances: [ instance1priv ] }
    ] },
    { az2: [
      subnet2pub:  { range: "10.0.0.128/25",  instances: [ instance2pub  ] },
      subnet2priv: { range: "10.0.1.128/25",  instances: [ instance2priv ] }
    ] }
]

У меня есть трафик из большого интернета на elbpub который затем балансирует в моих зонах доступности до instance1pub и instance2pub. У меня есть внутреннее приложение (например, база данных или что-то в этом роде) на instance1priv и instance2priv который только instance1pub и instance2pub могут получить доступ, и трафик к ним сбалансирован через elbpriv.

Когда я пытаюсь настроить это, мне говорят, что я должен подключить свой ELB с выходом в Интернет к публичной подсети. Итак, как AWS определяет, является ли подсеть публичной или частной?

И, более конкретно, я понимаю, что частный означает, что он должен проходить через NAT, а общедоступный означает, что он проходит через IG, но как мне настроить и / или связать мои таблицы маршрутов / группы безопасности, чтобы отразить это, чтобы это позволило мне получить публичный трафик в мой публичный эльб?

Единственная разница между частными подсетями и общедоступными подсетями состоит в том, что последняя имеет подключение к Интернет-шлюзу, установленное записью таблицы маршрутов подсети [пример: 10.0.10.0/24 ig-abcdef12].

Итак, в вашем примере вы должны поместить ELB перед экземплярами, которые находятся в общедоступной подсети. Для справки, вы также можете создать внутренний балансировщик нагрузки [для таких сценариев, как веб-серверы в общедоступной подсети, общающиеся с серверами приложений, обслуживаемыми ELB, полностью инсайдерскими VPC - частной подсети]