Ответ 1
Нет, все равно нет эквивалента в boto3, просто ударил этот пробел сам.
У них есть открытый запрос функции для этого https://github.com/boto/boto3/issues/313, который ссылается на этот вопрос.
Что касается обходных решений,
вы можете продолжать использовать boto.utils
или использовать urllib
/urllib2
для выполнения запросов HTTP вручную, т.е.
# Python2
import urllib2
instanceid = urllib2.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read()
# Python3
import urllib.request
instanceid = urllib.request.urlopen('http://169.254.169.254/latest/meta-data/instance-id').read().decode()
см. Каков самый быстрый способ HTTP GET в Python? для быстрого ввода на urllib и http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-data-categories для структуры URI службы метаданных.