[英]PHP SDK Cannot get AWS Credentials on EC2 Instance with IAM Role attached
[英]AWS EC2 PHP SDK credentials not working
我正在尝试创建一种以编程方式启动/停止我的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服务有这个问题。
知道什么可能是错的吗?
我终于知道发生了什么,我能够解决它。
看起来AWS正在使用服务器时钟来授权访问,我需要安装ntp服务并更新它以便正确同步时钟。
我通过运行安装了ntp服务器:
sudo apt-get install ntp
然后我用这些命令更新了服务:
sudo service ntp stop
sudo ntpd -gq
sudo service ntp start
问题得到解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.