2016-08-18 10 views
1

EC2インスタンスをプログラム的に起動/停止する方法を作成しようとしています。もちろんAWS EC2 PHP SDKのクレデンシャルが機能しない

<?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」の私の実際のキーを使用しています:これは私が使用していたコードです。

enter image description here

私はS3サービスを使用する場合、すべてが正常に動作することを言及したいと思います:あなたはこのスクリーンショットで見ることができるよう

私はこのエラーを取得しています。 EC2サービスでのみこの問題が発生しています。

何が間違っている可能性がありますか?

+0

あなたのアカウントにはどのようなIAMポリシーがありますか? – error2007s

+0

IAMユーザーを作成し、AmazonEC2FullAccessポリシーを割り当てました。 describeInstanteStatusポリシーをシミュレートすると、これが返されます:http://content.screencast.com/users/alexcontes/folders/Jing/media/49686117-82ef-4e5c-8c5b-4869347484b4/00000064.pngこれはコード内の問題であり、 AWSシミュレータを使用するとうまくいきます。 –

答えて

0

私はついに何が起こっているのかを知り、修正することができました。

AWSがアクセスを認可するためにサーバークロックを使用しているように見えます。クロックが正しく同期されるように、ntpサービスをインストールして更新する必要がありました。

は、私が実行して、NTPサーバーをインストール:

sudo apt-get install ntp 

は、それから私は、これらのコマンドでサービスを更新:

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

そして、問題が修正されました。

関連する問題