0

PHP用のAWS SDKを使用して、すべての正常なインスタンスのロードバランサを照会しています。 describeInstanceHealthメソッドを使用して、ELBから健全なインスタンスをすべて取得しましたが、指定した名前のアクティブなロードバランサが存在しないことがわかりました。PHP用AWS SDK - ロードバランサが表示されない

次に、describeLoadBalancersを使用して、内部で使用されている名前を確認しました。機能がロードバランサをまったく返さないことがわかりました。私はこれをタイプするときに使用されている3つのアクティブロードバランサを持っています。ここで

は、私のコードの関連部分である:

<?php 
require 'aws/aws-autoloader.php'; 

use Aws\ElasticLoadBalancing\ElasticLoadBalancingClient; 
... 
$client = ElasticLoadBalancingClient::factory([ 
    'key' => env('ACCESS_KEY'), 
    'secret' => env('SECRET'), 
    'region' => env('REGION') 
]); 

$result = $client->describeLoadBalancers(); 
var_dump($result); 

私が手出力は以下の通りです:LoadBalancerDescriptionsキーは、それが含まれている必要があり、空の配列を、持っていることを

object(Guzzle\Service\Resource\Model)#106 (2) { 
    ["structure":protected]=> NULL ["data":protected]=> array(2) { 
     ["LoadBalancerDescriptions"]=> array(0) { } 
     ["ResponseMetadata"]=> array(1) { 
      ["RequestId"]=> string(36) "e6e7b0a4-7880-11e7-bb72-995ab0ed2a69" 
     } 
    } 
} 

注意すべてのアクティブロードバランサの説明。

私は、何かがIAMの役割で正しく設定されておらず、ユーザーがロードバランサを見ることができないと思いますが、私が使用しているユーザー/アクセスキーを添付する方法はわかりませんロードバランサ。

私が作成しているAPI呼び出しでロードバランサを見えるようにするにはどうすればよいですか?

私はPHP 5.6.31を使用しています。

+2

あなたは正しい地域を確認していますか? – user602525

+0

私のELBは米国西部(オレゴン州)に、利用可能なゾーンは「us-west-2a」、「us-west-2b」、および「us-west-2c」です。私が使用している地域は「us-west-2」です。 – samalamma708

+1

通常、あなたは承認されていないメッセージを返すので、私はそのIAMの問題を考えていません – user602525

答えて

0

ELBは、クラシックとアプリケーションの2種類のロードバランサをサポートしています。 AWS SDK V1は、アプリケーションロードバランサをサポートしていません。私はSDKをアップグレードし、ロードバランサの各インスタンスのインスタンスIDを取得するためにdescribeTargetHealthを使用しなければなりませんでした。

関連する問題