ちょうど今、仕事でAWS CLIを使った各種検証をしているところでして、そろそろテスト用のサーバー証明書を取ってELBに割り当てる検証をしてみなきゃなぁと思っていたところ、ELBだけにしか使えないけど無料のサーバー証明書がAWSの東京リージョンで利用可能になったという情報が入ったので早速利用してみました。
まずはサービス一覧からCertificate Managerを選択します。
今すぐ始めるをクリック。
発行するドメインを指定します。ワイルドカード証明書も発行可能ですので、とても便利です。注意書きにもありますが、ここで発行された証明書はELBでのみ使えます。他では使えませんので注意が必要です。
間違いがないか確認です。
進行中のリクエスト画面になります。確認メールは指定したドメインのhostmaster、webmaster、postmasterとログインしているアカウントで使用しているメールアドレスの計4ヶ所に飛んできます。
受信したメールがこんな感じ。Amazon Certificate Approvalsというリンクをクリックします。
承認画面になるので、問題ないことを確認の上で[I Approve]をクリック。
Success!と出れば完了です。
ACMの画面に戻ると状況が「発行済み」になっていることが確認できます。この段階では、まだELBに割り当ててないので使用中の欄が「いいえ」になっています。
さて、ここから本題。
AWS CLIを使って、先ほど発行された証明書をELBに割り当ててみます。
初めて証明書を割り当てるのはこちら。HTTPSのリスナー作成と一緒にサーバー証明書を割り当てます。
aws elb create-load-balancer-listeners --load-balancer-name <ELB NAME> --listeners Protocol=https,LoadBalancerPort=443,InstanceProtocol=http,InstancePort=80,SSLCertificateId=<ARN>
既に証明書を割り当てている場合には、HTTPSのリスナーが作成されているので証明書の割り当てのみを行います。
aws elb set-load-balancer-listener-ssl-certificate --load-balancer-name <ELB NAME> --load-balancer-port 443 --ssl-certificate-id <ARN>
この後、ACMの画面で確認すると使用中の欄が「はい」になっています。
実際にアクセスしてみると、以下のような証明書が発行されていることを確認することが出来ます。もちろん、ブラウザ側で何かするということは必要ありません。
無料で使えるサーバー証明書と言うことと、更新が自動で行われることを考えると運用の簡略化という意味でもコストの面でもメリットは大きいですね。特に、クラウドサービスを提供しようとするとサーバー証明書の更新処理が負担になるので、ここを意識しなくて良くなるのは大きなメリットかと思います。
コメント