運営上でSSL証明書の設定が必要になる場合がありますが、既にELBを利用している場合を想定して、設定方法を書いてみたいと思います。

ELBを既に利用している時は、iamコマンドとAWS SDK for PHPで設定を行います。

下記は、前提条件とします。

  • SSL証明書取得済み
  • iamコマンド AWS SDK for PHP利用環境構築済み

まずは、証明書のアップロードです。
アップロードは、iam-servercertuploadコマンドを利用します。

iam-servercertupload -c 中間証明書 -b SSL証明書 -k 秘密鍵 -s コモンネーム --aws-credential-file credentials.txt

証明書のアップロード確認は、iam-servercertlistbypath または、iam-servercertgetattributesコマンドを利用します。

iam-servercertlistbypath --aws-credential-file credentials.txt
iam-servercertgetattributes -s コモンネーム --aws-credential-file credentials.txt

そして、credentials.txtの中身は下記のようになります。

[credentials.txt]

AWSAccessKeyId=AAAAAAAA
AWSSecretKey=SSSSSSSS

次にSSL証明書の登録になりますが、下記のようなphpを実行します。
(東京リージョンのELBに設定とします。)

require_once("sdk.class.php");


$elb = new AmazonELB();
$elb->set_region(AmazonELB::REGION_APAC_NE1);

$response = $elb->create_load_balancer_listeners("ロードバランサー名", array(
array(
"Protocol" => "HTTPS",
"LoadBalancerPort" => 443,
"InstancePort" => 80,
"SSLCertificateId" => "arn:aws:iam::xxxxxxxxxxx:server-certificate/コモンネーム"
)
));

var_dump($response);

?>

上記で、ELBへSSL証明書の設定ができました。

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