この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
ご機嫌いかがでしょうか、豊崎です。
ELB(Elastic Load Balancing)はその名の通りロードバランサーなので、負荷分散のイメージが強いと思いますが、 ここではWEBサーバが1台でも前段にELBを置いた方がいい理由についてまとめたいと思います。
WEBサーバが1台でもELBを置いた方が良い理由
インスタンスの差し替えが容易
運用が開始した後、EC2に対して修正を行う必要がでた場合、インスタンスの差し替えが容易になります。 DNSの変更を行うことなく、バックエンドの切り替えが可能です。
ELBのヘルスチェックで監視
ELBのヘルスチェックを利用してWEBサーバの死活監視を行うことができます。 CloudWatchアラームを組み合わせて通知が可能です。
HTTPSのSSL終端をELBへ
SSLを利用する場合、EC2でSSLを終端させるとOpenSSLなどの管理が発生します。 一方、ELBをSSLの終端する場合は、管理をAWSにオフロードすることができます。 管理者はOpenSSLの脆弱性が発見されるごとにEC2にパッチを当てるなどの対応が不要になります。
ELBのセキュリティポリシーについては以下を参照してください。
Classic Load Balancer での事前定義された SSL セキュリティポリシー Application Load Balancer用のセキュリティポリシー
ACMの無料SSL証明書が利用できる
ELBを利用すればACMの無料SSL証明書(ドメイン証明書)が利用できます。 また証明書の更新は自動で行われます。
自動更新については以下をご確認ください。 http://docs.aws.amazon.com/ja_jp/acm/latest/userguide/configure-domain-for-automatic-validation.html
以下ブログにも詳しく書かれていますので、ご参考にしてください。
AWS Shield Standard が有効になる
ELB(CLB,ALB共に対象)を利用すると無償で且つ、自動的にAWS Shield Standardが有効になります。 無償のサービスではありますが、SYNフラッドなどの低レイヤな攻撃に対する保護が提供されます。
WAFの利用が可能(ALBに限る)
ALBを利用すればAWS WAFが利用できます。 最近のアップデートでレートベースのルールが設定可能になり、ますます活用できるシーンが拡大されています。
今後の拡張を想定して
当然ではありますが、システムの負荷が高くなった場合にスケールアウトの選択肢が増えます。(スケールアウトを想定したシステム設計は必要です) 一方、ELBを利用していないEC2(1台)の構成だった場合、スケールアップしか選択肢がなくなってしまいます。 また、スケールアップを行う場合、EC2の停止が伴います。
さいごに
複数台構成のWEBサーバを利用する場合には当たり前のように利用するELBですが、本ブログでまとめたように1台構成の場合にもELBは力を発揮します。是非ELBの導入を検討いただければと思います。 誰かのご参考になれば幸いです。