Мы хотим иметь возможность определять, из какой страны наши пользователи посещают наш сайт. Я знаю, что ELB поддерживает протокол Proxy и будет отправлять через IP клиента; что я мог бы использовать для ручного геопоиска IP. Но есть ли в ELB что-то встроенное, что подскажет мне, как получить информацию о местоположении пользователя, возможно, через заголовок? Не нужно много информации, только страна клиента.
решение1
ELB не предлагает такую возможность. Cloudfront, однако, предлагает. Amazon CloudFront добавляет обнаружение устройств, геотаргетинг, пересылку заголовков хостов, поддержку CORS и многое другое!
Вы можете использовать CloudFront перед вашим ELB (настроив ELB как «пользовательский источник»), а затем включить заголовок Cloudfront-Viewer-Country
, который выполняет две функции: позволяет узнать результат поиска по геолокации и заставляет Cloudfront хранить кэш для конкретной страны для каждого кэшируемого ресурса (чтобы кэшированные ответы по-прежнему работали с учетом конкретной страны).
Вы также можете включить заголовки, которые будут идентифицировать браузер как настольный компьютер, мобильный телефон, планшет или смарт-телевизор.
Внимательно изучите структуру ценообразования, и вы увидите, что в некоторых случаях (в зависимости от страны, конфигурации и объема трафика) использование CloudFront перед EC2 может быть на самом деле почти на 0,005 долл. США/ГБ дешевле, чем его отсутствие, как бы странно это ни звучало, из-за недавних изменений в структуре ценообразования.