Что особенного в IP-адресе 169.254.169.254 для AWS?
Похоже, на этом IP-адресе запущена служба, предоставляющая много полезных метаданных для моего экземпляра, но мне интересно, почему 169.254.169.254? Что особенного в этом IP-адресе? А также задаюсь вопросом: неужели из-за того факта, что этот IP занят этим сервисом, я упускаю возможность подключиться к серверу с этим IP в Интернете?
2 ответа
169.254.169.254 - это IP-адрес из зарезервированного локального адресного пространства канала IPv4 169.254.0.0/16 (с 169.254.0.0 по 169.254.255.255). Аналогично частным диапазонам адресов в RFC-1918 (10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16) в том смысле, что этот блок также нельзя использовать в Интернете, Link Local дополнительно ограничен недоступностью через любой маршрутизатор¹ - по замыслу они существуют только в сети с прямым подключением.
AWS необходимо было создать конечную точку службы, доступную из любой системы, и выбор адреса в этом блоке приводит к конфликту с отсутствием обычно используемого пространства IP-адресов. Умный выбор.
Предположительно, этот конкретный адрес в блоке был выбран из-за его эстетической привлекательности или легкости запоминания.
Интересный факт! Смежный адрес 169.254.169.25 3 является преобразователем DNS в VPC в дополнение к тому, с которым вы, вероятно, знакомы по смещению 2 от базы вашей подсети VPC. Это очень удобно для настройки программного обеспечения, которое выполняет свои собственные DNS-запросы независимо от операционной системы (например, HAProxy), так что нет необходимости изменять конфигурацию DNS-распознавателя в программном обеспечении при развертывании в разных VPC. Нет задокументированной причины полагать, что этот адрес представляет собой "другой" распознаватель, чем тот, который находится в вашем адресном блоке, просто другой способ доступа к одной и той же вещи.
Но подождите, это еще не все! 169.254.169. 123 предоставляет источник времени NTP stratum-3, позволяющий инстансам поддерживать свое системное время с помощью ntpd или chrony, не требуя доступа к Интернету, из службы синхронизации времени Amazon. В этом сервисе также используется логика високосной секунды Amazon для распределения любых високосных секунд в течение дня, в котором они происходят, а не часы, перемещающиеся с 23:59:59 до 23:59:60 до 00:00:00, что может быть проблематично.
¹ недоступность через любой маршрутизатор не является жестким ограничением в большинстве стеков IP, поскольку локальные адреса канала могут быть объектом статического маршрута, но эти адреса обычно не считаются маршрутизируемыми.
Это тот, который Amazon резервирует для локального экземпляра, чтобы иметь возможность получать метаданные. Я не знаю, почему они выбрали это, но это тот, который они выбрали, и вы идете:)
Да, в принципе вы потеряете возможность подключения к внешнему серверу с этим конкретным IP-адресом.