AWS кросс-аз трафик
У меня есть два экземпляра в двух разных зонах доступности, которые должны общаться друг с другом. они внутри частных подсетей vpc-
а) Будет ли трафик проходить через NAT, когда они общаются друг с другом?
б) А что будет, если они находятся в общедоступной подсети и имеют эластичный ip?
в) Что если они в классике ec2 в двух разных аз?
1 ответ
Все эти сценарии могут идти в любую сторону, в зависимости от того, как экземпляры обращаются друг к другу.
Все экземпляры VPC имеют частный IP-адрес, даже если они также имеют эластичный (общедоступный) IP или динамический общедоступный IP-адрес из пула.
Пока A соединяется с B, используя частный IP-адрес B в качестве пункта назначения, трафик не будет использовать публичный IP-адрес B и не будет проходить через NAT (когда A не имеет публичного IP-адреса) и не будет использовать публичный или эластичный A-адрес. IP (если есть).
Если A подключается к B, используя открытый адрес B в качестве пункта назначения (если B имеет такой адрес), то ни одно из утверждений в предыдущем абзаце не будет иметь истины... Итак, вы почти всегда хотите использовать частный IP-адрес экземпляра при подключении к другой экземпляр.
Это также относится и к EC-Classic.
Вы также будете платить за передачу данных между экземплярами в разных зонах доступности и в одном и том же AZ, если экземпляры находятся в двух разных VPC (с использованием пиринга VPC). На момент написания статьи плата составляла 0,02 долл. США / ГБ. В большинстве случаев, если быть точным, за отправку данных взимается плата в размере 0,01 доллара США, а за получение данных в другом - 0,01 доллара США, но это чистая прибыль в размере 0,02 доллара США. И наоборот, когда экземпляры обмениваются данными друг с другом в двух разных регионах, отправляющий экземпляр платит 0,02 доллара, а принимающий экземпляр платит 0,00 доллара... и, конечно, публичные IP-адреса всегда участвуют на каком-то уровне настройки нескольких регионов.
Вы не платите за передачу данных между экземплярами в одном и том же AZ (и VPC, если VPC), если только вы не используете NAT или эластичные / публичные IP-адреса, что - помимо возможной и ненужной потери производительности - является еще одной причиной, по которой не стоит сделать это... что, опять же, должно произойти, только если один экземпляр не соединяется с другим, используя частные IP-адреса в качестве адреса назначения.