どんな事でもお気軽にお問い合わせください
0120-803-656
24時間受付いたします

SSL証明書をAWSのELB上にアップロードする方法


SSL証明書をAWSのELB上にアップロードする方法

インフラチームの齊藤です。
インフラ、もしくは、社内SEのみなさん、SSL証明書更新毎度お疲れ様です。

さて、AWS Certificate Managerが今年5/16より東京リージョンで使用可能になりました。

これからはAmazonを認証局とするSSL証明書を無料で使用することができます。

ますます便利になっていくAWSですが、今回は別の認証局を通じて手に入れたSSL証明書をELBへ適用する方法をご紹介します。

作業にはAWSCLIを使用します。本作業を行う前に下記のモジュールをインストールしてください。

pip install awscli

初期設定がお済みでない場合には下記のコマンドを入力後

aws configure

下記項目を入力することで、デフォルトの設定を完了します。
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

設定した内容は、~/.aws/credentials, ~/.aws/configというファイル名で保存されています。

アップロード方法

まずはSSL証明書を用意します。awscliコマンドが打てる環境にて
SSL証明書をカレントディレクトリに用意していただき、
下記コマンドでSSL証明書をリモートのマネジメントコンソール上へアップロードしてください。

aws iam upload-server-certificate --server-certificate-name "example-domain.com" \
--certificate-body file://./example-domain.com.crt \
--private-key file://./example-domain.com.key \
--certificate-chain file://./example-domain.com.ca

それぞれ、
certificate-body:サーバ証明書
private-key:秘密鍵を指定
certificate-chain:中間証明書
を指定します。

~/.aws/credentials内に複数のユーザ情報が入っている方は、--profileオプションで指定してください。
また、リージョンを指定するようにエラーが出力された場合には、--regionオプションでELBのリージョンを指定します。
例えば、東京リージョンならap-northeast-1です。

それでは、事例別にコマンドを列挙します。

ELBに新たにhttps(443)→http(80)のようなリスナーを追加する場合

aws elb create-load-balancer-listeners \
--load-balancer-name \
--listeners Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=arn:iam:::server-certificate/example-domain.com
--region ap-northeast-1

既にあるリスナーの証明書を更新する場合

aws elb set-load-balancer-listener-ssl-certificate \
--load-balancer-name \
--load-balancer-port 443 \
--ssl-certificate-id arn:aws:iam:::server-certificate/example-domain.com \
--region ap-northeast-1

アップロードした証明書を削除する場合

aws iam delete-server-certificate --server-certificate-name example-domain.com

リスナーを削除する場合

aws elb delete-load-balancer-listeners --load-balancer-name --load-balancer-ports 443

以上のコマンドを知っておくことで、ELBへの証明書のアップロード作業がよりスムーズになりました。
定形処理としてシェルスクリプトに埋め込んでおくのもいいですね。


お問い合わせ 採用情報 エンジニアブログ
ISO27001認証
Contact PageTop
株式会社ビヨンド

© beyond Co., Ltd. All rights reserved.