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