2014-11-04 49 views
0

后创建新的EC2实例我有以下代码:无法初始创建

$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

解决了这个问题。这是我的错误。我正在设置'ClientToken' => 'string',这反过来总是会尝试查询以前创建的实例,因为'string'是唯一的ID。

相关问题