2014-11-04 82 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。

相關問題