Экземпляр AWS nat и горлышко бутылки elb

Получил быстрый вопрос, который может показаться совершенно глупым, но сейчас раннее утро. Итак, у меня есть стандартный AWS VPC с экземпляром ELB, NAT и 2 экземплярами EC2 для кода приложения. Судя по изображению ниже, интернет-шлюз передает трафик экземплярам ELB и NAT. У меня вопрос: почему экземпляр NAT не находится впереди или позади ELB? похоже, что единственным узким местом в этом VPC может быть экземпляр NAT, если весь трафик проходит через него.

vpc, elb, nat, aws


person Oliver Bayes-Shelton    schedule 07.01.2015    source источник
comment
NAT предназначен только для исходящего доступа. Если вашему приложению часто требуется доступ в Интернет через NAT, возможно, это узкое место.   -  person BMW    schedule 07.01.2015


Ответы (2)


Сервер NAT (преобразование сетевых адресов) используется для обеспечения исходящего подключения к Интернету для экземпляров Amazon EC2 в частной подсети.

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

Если экземпляр EC2 в частной подсети хочет инициировать подключение к Интернету (например, для загрузки обновлений или для связи с Amazon S3), он не может отправлять трафик «за пределы» балансировщиков нагрузки. Вместо этого подсеть будет настроена на маршрутизацию трафика на сервер NAT, который действует как прокси для запроса данных из Интернета.

Возможно, сервер NAT может стать узким местом. Если это так, измените экземпляр, чтобы использовать более крупный тип экземпляра - это не только увеличивает ЦП и ОЗУ, но и увеличивает пропускную способность сети.

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

Дополнительная информация: С момента написания этого ответа AWS представила Управляемый шлюз NAT с возможностью автоматического масштабирования. Он создается в одной зоне доступности, поэтому для обеспечения высокой доступности может потребоваться запустить ее в двух зонах доступности.

person John Rotenstein    schedule 08.01.2015
comment
хороший и подробный ответ, но использование более крупного экземпляра для NAT-сервера не очень хорошо масштабируется. - person Vame; 17.03.2015

Я не уверен, как это работает, если loadbalacer завершает работу на уровне APP, то для экземпляра, запущенного в этой подсети, будет настроена таблица маршрутов с IGW, а не с экземпляром NAT, which raises a question how to make outbound traffic on the public network which is configured over a loadbalalncer

person anish    schedule 03.10.2015