なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

AWSにSSL証明書を登録したりした


AWSはすごいのでロードバランサー*1に証明書を登録できる。ロードバランサーまではSSLで、そこからアプリケーションサーバはHTTPで通信する。物理的なサーバ構成だと、これまでは各HTTPサーバ(Apache/ngnix)に証明書を登録していたかもしれないが、それが必要なくなる。ELB配下でSSLを終端、httpはhttpsにリダイレクトする。いろいろ調べたので次の人のポインターになればと思い、リンクを張る。

適当な説明図
文言には特に意味はない
f:id:panzer-jagdironscrap1:20160206011333p:plain

ELBへの証明書登録

証明書を購入したら、CRT(公開鍵)と中間証明書が多分必要になる。
norinoritakanori.blog90.fc2.com

あと、パスフレーズは解除しとかないといけない。
biibiebisuke.hatenablog.com

あとは上述のリンクにあるように、これらの証明書をELBのWEB画面で登録するだけだ。

httpからhttpsへのリダイレクト

さて、ELBに証明書を登録するとサーバはHTTPsで通信できるようになる。しかし、安全を期するためにHTTPアクセスをHTTPSにリダイレクトしたい。この処理のキモはELBのヘルスチェックとngnixのhttp_x_forwarded_protoという変数の存在を知っておくことだ。

live-cast.asia
scottwb.com

Amazon Certificate Manager

AWS側の証明書発行システムが米国東部 (バージニア北部)のリージョンのみで使用できそうだ。これを使うとDVレベルの証明書の発行がたぶん無料。
qiita.com

Let's encrypt

あとはご存知Let's Encryptが使えると思うけど未調査。

*1:Elastic Load Balancing
ロードバランサーを起点にしてリクエストを振り分けられるよ!振り分け先はクラウドだからいくらでも作れるよ(金があるかぎり)!