Ответы:
Вероятно, у вас что-то не так в вашем профиле по умолчанию для региона по умолчанию.
Проверьте свой файл по адресу ~/.aws/config
, у вас есть что-то вроде
[default]
region=us-east-1a
...
Зафиксируйте регион, region=us-east-1
и тогда команда будет работать правильно
aws s3 ls --region us-east-1
.
Некоторые сервисы AWS доступны только в определенных регионах, которые не соответствуют вашему фактическому региону. В этом случае вы можете изменить стандартную настройку, добавив регион в вашу фактическую команду cli.
Это может быть удобным решением для людей, которые не хотят изменять свой регион по умолчанию в файле конфигурации. ЕСЛИ ваш общий файл конфигурации не установлен: проверьте предложения выше.
В этом примере регион вынужден использовать eu-west-1 (например, Ирландия):
aws s3 ls --region=eu-west-1
Протестировано и использовано с aws workmail для удаления пользователей:
aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]
Я заимствовал эту идею из этой беседы, и она идеально мне подходит - поэтому я хотел ею поделиться. Надеюсь, поможет!
Если ни одно из приведенных выше решений не работает, проверьте также свои разрешения и настройки брандмауэра. В моем случае добавление переменных среды прокси помогло.
Для Linux или Mac
$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>
$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>
Для Windows
set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>
Вы должны указать регион в своем сценарии CLI, а не полагаться на регион по умолчанию, указанный с помощью aws configure (как утверждает текущий самый популярный ответ). Другой ответ ссылался на это, но синтаксис неверен, если вы используете CLI через AWS Tools для Powershell.
В этом примере регион принудительно устанавливается на us-west-2 (Северная Калифорния), синтаксис PowerShell:
aws s3 ls --region us-west-2
Возможно, что-то не так с регионом по умолчанию при настройке aws. В вашем случае URL говорит « https://s3.us-east-1a.amazonaws.com/ »
В командной строке
aws configure, введите свои ключи, теперь исправьте свой регион от us-east-1a до us-east-1 .
Пожалуйста, проверьте синтаксис в соответствии с используемым интерфейсом командной строки. Это будет полезно.
Предполагая, что ваш профиль в ~/aws/config
использует регион (вместо AZ в соответствии с вашим исходным вопросом); другая причина - неспособность вашего клиента подключиться s3.us-east-1.amazonaws.com
. В моем случае мне не удалось разрешить это DNS-имя из-за ошибки в конфигурации моей сети. Устранение проблемы с DNS решило мою проблему.
Я сделал пару вещей, чтобы исправить это:
aws connection aborted error 10013
")Пытался выполнить nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com
Истекло время ожидания DNS-запроса. таймаут составил 2 секунды. Сервер: Неизвестный адрес: 192.168.10.1
-> хммм очень странно
Перешел к устранению неполадок сети Windows и выбрал для проверки доступа к определенной странице. Сообщается, что брандмауэр Windows заблокировал соединение. Исправлено это
Получена новая ошибка после исправления запроса через firewal:
Произошла ошибка (RequestTimeTooSkewed) при вызове операции ListBuckets: разница между временем запроса и текущим временем слишком велика.
Дата и время обновлены на автоматические -> Исправлено
У всех разные настройки по умолчанию, и, что интересно, со временем они будут меняться. Например, сначала я был на global, а затем через 15 минут он показывает Огайо (который есть us-east-2
).
Лучше всего проверять его во время работы - в консоли рабочей области AWS просто установите его справа вверху рядом со своим именем на верхней панели, проверьте название своего региона и нажмите стрелку вниз, чтобы увидеть свой регион.
В AWS CLI введите aws configure
или aws2 configure
укажите свой доступ и секретный идентификатор, затем в регионе по умолчанию введите свой регион и нажмите Enter.
Вы обязательно получите доступ к определенному набору регионов, и он будет работать.
Решением моей проблемы было запустить:
sudo aws configure
Введите свои учетные данные, а затем запустите:
sudo aws s3 ls
Другое решение заключалось в том, чтобы убедиться, что регион в файле .aws / config совпадает с конечными точками.
В Windows снова запустите команду aws configure и сбросьте регион без буквы, например, если ваш регион - us-east-1a, вам нужно изменить его на us-east-1, чтобы он работал.
us-east-2
, я должен был использоватьus-east-1
?