Мне нужна возможность запрашивать AWS, чтобы проверить, подключен ли эластичный IP-адрес к экземпляру. Это должно быть сделано через командную строку или через скрипт.
Я пробовал как Ansible, так и AWS CLI, чтобы попытаться получить эту информацию. Примеры:
aws ec2 describe-addresses --filters Name='public-ip',Values=34.29.176.23
Возвращена ошибка: HTTPSConnectionPool (host = 'ec2.us-west-2a.amazonaws.com', port = 443): Превышено максимальное количество попыток с URL: / (вызвано NewConnectionError (': Не удалось установить новое соединение: [Errno - 2] Имя или услуга не известны »,))
и используя Opsworks
aws opsworks describe-elastic-ips --ips '34.29.176.20'
Возвращена ошибка: HTTPSConnectionPool (host = 'opsworks.us-west-2a.amazonaws.com', port = 443): Превышено максимальное количество повторных попыток с URL: / (вызвано NewConnectionError (': Не удалось установить новое соединение: [Errno - 2] Имя или услуга не известны »,))
Вы неправильно настроили установку aws-cli.
Вы настроили регион как us-west-2a
, который не является регионом - это зона доступности.
Вот почему вы получаете сообщение об ошибке - это не потому, что вы не указали регион, а потому, что вы указали - в конфигурации - с недопустимым значением. В противном случае aws-cli выдало бы ошибку, что для операции требуется выбор региона.
Почти все в AWS организовано по регионам. Указание региона необходимо для большинства команд интерфейса командной строки.
При настройке интерфейса командной строки AWS устанавливается регион по умолчанию вместе с вашими учетными данными.
В консоли введите "aws configure". Если вы уже настроили свои учетные данные, нажмите ENTER для каждого из них, и будет использовано сохраненное значение. Когда появится строка «Название региона по умолчанию:», введите название региона по умолчанию, например us-west-2. Теперь ваши команды CLI будут выполняться без указания параметра --region. Ваши скрипты (Python, Java и т. Д.) Также смогут автоматически использовать ваши учетные данные и регион.
Также убедитесь, что вы используете последнюю версию. Со всеми объявлениями на re: Invent 2017 было сделано несколько отличных обновлений интерфейса командной строки. Текущая версия - 1.14.2. На консоли типа "pip install awscli --upgrade
". В Windows это необходимо запускать в командной оболочке администратора.
Очевидно, есть недокументированные требования на http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-addresses.html
Для описания-адресов требуется указать регион. Такие как:
aws ec2 describe-addresses --filters Name='public-ip',Values='34.29.176.20' --region us-west-2