Phase 1 Sprint 1 Infra-5: (platform) Keycloak (Custom) ECS Service + ALB Listener Rule(共有 IdP runtime)
概要
共有 Keycloak Custom Image(#321)を platform stack の ECS Fargate Service として起動(共有 IdP runtime、multi-realm、ADR-0004 改訂)。platform の共有 ALB(#242、同 stack)の Host-based Listener Rule で 中立ホスト auth-dev.dgz48.xyz → Keycloak Service にルーティング。各プロジェクトは realm パス(例 /realms/tasks)で区別。
詳細仕様: infra/docs/adr/0004-platform-project-infra-separation.md(改訂)/ docs/adr/0006(改訂)/ infrastructure-plan §5.3 / §6.4。
stack / 配置(ADR-0004 改訂)
背景
やること
受入条件
関連
備考
- task-type:
task-type:impl / 優先度: priority/p0 / area: area/infra + area/keycloak
- claude-automation: 適用
Phase 1 Sprint 1 Infra-5: (platform) Keycloak (Custom) ECS Service + ALB Listener Rule(共有 IdP runtime)
概要
共有 Keycloak Custom Image(#321)を platform stack の ECS Fargate Service として起動(共有 IdP runtime、multi-realm、ADR-0004 改訂)。platform の共有 ALB(#242、同 stack)の Host-based Listener Rule で 中立ホスト
auth-dev.dgz48.xyz→ Keycloak Service にルーティング。各プロジェクトは realm パス(例/realms/tasks)で区別。詳細仕様:
infra/docs/adr/0004-platform-project-infra-separation.md(改訂)/docs/adr/0006(改訂)/ infrastructure-plan §5.3 / §6.4。stack / 配置(ADR-0004 改訂)
infra/shared/environments/dev/(keyplatform/dev/...)、moduleinfra/shared/modules/keycloak/platform-dev-*/ タグProject=platformusers表を read-only federate(email のみ writable)。tasks RDS への read creds / SG 経路は tasks 側が払い出し SSM 公開、platform Keycloak が消費(platform IaC は tasks state 非依存)背景
やること
infra/shared/modules/keycloak/作成(ECS Task Definition / Service / SG-Keycloak / TG / Listener Rule)KC_HOSTNAME=auth-dev.dgz48.xyzauth-dev.dgz48.xyz→ Keycloak TGterraform plan(platform)+ dev apply(platform-apply role infra(ci-cd): Phase 1 Sprint 0 — (platform/tasks) OIDC + plan/apply×platform/tasks = 4 IAM Role(Environment 分離)(S0Infra-3) #246)受入条件
auth-dev.dgz48.xyzで疎通(infra(terraform): Phase 1 Sprint 1 — Route53 + ACM(各 host、CloudFront 用は us-east-1)(S1Infra-6) #323 整合)users表を read-only federate でログイン成立terraform apply(platform-apply role)成功関連
Phase 1/ Iteration: Phase 1 Sprint 1備考
task-type:impl/ 優先度:priority/p0/ area:area/infra+area/keycloak