Вызов API для тайм-аута S3

#amazon-web-services #amazon-s3

Вопрос:

В настоящее время мы работаем с инструментом, который сканирует инфраструктуру в среде AWS с помощью вызовов API. Он использует ключ доступа AWS IAM для аутентификации в AWS, затем принимает роль IAM с необходимыми Read разрешениями в учетной записи. Отрывок из ролевых действий:

 - "s3:Get*"
- "s3:List*"
 

Все остальные вызовы API службы (EC2, IAM и т.д.) Работают должным образом и возвращают данные, за исключением S3. Во время любого вызова API S3, например ListBuckets , мы получаем следующий ответ:

 Connection was closed before we received a valid response from endpoint URL: "https://s3.amazonaws.com"
 

Теперь я полагаю, что, поскольку S3 является глобальной конструкцией в AWS, это может быть результатом другой сетевой маршрутизации, но я не совсем уверен, на что конкретно следует обратить внимание. Если бы мы ранее столкнулись с проблемами с разрешениями в других службах, нам бы вернули явную Access Denied ошибку. Что я здесь упускаю?

Комментарии:

1. Выполняется ли этот код внутри AWS VPC? Настроен ли ваш VPC на какие-либо конечные точки VPC? Есть ли у вас брандмауэр (или группы безопасности AWS), которые блокируют S3?

2. Да, мне интересно, существует ли конечная точка VPC, которая перенаправляет все запросы в S3 в этом конкретном регионе, таким образом, что вызовы в S3 в других регионах блокируются. Откуда работает этот «инструмент»?

Ответ №1:

Возвращаясь к этому. Проблема заключалась во внутреннем брандмауэре, который по-разному обрабатывал вызовы S3 и давал явный отказ. Как только правило разрешения было введено, вызовы в S3 функционировали должным образом.

Для других, кто сталкивается с этой проблемой, у нас по-прежнему периодически возникают проблемы с вызовами S3, поскольку диапазон IP-адресов, используемый AWS для вызовов API S3, может варьироваться.