检索新配置的EC2实例的ID


Retrieving ID of newly provisioned EC2 instance

我正试图加快我使用这篇AWS博客文章作为起点从特定AMI启动实例所需的时间,但是我不确定如何获取我使用PHP API V3(与博客文章中的V2相反)启动的新获得实例的ID,因此我可以检索有关实例的进一步信息(使用我将检索的ID)

<?php
require 'C:'wamp'bin'php'php5.5.12'vendor'autoload.php';
use Aws'Ec2'Ec2Client;
$ec2Client = 'Aws'Ec2'Ec2Client::factory(array(
    'region'  => 'eu-west-1',
    'version' => 'latest'
));
//Default vars
$aws_key = 'aws-ireland';
$ami_id = 'ami-000000';
$min_count = '1';
$max_count = '1';
$instance_type = 't2.micro';
$instance_region = 'eu-west-1b';
$server_name = 'API Test Server';
$result = $ec2Client->runInstances(array (
    //Creating the instance
    'KeyName' => $aws_key,
    'ImageId' => $ami_id,
    'MinCount' => $min_count,
    'MaxCount' => $max_count,
    'InstanceType' => $instance_type,
    'Placement' => array('AvailabilityZone' => $instance_region),
));
//Wait for server to be created
//Return the instance ID

继续阅读博客文章会导致错误,因为waituntilinstancerrunning方法在API V3中不存在。我想我需要一个服务员,但我不确定我该怎么用这个来解决我的问题?

这个呢:

$result = $aws->DescribeInstances();
$reservations = $result['Reservations'];
foreach ($reservations as $reservation) {
$instances = $reservation['Instances'];
foreach ($instances as $instance) {
$instanceName = '';
foreach ($instance['Tags'] as $tag) {
if ($tag['Key'] == 'Name') {
$instanceName = $tag['Value'];
}
}
echo 'Instance Name: ' . $instanceName . PHP_EOL;
echo '<br>';
echo '---> State: ' . $instance['State']['Name'] . PHP_EOL;
echo '<br>';
echo '---> Instance ID: ' . $instance['InstanceId'] . PHP_EOL;
echo '<br>';
echo '---> Image ID: ' . $instance['ImageId'] . PHP_EOL;
echo '<br>';
echo '---> Private Dns Name: ' . $instance['PrivateDnsName'] . PHP_EOL;
echo '<br>';
echo '---> Instance Type: ' . $instance['InstanceType'] . PHP_EOL;
echo '<br>';
echo '---> Security Group: ' . $instance['SecurityGroups'][0]['GroupName'] . PHP_EOL;
echo '<br>';
echo '-----------------------------------------------------------------------------------------------------';
echo '<br>';
echo '<br>';
}
}