AWSでWeb/https(443) のロードバランスをする-No2

AWSでのSSL通信はELB/ロードバランサをスルーさせて、WebサーバーまでSSLの通信を行う場合の設定例です。Webサーバーの負荷分散や冗長構成での運用が出来ます。

  • アマゾンELBはSSL/TCP ( 443 ) をスルーさせる設定
  • SSLのサーバー証明書は、Webサーバー側にインストール
  • 終端のウェブサーバーまでの全経路でSSL通信

aws-lb-52

 

使用するもの

 

Powered BLUE Webサーバーの設定

Amazon AWSに登録のAMIからPowered BLUE サーバーをセットアップします。VPCなどで2台のWebサーバーを構築します

  • B860-LB1
  • B860-LB2

Webサーバーの設定

それぞれのWebサーバーへホームページのデータを入れます。Powered BLUE サーバーは、ベースOSとして CentOS 6.x (64bit) で動作します。CentOS対応のWebアプリケーションをインストール&運用することも出来ます。

B860-LB1 ( https Web サーバーNo1 )aws-lb-13

 

B860-LB1 ( https Web サーバーNo2 )aws-lb-14

 

ポイント

  • 2台のWebサーバーに、同一のSSLサーバー証明書を入れます

 

同一のSSLのサーバー証明書を作成します(1台目のhttpsサーバー)

  • 「自己署名デジタル証明書の作成」 または 「署名リクエストの作成」 で作成します

自己署名デジタル証明書の作成の場合

  • 「自己署名デジタル証明書の作成」から必要事項を記入して、SSLを有効にします

署名リクエスト(CSR)の作成の場合

  • 必要事項を記入して、 「署名リクエストの作成」 ボタンを押します

  • 作成された 「署名リクエスト」 ファイルを保存
  • この 「署名リクエスト」 ファイル signig-request.txt を、公的なSSLサーバー証明書の発行機関へ送付

  • 公的機関で発行された、サーバー証明書を 「インポート」 します

サーバー証明書&秘密鍵のエクスポート(1台目のhttpsサーバー)

  • 1台目のリバースプロキシサーバーに登録されている、「サーバー証明書&秘密鍵」が含まれているssl-certificate.txtを「エクスポート」

サーバー証明書&秘密鍵のインポート(2台目以降のhttpsサーバー)

  • 1台目のWebサーバーから取り出した「証明書&秘密鍵」が含まれている「ssl-certificate.txt」を2台目以降のWebサーバーへインポート
  • 1台目のサーバー証明書と秘密鍵のコピーが2台目にインストールされます

 

AWS ELB (Elastic Load Balancing ) の作成

  • ロードバランサ名の設定 (例 LB-80 )
  • ロードバランサの運用ゾーンを選択(例 VPC-19fdd9 (10.0.0.0/16)
  • ロードバランサのプロトコル選択(例 プロトコル TCP / ポート443 )
  • インスタンスのプロトコル選択(例 プロトコル TCP / ポート443 )
  • サブネットの選択(適用するサブネット)

aws-lb-15

セキュリティグループの設定

ELBからWeb(443)のヘルスチェックの設定

  • TCP 443へのping

aws-lb-16

ELBで負荷分散させるEC2インスタンスの選択

  • B860-LB1 ( Web サーバーNo1 )
  • B860-LB2 ( Web サーバーNo2 )

ヘルスチェックの状況

  • ヘルスチェック TCP=443
  • ステータス InService ( https サーバーの正常動作)
  • アベイラビリティ-ゾーン 正常?(はい)

aws-lb-18

アクセス

Webサーバーには、ELBのDNSのAレコードでアクセスします

例 https://LB-80-209694.ap-xxxxxxx.com/

 

デモサーバー

Powered BLUEの  デモサーバー

基本操作 /  リバースプロキシ /  SSLクライアント認証 などのデモが出来ます

 

終わりに

デモ環境で試してみたい方や詳しい話を聞いてみたい方などは、ムービットの https://www.mubit.co.jp/sub/products/blue/img2/arrow-finger.gif お問い合わせフォーム からご連絡ください。