読者です 読者をやめる 読者になる 読者になる

SSL証明書をELBに設置する簡単な方法メモ

Webサービスを作ろうとした場合、ログインページや会員登録ページなどをはじめとしてSSLで暗号化した方が良いページがいくつかありますが、それに必要なSSL証明書の取得・設置の簡単な方法をメモがてら書いてみます。すでに詳しい説明などは世の中に溢れていると思いますのでできればそちらを参考にしていただきながら、「ただひたすら簡単にやりたいなー」「AWS使ってるけどSSLとかあまり詳しくないんだよなー」という方はご参考にしていただければと思います。(可能な限りコマンドを叩くとかそういうのが不要な方法を記してあります。)

手順としては主に下記となります。

  1. SSL証明書を購入
  2. ELBを立ち上げ、SSL証明書を設置する

1. SSL証明書を購入する

まずRapid-SSLのサイトにアクセスし、「新規お申込」ボタンをクリックします。ワイルドカード証明書を取っておくと、www.example.com や api.example.com などの複数のサブドメインでも利用できるので、今後サービスを発展させる予定があるのであれば便利です。

クリック後はいくつかの注意事項が出てきますので、しっかりと読んでおくと良いかもしれません。読んだら「お申込フォームへ」のボタンをクリックします。

ここで色々入力項目があるかと思いますが、基本的には入力に迷わない項目かデフォルトのままでOKな項目ばかりです。唯一のハードルは「CSRの貼り付け」の項目だと思います。ここで項目名の直下にある「CSR作成ツール」というのをクリックしてみましょう。こちらには必要な項目をそれぞれ入力してして作成ボタンをクリックすればOKで、迷うところは無いかと思います。コモンネームのところだけ、ワイルドカードドメインを取得する場合は example.com ではなく *.example.com と入力するよう注意してください。表示されたもののコピーを手元にとっておいて、あとは「CSRの貼り付け」欄にコピペするだけです。また、秘密鍵のパスワード(任意)は空欄にしておいた方が楽です。

あとは申込者の情報などを適宜入力して、クレジットカードで申し込みをすればSSL証明書の取得は完了です。メールが何通か届くので見失わないようにしましょう。一番重要なメールは「【通知】 SSL サーバ証明書発行完了のお知らせ」というタイトルのメールで、これは申し込みが完了してから少し時間が経ってから届きます。(僕の場合は2時間程度でした。)

2. ELBを立ち上げ、SSL証明書を設置する

AWS Management Consoleにログインして左側のメニューのLoad Balancersをクリック。

Create Load Balancerをクリック。

Load Balancer ProtocolにHTTPS(Secure HTTP) を追加(右側のSaveボタン押下を忘れずに)して、Continueボタンをクリック。

Upload a new SSL Certificate のラジオボタンを選択し、

  1. Private KeyにはCSR作成ツールで作ったPrivate Keyを、
  2. Public Key Certificateには「【通知】 SSL サーバ証明書発行完了のお知らせ」というメール本文のうしろの方にある「SSLサーバ証明書(X.509形式)」という箇所を、
  3. Certificate Chainには同じくメール末尾にある「中間証明書(INTERMEDIATE CA):」という箇所を、

それぞれコピペして貼り付けます。もしここで

Error: Private key must not be encrypted with a passphrase.

というエラーメッセージが出た場合は、上述のPrivate Keyを何らかのテキストファイルに保存して、

openssl rsa -in <Private Key> -out hoge.key

というコマンドを実行してパスワードを外して下さい。hoge.keyにパスフレーズのないPrivate Keyが出力されますので、この内容をコピペしてPrivate Keyの欄に入力してください。

他の入力項目は何も迷うことはないと思うので(通常のELB作成と同じなので)、これでELBの設置が完了です。