以前 AWS SDK for PHP をS3で使ってみましたが、今回はELBに証明書をインストールしてみました。
利用するサービスはIAMとELBになります。
IAM: サーバ証明書の登録
ELB: サーバ証明書のインストール
実際のコードは下記のようになります。
delete_server_certificate("php-test");
// サーバ証明書(php-test)の登録
$response = $iam->upload_server_certificate("php-test", $crt, $key, array(
"Path" => "/mycerts/" // ARNのパス
));
// サーバ証明書(php-test)情報の取得
// この情報からARNが
// arn:aws:iam::000000000000:server-certificate/mycerts/php-test
// であることがわかります
$response = $iam->get_server_certificate("php-test");
// ELBサービスの作成
$elb = new AmazonELB();
// リージョンの設定
$response = $elb->set_region(AmazonELB::REGION_APAC_SE1);
// リスナーの削除
$response = $elb->delete_load_balancer_listeners("test-lb", array(443));
// リスナーの作成
$response = $elb->create_load_balancer_listeners("test-lb", array(
array(
"Protocol" => "HTTPS",
"LoadBalancerPort" => 443,
"InstancePort" => 80,
"SSLCertificateId" => "arn:aws:iam::000000000000:server-certificate/mycerts/php-test"
)
));
// 証明書の更新
$response = $elb->set_load_balancer_listener_ssl_certificate(
"test-lb",
443,
"arn:aws:iam::000000000000:server-certificate/mycerts/php-test"
);