веб-сервисы Amazon — учетные данные AWS EC2 PHP SDK не работают

Я пытаюсь создать способ программно запускать / останавливать мои экземпляры EC2. Это код, который я использую:

<?php
$ec2 = new \Aws\Ec2\Ec2Client([
'credentials' => [
'key'    => 'KEY_HERE',
'secret' => 'SECRET_HERE'
],

'region' => env('AWS_REGION', 'us-west-2'),
'version' => 'latest',
'ua_append' => [
'L5MOD/' . AwsServiceProvider::VERSION,
]
]);

$result = $ec2->describeInstanceStatus([
'InstanceIds' => ['i-c21a366e']
]);
?>

Конечно, я использую свои настоящие ключи вместо «KEY_HERE» и «SECRET_HERE».

Я получаю эту ошибку, как вы можете видеть на этом скриншоте:

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

Хочу отметить, что если я использую сервис S3, все работает нормально. У меня эта проблема только со службой EC2.

Есть идеи, что может быть не так?

1

Решение

Я наконец узнал, что происходит, и я смог это исправить.

Похоже, AWS использует серверные часы для авторизации доступа, и мне нужно было установить службу ntp и обновить ее, чтобы часы были правильно синхронизированы.

Я установил NTP-сервер, запустив:

sudo apt-get install ntp

Затем я обновил службы с помощью этих команд:

sudo service ntp stop
sudo ntpd -gq
sudo service ntp start

И проблема была исправлена.

0

Другие решения

Других решений пока нет …