初始创建后无法创建新的ec2实例

时间:2014-11-04 23:22:41

标签: php amazon-web-services aws-php-sdk

我有以下代码:

 $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,这是不是一直存在?

我还需要添加其他内容吗?

1 个答案:

答案 0 :(得分:0)

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