プロジェクト

全般

プロフィール

開発実装 #60

Lunatic1998 さんが8ヶ月前に更新

#### 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を導入すればなんとかなる

戻る