Чтобы узнать #instance_type из #metadata на самой #ec2 виртуалке:
wget -T 10 -O- http://169.254.169.254/latest/meta-data/instance-type 2>/dev/nullhttps://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html
Amazon
Instance metadata and user data - Amazon Elastic Compute Cloud
Access instance metadata, dynamic data, and user data to configure and manage a running Amazon EC2 instance.
Метадата v.2
Для защиты от врагов, чтобы они не смогли узнать ваш внешний айпишник, роль и прочие вещи из метадаты, теперь доступна её вторая версия - с токеном:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#configuring-instance-metadata-service
Пример использования метадаты второй версии:
curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
Что можно с ходу сказать по этому поводу. Давно стоило сделать и вот наконец. Однако процесс миграции (на "защищённую" вторую версию) будет долгим и болезенным и займёт годы (без преувеличения).
Если у вас уже сегодня что-то отломалось с переключением ролей под капотом в каких-то утилитах - мои соболезнования, издержки прогресса, ждите обновления или пилите костыли.
Update: а вот пожалуйста.
#EC2 #metadata
Для защиты от врагов, чтобы они не смогли узнать ваш внешний айпишник, роль и прочие вещи из метадаты, теперь доступна её вторая версия - с токеном:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#configuring-instance-metadata-service
Пример использования метадаты второй версии:
curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"
AQAEAMMiR7trrtLiN8SOOiGQ4PFkK32HW60lliSpf-kcaYnW3RFtiQ==
curl -H "X-aws-ec2-metadata-token: AQAEAMMiR7trrtLiN8SOOiGQ4PFkK32HW60lliSpf-kcaYnW3RFtiQ==" -v http://169.254.169.254/latest/meta-data/public-ipv4* Trying 169.254.169.254...63.34.171.2
* TCP_NODELAY set
* Connected to 169.254.169.254 (169.254.169.254) port 80 (#0)
GET /latest/meta-data/public-ipv4 HTTP/1.1
Host: 169.254.169.254
User-Agent: curl/7.61.1
Accept: */*
X-aws-ec2-metadata-token: AQAEAMMiR7trrtLiN8SOOiGQ4PFkK32HW60lliSpf-kcaYnW3RFtiQ==
HTTP/1.1 200 OK
X-Aws-Ec2-Metadata-Token-Ttl-Seconds: 21504
Content-Type: text/plain
Accept-Ranges: none
Last-Modified: Wed, 20 Nov 2019 09:05:09 GMT
Content-Length: 13
Date: Wed, 20 Nov 2019 09:11:06 GMT
Server: EC2ws
Connection: close
* Closing connection 0
Что можно с ходу сказать по этому поводу. Давно стоило сделать и вот наконец. Однако процесс миграции (на "защищённую" вторую версию) будет долгим и болезенным и займёт годы (без преувеличения).
Если у вас уже сегодня что-то отломалось с переключением ролей под капотом в каких-то утилитах - мои соболезнования, издержки прогресса, ждите обновления или пилите костыли.
Update: а вот пожалуйста.
#EC2 #metadata
Amazon
Add defense in depth against open firewalls, reverse proxies, and SSRF vulnerabilities with enhancements to the EC2 Instance Metadata…
July 27, 2021: We’ve updated the link to the 2019 re:Invent session on this topic. Since it first launched over 10 years ago, the Amazon EC2 Instance Metadata Service (IMDS) has helped customers build secure and scalable applications. The IMDS solved a big…
Получаем тэги на виртуалке через метадата:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS
Сначала включаем:
Теперь получаем:
test.instance
#metadata
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS
Сначала включаем:
aws ec2 modify-instance-metadata-options --instance-id $(curl -s http://169.254.169.254/latest/meta-data/instance-id) --instance-metadata-tags enabledТеперь получаем:
curl -s http://169.254.169.254/latest/meta-data/tags/instance/Nametest.instance
#metadata
Amazon
Tag your Amazon EC2 resources - Amazon Elastic Compute Cloud
Manage your Amazon EC2 instances, images, and other resources by assigning your own metadata tags.
👍16