Webサーバーを2台構築し、ELB でロードバランスをして、且つ ELB に SSL サーバー証明書を登録して負荷分散をする構成です。
AWS ネットワーク構成図
以下の構成で構築します。
ネットワーク構成図解説
通常の Web システムに比べるとシンプルな構成です。
- Webサーバー2台構築する
- ELB で負荷分散する
- SSLサーバー証明書で暗号化する
- ELB が 443 番ポートでアクセスを受けて各 Web サーバーの 80 番ポートに転送する
- Webサーバーは異なるアベイラビリティ―に配置する
- ELB はパブリックサブネットに配置する
- ドメインは「お名前.com」で取得している
- SSLサーバー証明書は「お名前.com」経由で「グローバルサイン」で取得している
前提条件
すでに 80 番ポートでアクセスできる環境になっています。
更に「ドメイン」と「SSL サーバー証明書」は「お名前.com」で取得済みの状態です。
この前提条件からスタートします。
お名前.com から SSL サーバー証明書をダウンロードする
お名前.com にログインします。
https://navi.onamae.com/login?btn_id=navi_login_onamaetop_header&ab=navilogin_other_abflow
お名前.com にログインしたら「SSL」タブをクリックします。
SSL 画面に移動したら「お名前.com 管理のドメイン」にチェックを入れて「次へ」ボタンをクリックします。
「SSL 証明書発行」画面に移動したら左側ペインより「SSLサーバー証明書」–「発行済みSSLサーバー証明書の管理」をクリックします。
「発行済み SSL 証明書の管理」画面に移動したら対象のドメインをクリックします。
対象のドメインの管理画面に移動したら「発行済み証明書のダウンロード(PEM 形式)」の「情報ダウンロード」ボタンをクリックします。
「xxxxxxx.pem」ファイルをダウンロードします。
.pem ファイルの確認方法
「xxxxxxx.pem」のファイル名を「xxxxxxx.pem.crt」に変更してダブルクリックすると Windows パソコン上で証明書の内容を確認することができます。
「セキュリティの警告」画面が表示されたら「開く」ボタンをクリックします。
以下のように SSL サーバー証明書の内容を確認できます。
「詳細」タブをクリックすると更に詳しい内容が確認できます。
「証明のパス」タブをクリックすると中間証明書が確認できます。
【PEM形式】と【PKCS#7形式】の違いは?
お名前.com から「グローバルサイン」の SSL サーバー証明書をダウンロードできますが、以下の2種類の形式があります。
- 発行済み証明書のダウンロード(PEM形式)
- 発行済み証明書のダウンロード(PKCS#7形式)
■PEM 形式
PEM(Privacy Enhanced Mail)は、X.509証明書の拡張子(.pem)として作成される証明書の形式です。
PEM 形式の SSL サーバー証明書は、Base64 で符号化されています。
※「符号化」を「暗号化」と言うこともあります。「復号化」は「復号化」とだけ言います。
PEM 形式の SSL サーバー証明書は「連結 SSL サーバー証明書」とも言われ、複数のサーバ証明書を1ファイルに連結させる(まとめる)ことができます。
ちなみにこれが PEM 形式の SSL サーバー証明書の中身です。
複数の SSL サーバー証明書がまとまっているので若干文字数が多いことが分かると思います。
■PKCS#7形式
PKCS(Public Key Cryptography Standards)は、公開鍵暗号方式やファイルフォーマットを規定しています。
今回は「PEM 形式」を利用します。
AWS Certificate Manager に SSL サーバー証明書を登録する手順
これから AWS Certificate Manager に SSL サーバー証明書を登録します。
その後、ELB に SSL サーバー証明書を割り当てます。
AWS Certificate Manager に SSL サーバー証明書を登録する際は以下のように
- 秘密鍵
- サーバ証明書
- 証明書チェーン
の情報が必要になります。
AWS のコンソール画面にログインし「サービス」–「セキュリティ、アイデンティティ、コンプライアンス」–「Certificate Manager」をクリックします。
「Certificate Manager」の管理画面に移動したら「証明書のインポート」ボタンをクリックします。
下図のように「証明書本文」、「プライベートキー(秘密鍵)」をコピペします。
「レビューとインポート」ボタンをクリックします。
※証明書チェーンは「xxxxxxxx.pem」ファイルに含まれているので入力しなくても「レビューとインポート」ボタンクリック後に自動的に登録されます。
「インポート」ボタンをクリックします。
SSL サーバー証明書がインストールされました。
ELB に SSL サーバー証明書を登録する
次に ELB のリスナーで SSL サーバー証明書を登録します。
AWS コンソール管理画面より「サービス」–「EC2」–「ロードバランサー」をクリックします。
ロードバランサ―一覧処理対象の ELB を選択して「リスナー」タブをクリックします。
「編集」ボタンをクリックします。
「追加」ボタンをクリックします。
リスナーの編集画面で「HTTPS」のリスナーを追加し、「SSL 証明書」の「変更」ボタンをクリックします。
「証明書の選択」画面で、以下の設定をします。
証明書タイプ ← 「ACM から証明書を選択する(推奨)」を選択します。
証明書 ← 先ほどインポートした証明書を選択します。
設定が完了したら「保存」ボタンをクリックします。
「リスナーの編集」画面で SSL 証明書が設定されたことを確認し「保存」ボタンをクリックします。
「リスナーの更新が完了しました。」のメッセージが表示されることを確認し「閉じる」ボタンをクリックします。
以上で ELB への SSL サーバー証明書の登録が完了です。
今回は「お名前.com」のドメインと「グローバルサイン」の SSL サーバー証明書を利用して AWS で HTTPS でロードバランサ―に負荷分散させる手順をご紹介しました。
今なら1円で「ドメイン」と「SSL証明書」と「ディスク容量200GB」を入手できます。
コメント