share facebook facebook twitter menu hatena pocket slack

2011.11.04 FRI

Zend FrameWorkによるEC2操作

櫛田 草平

WRITTEN BY 櫛田 草平

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

これまで数回にわたって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)が書いています。

櫛田 草平

櫛田 草平

cloudpackで運用、保守、構築、夜間対応を担当しており、日々様々な課題に対応していますのでこの経験を記事にしていけたらと思います。 櫛田 草平

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。