AWS Global Accelerator позволяет связывать региональные ресурсы, такие как балансировщики нагрузки и экземпляры EC2, с двумя статическими IP-адресами.
https://aws.amazon.com/global-accelerator/
Изначально GlobalУскоритель не сохранил IP-адрес клиента, но последующее усовершенствование сделало это возможным.
Сохранение IP-адреса клиента
Сегодня мы объявляем о важномновая функция для AWS Global Accelerator. Если вы перенаправляете трафик на Application Load Balancer, IP-адрес клиента пользователя теперь доступен для кода, выполняемого на конечной точке.
https://aws.amazon.com/blogs/aws/new-client-ip-address-preservation-for-aws-global-accelerator/
С этой функциейповедение X-Forwarded-For
является правильным, потому что ALB видит IP-адрес клиента.
Это также может повысить сквозную производительность, поскольку статические адреса, назначенные вам из Global Accelerator, перенаправляются из anycastИнтернет к нескольким периферийным точкам в пограничной сети AWS (где живут глобальные службы CloudFront и Route 53, хотя Global Accelerator не использует напрямую ни одну из этих служб; напротив, некоторые другие пограничные службы, такие как S3 Transfer Acceleration и «Edge Optimized»"API Gateway на самом деле использует CloudFront под капотом). От входа на периферию трафик перемещается по волокну AWS в область вашего ALB, а ответы возвращаются обратно на периферию и к зрителю, устраняя некоторые изменчивости и капризы общедоступного Интернета.
Этоописание кажется невозможным и / или волшебным для тех, кто знаком с тем, как сети и NAT обычно работают (и имеют ограничения), но секретным соусом является взаимосвязь с сетью VPC через внутреннюю службу AWS под названием Hyperplane, которая также позволяет балансировщикам сетевой нагрузки иШлюзы NAT работают с использованием преобразования адресов и потоков с отслеживанием состояния.
Это единственный официальный способ иметь статические адреса IPv4 на внешней стороне ALB с правильной обработкой X-Forwarded-For
и хорошо подходит для сред, гдесуществует негибкое требование к статическим адресам из-за факторов, находящихся вне вашего контроля.
"Два" статических адреса, упомянутых выше, предназначены для избыточности. Два будут назначены. Вам не обязательно использовать оба из них, но лучше, если вы это сделаете.