На высоком уровне wget
- это команда, которая инициирует веб-запрос HTTP (выдавая себя за браузер), и эти опции говорят ему выплевывать полученный ответ на стандартный вывод (то, что вы видите).
Поскольку хост EC2 dom0 управляет сетевым стеком, как это видно на примере вашего экземпляра, работающего на виртуальной машине, EC2 может обрабатывать сетевой трафик до 169.254.169.254 любым способом.
В этом случае EC2 знает, какой экземпляр отправляет запрос (основано ли это на вашем внутреннем IP-адресе, контролируемом EC2, или на том факте, что хост dom0 может обрабатывать запрос еще до того, как он будет отправлен по сети ).
Итак, EC2 знает, какой экземпляр делает запрос, а EC2 знает всю информацию о каждом экземпляре, поэтому EC2 может возвращать запрошенные метаданные, включая идентификатор экземпляра.
Amazon не опубликовала, как именно они реализовали эту функцию, но они гарантируют, что она вернет правильные данные для запрашивающего экземпляра, и никто не будет вмешиваться.
Подробнее о доступных метаданных EC2 можно узнать здесь:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?AESDG-chapter-instancedata.html
Магический IP-адрес 169.254.169.254 и соответствующие URL-адреса метаданных не будут работать вне экземпляра EC2, если только вы не работаете в системе, которая пытается эмулировать EC2.