我有以下代码:
$result = $ec2->runInstances(array(
// ImageId is required
'ImageId' => $image,
// MinCount is required
'MinCount' => 1,
// MaxCount is required
'MaxCount' => 1,
'KeyName' => $key,
'SecurityGroupIds' => array($sg),
'InstanceType' => $type,
'Placement' => array(
'AvailabilityZone' => $az,
),
'Monitoring' => array(
// Enabled is required
'Enabled' => false,
),
'SubnetId' => $subnet,
'PrivateIpAddress' => $ip,
'ClientToken' => 'string',
'AdditionalInfo' => 'string',
));
$instanceIds = $result->getPath('Instances/*/InstanceId');
$ec2->waitUntilInstanceRunning(array(
'InstanceIds' => $instanceIds,
));
第一次运行它时没有任何问题。在初始运行后,我从EC2控制台终止了该实例。现在每次尝试创建新实例时,我都会收到以下错误。
A resource entered into an invalid state of "terminated" while waiting with the "InstanceRunning" waiter.
我不明白为什么服务员正在查看旧的实例ID,这是不是一直存在?
我还需要添加其他内容吗?
答案 0 :(得分:0)
解决了这个问题。这是我的错误。我正在设置'ClientToken' => 'string'
,而{{1}}总是会尝试查询以前创建的实例,因为'string'是唯一的ID。