【手順】コマンドラインからELBにSSL証明書をアップロードする


前提

検証OS:Amazon Linux
SSL証明書、中間証明書、秘密鍵を所得済みでサーバー上に展開済み
ELBに証明書をアップロードする方法を記載する

作業手順

  1. AWSの管理画面からIAMを作成する。

    [サービス]→[IAM]→[ユーザー]→[ユーザーを追加]→[ユーザー名:任意の名前]→
    [プログラムによるアクセス]にチェック→[次のステップ:アクセス権限]→[既存のポリシーを直接アタッチします]→
    [IAMFullAccess]にチェック→[次のステップ:確認]→[ユーザーの作成]→[.csvのダウンロード]→[閉じる]

    ※[ユーザーの作成]後に表示される、アクセスIDとシークレットキーは今後確認できなくなるので、
    きちんとメモするか、[.csvのダウンロード]を行うこと

  2. 対象サーバにログイン後、root ユーザにsu

  3. awscli のインストール

pip のウェブサイトからインストールスクリプトをダウンロードし実行します。
# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
#  python get-pip.py
pip を使用して AWS CLI をインストールします。
# pip install awscli

4. aws configureの実行

# aws configure
AWS Access Key ID [None]: 手順1で作成したアクセスキーID
AWS Secret Access Key [None]: 手順1で作成したシークレットキー
Default region name [None]: IAMユーザーのリージョン
Default output format [None]: 出力形式(json、text、table)、デフォルトはjson

/root/配下に.aws/configがあるか確認する
# ls -al /root/

5. 証明書をコマンドでアップロード

# aws iam upload-server-certificate --server-certificate-name アップロードする際の名前 --certificate-body file://証明書のパスを指定 --private-key file://秘密鍵のパスを指定 --certificate-chain file://中間証明書のパスを指定
アップロードされている証明書の確認
# aws iam list-server-certificates
アップロードされている証明書の削除
# aws iam delete-server-certificate --server-certificate-name 削除したい証明書の名前を指定

6. AWSの管理画面で、ELBのSSL用リスナーを設定

[サービス]→[EC2]→[ロードバランサー]→[SSL証明書をuploadしたいELBにチェック]→
[リスナー(画面下部)]→[編集]→[追加]→

ロードバランサーのプロトコル ロードバランサーのポート インスタンスのポート インスタンスのプロトコル 暗号 SSL証明書
HTTPS(セキュアHTTP) 443 HTTP 80 変更 手順5で指定した任意の名前(アップロードする際の名前)

7. ブラウザでhttps接続をして、エラーがなく表示がなければ完了。