AWS S3 CLI - Не вдалося підключитися до URL-адреси кінцевої точки


118
$ aws s3 ls

Could not connect to the endpoint URL: "https://s3.us-east-1a.amazonaws.com/"

У чому може бути проблема?


Це сталося зі мною, коли я намагався створити домен хмарного пошуку us-east-2, який мені довелося використовувати us-east-1?
Jason Goemaat

Відповіді:


259

Можливо, у вашому профілі за замовчуванням у регіоні за замовчуванням щось не так.

Перевірте свій файл на ~/.aws/config, у вас щось на кшталт

[default]
region=us-east-1a
...

Зафіксуйте область до, region=us-east-1і тоді команда буде працювати правильно


3
У мене був подібний неправильний запис у ~ / .aws / config, який був створений командою 'aws configure'. За замовчуванням він запропонував назву мого регіону "Мумбаї", яку я прийняв. Це було питання. Як тільки я замінив його на ap-south-1, команда (aws s3 ls) почала працювати. Дякую.
Анураг

1
Велике спасибі. Яке маленьке волосся залишається на моїй голові, тепер безпечне ще кілька хвилин ...
мідь. Що

1
Дякую. Я поняття не маю, як ти це знав.
користувач890332

2
У мене була подібна помилка, і виявили , що він також може бути вирішена шляхом визначення області в якості опції командного рядка: aws s3 ls --region us-east-1.
Курт Пік

3
Я б хотів, щоб вони мали можливість надсилати фінансові пожертви на такі відповіді.
RayLoveless

8

спочатку ви використовуєте "aws configure", потім вводите ключ доступу, секретний ключ та регіон. регіон, який ви ввели, буде важливим для цієї проблеми. спробуйте ввести щось на кшталт 's3.us-east-1', а не 's3.us-east-1a'. це вирішить питання.


6

Деякі послуги 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]

Я вивів ідею з цієї теми, і вона прекрасно працює для мене, тому я хотів поділитися нею. Сподіваюся, це допомагає!


5

Якщо жодне з наведених вище рішень не працює, також перевірте свої дозволи та параметри брандмауера. У моєму випадку додавання змінних проксі-середовищ зробило цю роботу.

Для 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>

set HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT> AWL Windows

введіть тут опис зображення


5

Ви повинні вказати регіон у своєму сценарії CLI, а не покладатися на область за замовчуванням, вказану за допомогою конфігурації aws (як свідчить поточна найпопулярніша відповідь). Ще одна відповідь на це натякає, але синтаксис невірний, якщо ви використовуєте CLI через AWS Tools for Powershell.

Цей приклад змушує регіон на захід-захід-2 (Північна Каліфорнія), синтаксис PowerShell:

aws s3 ls --region us-west-2

2

Можливо, під час конфігурації aws щось не так з областю за замовчуванням. У вашому випадку в URL-адресі написано " https://s3.us-east-1a.amazonaws.com/ "

У вашому командному рядку,

aws конфігуруйте, введіть ваші ключі, тепер виправте ваш регіон від us-east-1a до us-1-1 .

Будь ласка, перевірте синтаксис відповідно до CLI, який ви використовуєте. Це буде корисно.


1

Якщо припустити, що ваш профіль ~/aws/configвикористовується у регіоні (замість AZ відповідно до вашого початкового запитання); інша причина - неможливість підключитися до вашого клієнта s3.us-east-1.amazonaws.com. У моєму випадку мені не вдалося вирішити це ім'я DNS через помилку в моїй конфігурації мережі. Виправлення проблеми з DNS вирішило мою проблему.


0

Кілька речей, які я зробив, щоб виправити це:

  1. Оновлено мій CLI, і він дав цю помилку (попередня помилка була " aws connection aborted error 10013")
  2. Пробував nslookup aws s3 endpoing: nslookup s3.us-east-2.amazonaws.com

    Час запиту DNS вичерпано. час очікування становив 2 секунди. Сервер: невідома адреса: 192.168.10.1

-> хммм дуже дивно

  1. Перейшли до усунення несправностей у мережі Windows і вибрали для перевірки доступу до певної сторінки. Він повідомив, що брандмауер Windows заблокував з'єднання. Виправлено це

  2. Отримавши нову помилку після виправлення запиту через firewal:

    Під час виклику операції ListBuckets сталася помилка (RequestTimeTooSkewed): Різниця між часом запиту та поточним часом занадто велика.

  3. Оновлено дату та час до автоматичного -> Виправлено


0

Ви повинні зробити наступне в CLI: 1. aws configure '
2. введіть ключ доступу 3. секретний ключ вводу 4. а потім область, тобто: eu-west-1 (залиште a або b після 1)


0

У кожного різні параметри за замовчуванням, і що цікаво зміниться через час. Як приклад, спершу я був на глобальному рівні, а потім через 15 хвилин показує Огайо (що це таке us-east-2).

Найкращий підхід - перевірити це під час роботи - у консолі робочої зони AWS просто встановіть її праворуч над бічною стороною біля свого імені на верхній панелі перевірте назву регіону та натисніть стрілку вниз, щоб побачити свій регіон.

У полі AWS CLI aws configureабо aws2 configure, введіть свій доступ та секретний ідентифікатор, тоді в регіоні за замовчуванням напишіть свій регіон та натисніть Enter.

Ви обов'язково отримаєте доступ до певного регіонального набору, і він буде працювати.


0

Вирішенням моєї проблеми було запустити:

    sudo aws configure

Введіть свої облікові дані та запустіть:

    sudo aws s3 ls

Іншим рішенням було переконатися, що область у файлі .aws / config є такою ж, як і кінцеві точки

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.