0

次のコードがあります。

 $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 を見ている理由がわかりません。これは何とか持続していますか?

他に追加する必要があるものはありますか?

4

1 に答える 1