【えすえすえるおふろーど】

SSLオフロード とは?

💡 重い暗号の仕事を玄関係が一手に引き受ける
📌 このページのポイント
SSLオフロード クライアント (ブラウザ) TLS暗号化 🔒 LB / リバース プロキシ TLS終端 平文HTTP サーバ 1 サーバ 2 サーバ 3 🔑 証明書(一元管理) LBがTLSを終端 → バックエンドは暗号処理不要で本来の処理に集中できる
SSLオフロードのイメージ
ひよこ ひよこ

SSLって通信を暗号化するやつだよね。それをオフロードするってどういう意味なの?

ペンギン先生 ペンギン先生

SSL/TLSの暗号化・復号CPUを使う重い処理なんだ。その仕事をバックエンドWebサーバではなく、手前にいるロードバランサやリバースプロキシにまとめてやらせることをSSLオフロードというよ。

ひよこ ひよこ

バックエンドサーバが楽になるんだね!でも暗号化が解けた通信ってセキュリティ的に大丈夫なの?

ペンギン先生 ペンギン先生

LBバックエンドの間は社内ネットワークだから、平文でも許容するケースが多いよ。ただし厳格なセキュリティが必要なら、LBで一度復号してから再暗号化してバックエンドに送る「再暗号化方式」を使うんだ。

ひよこ ひよこ

証明書の管理はどうなるの?

ペンギン先生 ペンギン先生

LBが一箇所で証明書を持つから、更新や切り替えがLBだけで済むよ。バックエンドが10台あっても全部に証明書を配る必要がなくなって、管理がぐっと楽になるんだ。

ひよこ ひよこ

ハードウェアでやることもあるの?

ペンギン先生 ペンギン先生

あるよ!HSMや専用のSSLアクセラレータカードを使えば、ソフトウェアより何十倍も速く暗号処理できるんだ。大規模サービスでよく使われる手法だよ。

ひよこ ひよこ

クラウドだとどうなっているの?

ペンギン先生 ペンギン先生

AWS ALBやGCPのCloud Load Balancingが標準でSSLオフロードを担ってくれるよ。証明書の自動更新まで含めて全部マネージドでやってくれるから、今はクラウドに任せるのが一番多い形だね。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
SSLオフロード」って出てきたら「暗号処理をサーバ代わりにLBがやってくれる仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「SSL Offload / SSL Termination」 = SSL処理の肩代わり
💬 Offload は「荷を下ろす」という意味で、サーバが抱えていたSSL処理の重荷をLBに預けることからきているよ
← 用語集にもどる