2015-10-07 4 views
0

Я тестировал веб-приложение, которое обычно развертывается на виртуальной машине AWS Linux в Azure VM. Приложение (java) обращается к AWS s3 для некоторых функций хранения и перечисляет объекты в ведро AWS s3. Запуск приложения в Azure VM был пуст.Azure VM не может подключиться к AWS s3

заподозрить проблемы с подключением, я установил AWS CLI на Azure VM, сконфигурированных клавиш, и побежал:

$ aws s3 ls 

Это привело к

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

Подтверждая мои подозрения.

Проверка трассировки стека приложений для по существу «listObjects» запрос приложения показывает

Request: http://azuredev.gpo.epacube.com/dps/job/listprojects raised com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: A2494E7A540B5B20), S3 Extended Request ID: 6+Nv1AtCTe0xz3i7Ra5lrmdEdxiIfXgxYapY9KbomblhYL4Q85L3iTLchpQcwRnixyE5El0WKwM= 
com.amazonaws.services.s3.model.AmazonS3Exception: AWS authentication requires a valid Date or x-amz-date header (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: A2494E7A540B5B20), S3 Extended Request ID: 6+Nv1AtCTe0xz3i7Ra5lrmdEdxiIfXgxYapY9KbomblhYL4Q85L3iTLchpQcwRnixyE5El0WKwM= 

Тот же самый код работает при запуске из CentOS на AWS, но при запуске на Ubuntu 13.04 на Azure это не удается.

Почему я могу получить недопустимую ошибку даты? Как изменить настройку Azure VM, чтобы соединения AWS s3 были успешными?

+1

Azure не не имеет какой-либо исходящий трафик настроен, и ничего, что бы блокировать разрешение AWS доменных имен от Azure VM. И ... для записи я получаю идентичную ошибку при запуске 'aws s3 ls' с моей локальной машины-разработчика (я просто попытался). Я подозреваю, что это нечто иное, чем проблема, связанная с Azure. –

ответ

0

Оказывается, это было сочетание JDK8 и более ранняя версия зависимости aws-sdk-java от joda-time. Модернизация зависимости от joda-времени до версии 2.8.1 исправила это.

Найдено here

1

Ваш регион ошибочен.

https://s3.us-east.amazonaws.com/ не является допустимой конечной точкой. Возможно, вы настроили регион как us-east, когда он должен быть us-east-1.

я мог воспроизвести проблему, указав неверную конечную точку:

Это работает:

$ aws s3 ls --region us-east-1 

Это не работает:

$ aws s3 ls --region us-east 

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

Полный список конечных точек, см : Regions and Endpoints

+0

спасибо, запустив реконфигурирование с помощью исправления «aws s3 ls» с нами-east-1, но не с вызовом объектов списка приложений. Определенно стоит upvote, хотя. – gbegley

Смежные вопросы