これまでは、コマンドラインツールでAMIの作成をしてきましたが、PHPでも作成してみました。

下記のようなコードになります。

require_once("/opt/aws/php/sdk.class.php");

define("AWS_KEY"       , "AAAAAAAA");
define("AWS_SECRET_KEY", "SSSSSSSS");

$ec2 = new AmazonEC2();
$ec2->set_region(AmazonEC2::REGION_US_E1);

$response = $ec2->register_image(array(
    "Name"               => "suz-lab_ebs_centos-core-x86_64-5.6.2",
    "Architecture"       => "x86_64",
    "KernelId"           => "aki-xxxxxxxx",
    "RamdiskId"          => "ari-xxxxxxxx",
    "RootDeviceName"     => "/dev/sda1",
    "BlockDeviceMapping" => array(
        array(
            "DeviceName" => "/dev/sda1",
            "Ebs"        => array(
                "SnapshotId" => "snap-xxxxxxxx"
            )
        )
    )
));

var_dump($response);

PHPの方が使い勝手がいいですね。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら