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

Как перейти в режим внешнего обслуживания в AWS, сохранив сайт в рабочем состоянии для внутренних пользователей?

Может ли кто-нибудь указать мне в правильном направлении, как можно перевести сайт в AWS в режим обслуживания для внешних пользователей (т. Е. Людей за пределами мира), но оставить сайт для внутренних пользователей (т. Е. Тех, кто находится в корпоративной сети)? Ниже представлена ​​наша облачная топология:

mysite.abc.com -> CloudFlare -> AWS Route53 -> AWS ELB -> AWS EC2

Я могу легко перевести сайт в режим обслуживания для всех, просто используя взвешенную маршрутизацию в Route53 и отправляя все запросы на страницу обслуживания в CloudFront / S3. Я не могу понять, как дополнительно перенаправить на основе IP-адреса клиента. Спасибо.

ELB и Route53 не могут изменять трафик в зависимости от IP-адреса источника.

Некоторые варианты, которые я могу использовать:

  1. создать второе доменное имя, известное только внутренним пользователям
  2. внесите изменения в свой локальный (корпоративный) DNS-преобразователь, чтобы он указывал вам на правильный ELB, перенаправляя всех остальных (за пределы).
  3. настроить службу перенаправления на экземпляре EC2, например, с помощью Nginx, который перенаправляет все некорпоративные IP-адреса на CloudFront, а остальные proxy_ передает в ваше приложение

Последний вариант является наиболее гибким и может принести пользу другим способом, например, возможностью выполнять аварийное переключение при отказе и т. Д.