実現したいこと
現在、ECS(Fargate)で 2つの別アプリを運用しようとしています。
どちらも ALB 配下に置く想定で、将来的には **Blue/Green デプロイメントも行う予定です。
アプリA:管理画面(人がブラウザでアクセス)
- Cognito 認証を付ける予定
アプリB:別サーバからアクセスされるアプリ(機械通信)
- Cognito は付けない予定(別の制御を検討)
発生している問題・分からないこと
悩んでいるのが、ALBを1つにするか、2つに分けるか です。
- ALBを1つにまとめる案
- Hostベース(またはPathベース)で振り分け
- WAFは1つのWebACLで、ルールを分けて制御
- Cognitoは管理画面側のルールだけに適用
→ 構成としてはシンプルで、コストも抑えられると思っています。
ただ、2つの別アプリを両方Blue/Greenで運用したときに、ALBのルールやターゲットグループ管理が複雑になりすぎないかが心配です。
- ALBを2つに分ける案
- 管理画面用ALB(Cognitoあり)
- サーバ間通信用ALB(Cognitoなし)
→ 脅威モデルの違い(人向けUI / 機械通信)を入口から分けられるので、
設計レビューや監査では説明しやすい気がしています。
また、Blue/Green運用時のルール管理も分かりやすくなりそうです。
・ 相談したいポイント
- セキュリティ・運用性の観点で、ALBは1つでも十分か?
- 2つの別アプリをそれぞれBlue/Green運用する場合、ALB1つだと実際どのくらい運用が煩雑になるか?
- ALBを2つに分ける判断をするなら、どんな条件(監査要件、運用体制、障害分離要件など)が決め手になるか?
- 同じような構成での実運用経験があれば、1 ALB / 2 ALB のどちらが良かったか
コスト面は今回はいったん除外して、
「安全性」と「運用のしやすさ」重視で意見をいただきたいです。
よろしくお願いします。
該当のソースコード
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Google等で同じような課題がないか確認しましたが、発見できませんでした。
補足
特になし