プロジェクト

全般

プロフィール

開発実装 #60

未完了

設計 #1: 開発運用プロジェクトのスケジュール

開発実装 #31: 本番環境インフラの構築

Terraformを用いてALBを構築する

Lunatic1998 さんが8ヶ月前に追加. 8ヶ月前に更新.

ステータス:
完了
優先度:
普通
担当者:
開始日:
2024-02-12
期日:
2024-02-12 (約8ヶ月 遅れ)
進捗率:

0%

予定工数:

説明

ALB(Application Load Balancer) とは

  • AWS が提供するロードバランサー
    • アプリケーションレイヤーでの振り分けが可能
    • SSL/TLS の暗号化/複号化
    • AWS Cognito との連携(今回 Rails 側で連携スクリプトを実装したためお役御免にはなるが、将来的には...)

採用可否

  • NginxコンテナがWebサーバーの役割を果たしてくれるが、果たしてELBは必要なのか
    • ALBを利用することで、複数のNginxコンテナにトラフィックを均等に分散することができる。
    • 正直Nginxコンテナを複数構築することはない。
  • ALBは複数のアベイラビリティーゾーンにわたって可用性を提供する。
    • 現状のシステムは高度な可用性は求められない。
  • ALBを使用することで、SSL/TLSの終端を行うことができる。
    • Nginxコンテナ上でSSL/TLSの導入は可能であるが、ALBでSSL/TLS機能を担ってくれた方が管理が簡素になる。
  • セキュリティの向上
    • Nginxコンテナをプライベートサブネット下に配置できる。

ALB採用の理由

ALB
  • リクエストヘッダーやパスなどの情報に基づいてトラフィックをルーティングおよびバランシングできる。
    • nginxコンテナに静的コンテンツを配置して、HTTPリクエストのパス次第でアプリサーバーを介さずにNginxサーバーからリクエストを返す、といった仕様が組める?
NLB
  • 高速かつ効率的なロードバランシングが可能
    • 高速性を求めていない。
  • NLBは静的IPアドレスをサポート
    • 外部クライアントやDNSレコードなどが常に同じIPアドレスに接続できる。
    • 外部クライアントの連携はしない、DNSにRoute53を導入すればなんとかなる

他の形式にエクスポート: Atom PDF