こんにちわ。
職人見習いの小森です。

これまで数回にわたってZend Serverについて触れてきたので、今回はZendFrameWorkでのEC2操作についてご紹介します。

アカウントIDとシークレットキーが必要になります。
AcountActivity→セキュリティ証明書→アクセス証明書に記載されています。

$ec2_instance = new Zend_Service_Amazon_Ec2_Instance('acountId',
                                                     'secretKey');

指定したAMIからインスタンスを起動します。 xxxxxxxにはセキュリティグループ名が入ります。

$return = $ec2_instance->run(array('imageId' => 'ami-xxxxxxx',
                   'minCount'  => 1,
                   'maxCount'  => 1,
                   'instanceType' => Zend_Service_Amazon_Ec2_Instance::SMALL,
                   'keyName' => 'myKey',
                   'securityGroup' => array('xxxxxxx','default')));

例として幾つか挙げますが、返却されてきた配列にそのインスタンス情報が入っています。

$return['instances']['instanceId'];
$return['instances']['imageId'];
$return['instances']['availabilityZone'];
$return['instances']['privateDnsName'];
$return['instances']['dnsName'];
$return['instances']['keyName'];
$return['instances']['instanceType'];
$return['instances']['launchTime'];

インスタンスを再起動します。

$return = $ec2_instance->reboot('instanceId');

インスタンスを破棄します。

$return = $ec2_instance->terminate('instanceId');

※この記事は、なかの人(spitz8008)が書いています。