aws jdk for php で ec2 のインスタンスのIDを取得する

スクリプト


$hogehoge = $Client->describeInstances(array( 'Filters' => array( array( 'Name' => 'instance-state-name','Values' => array('running'), ), ), )); foreach ($running_check['Reservations'] as $Reservation_running) { foreach ($Reservation_running['Instances'] as $instance) { $instanceID[] = $instance['InstanceId']; } }

コマンドリファレンスの Aws\Ecs\EcsClient http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.Ecs.EcsClient.html をみると describeinstance をシングルアローで $client にとばして絞込をするfilterの下のinstance-state-nameが runnning となっているインスタンスだけを取得する(多分json形式で取得すると思います) そのあとはインスタンスIDだけを取得するためにforeachでぶんまわす形です。別の絞込をしたいときは同じfiletrの下でクラスが違うやつはarray(‘Name’ => ‘instance-state-name’,’Values’ => array(‘running’),の後に記載すれば複数絞りこめる。