Відповіді:
Можливо, у вашому профілі за замовчуванням у регіоні за замовчуванням щось не так.
Перевірте свій файл на ~/.aws/config
, у вас щось на кшталт
[default]
region=us-east-1a
...
Зафіксуйте область до, region=us-east-1
і тоді команда буде працювати правильно
aws s3 ls --region us-east-1
.
Деякі послуги AWS доступні лише в конкретних регіонах, які не відповідають вашому фактичному регіону. У такому випадку ви можете замінити стандартне налаштування, додавши регіон до фактичної команди cli.
Це може бути зручним рішенням для людей, які не хочуть змінювати свою область за замовчуванням у конфігураційному файлі. ЯКЩО ваш загальний конфігураційний файл не встановлений: перевірте наведені вище пропозиції.
У цьому прикладі регіон змушений на захід-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 (як свідчить поточна найпопулярніша відповідь). Ще одна відповідь на це натякає, але синтаксис невірний, якщо ви використовуєте CLI через AWS Tools for Powershell.
Цей приклад змушує регіон на захід-захід-2 (Північна Каліфорнія), синтаксис PowerShell:
aws s3 ls --region us-west-2
Можливо, під час конфігурації aws щось не так з областю за замовчуванням. У вашому випадку в URL-адресі написано " https://s3.us-east-1a.amazonaws.com/ "
У вашому командному рядку,
aws конфігуруйте, введіть ваші ключі, тепер виправте ваш регіон від us-east-1a до us-1-1 .
Будь ласка, перевірте синтаксис відповідно до CLI, який ви використовуєте. Це буде корисно.
Якщо припустити, що ваш профіль ~/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:
Під час виклику операції ListBuckets сталася помилка (RequestTimeTooSkewed): Різниця між часом запиту та поточним часом занадто велика.
Оновлено дату та час до автоматичного -> Виправлено
У кожного різні параметри за замовчуванням, і що цікаво зміниться через час. Як приклад, спершу я був на глобальному рівні, а потім через 15 хвилин показує Огайо (що це таке us-east-2
).
Найкращий підхід - перевірити це під час роботи - у консолі робочої зони AWS просто встановіть її праворуч над бічною стороною біля свого імені на верхній панелі перевірте назву регіону та натисніть стрілку вниз, щоб побачити свій регіон.
У полі AWS CLI aws configure
або aws2 configure
, введіть свій доступ та секретний ідентифікатор, тоді в регіоні за замовчуванням напишіть свій регіон та натисніть Enter.
Ви обов'язково отримаєте доступ до певного регіонального набору, і він буде працювати.
Вирішенням моєї проблеми було запустити:
sudo aws configure
Введіть свої облікові дані та запустіть:
sudo aws s3 ls
Іншим рішенням було переконатися, що область у файлі .aws / config є такою ж, як і кінцеві точки
us-east-2
, який мені довелося використовуватиus-east-1
?