Я использую следующую команду в некоторых экземплярах ec2, чтобы получить некоторые файлы конфигурации из корзины s3. К ec2 прикреплена роль экземпляра с полными разрешениями s3:
aws s3 cp s3://bucket-name/file ./ --region eu-west-1
Это работает, как ожидалось, в некоторых экземплярах, предоставленных мной с ami по умолчанию, но в некоторых существующих экземплярах в том же регионе и AZ с той же ролью экземпляра я столкнулся со следующей ошибкой:
Connect timeout on endpoint URL: "https://bucket-name.eu-west-1.amazonaws.com/?list-type=2&delimiter=2%F&prefix=&encoding-type=url"
failed to run commands: exit status 255
Мой вопрос в том, почему S3Uris не имеет префикса s3: // и возвращает ошибку с URL-адресом https: //? ясно, что эта версия aws cli пытается достичь s3 через https, а не через конечную точку s3: //, указанную мной в команде. Есть ли способ перезаписать это?
1 ответ
Мой вопрос в том, почему S3Uris не имеет префикса s3: // и возвращает ошибку с URL-адресом https: //?
За кадром aws cli
вызывает сервисы AWS, используя HTTPS
, поэтому по истечении времени ожидания вы видите тайм-аут https://bucket-name.eu-west-1...
вместо s3://
.
По умолчанию интерфейс командной строки AWS отправляет запросы к сервисам AWS с использованием HTTPS на TCP-порт 443. Для успешного использования интерфейса командной строки AWS необходимо иметь возможность устанавливать исходящие подключения на TCP-порт 443.
Тайм-аут для некоторых экземпляров может быть вызван тем, что они находятся в частной подсети без шлюза NAT..
Вы можете просто проверить это, выполнив ping google.com
, если он не отвечает, тогда экземпляр в частной подсети без NAT или не имеет разрешенного исходящего трафика.
Похожие вопросы
Новые вопросы
amazon-s3
Amazon S3 (простой сервис хранения) - это онлайн-сервис хранения объектов от Amazon Web Services. ВОПРОСЫ ДОЛЖНЫ БЫТЬ О ПРОГРАММИРОВАНИИ. Вопросы об общей поддержке S3, функциональности, конфигурации и т. Д. Не соответствуют теме.