Phase 1 Setup 2-3: Private DNS for RDS 採否 ADR
概要
Route53 Private Hosted Zone を使った RDS エンドポイント固定化(env 不問の DNS 名)の採否を ADR として記録する。infra/docs/adr/0001-private-dns-for-rds.md を起票(IaC 固有 ADR、infra/docs/adr/ 配下)。
採用方針は infrastructure-plan v5 §3.5.1 で確定済(2026-05-23)、本 Issue で経緯を ADR 化。
詳細仕様: docs/architecture/infrastructure-plan.md v5 §3.5.1。
背景
infrastructure-plan v5 策定中の議論で、各 env(dev/stg/prd)の VPC に 同名 Private Hosted Zone tasks.internal を独立して作成し、db.tasks.internal の CNAME を被せる方針を採用。
メリット:
- env 切替時にアプリ ENV 不変(
DATASOURCE_URL=jdbc:mysql://db.tasks.internal:3306/tasks が全 env 共通)
- Aurora 移行 / エンジン切替時もアプリ ENV 不変
- VPC 境界が PHZ 境界と一致、env 間 DNS 漏洩リスクなし
判断根拠を ADR で残し、Sprint 0 Infra S0Infra-8(PHZ 構築)+ Sprint 1 Infra S1Infra-1(RDS CNAME 登録)実装の前提とする。
議論ポイント(ADR で記録)
- PHZ 構成: env 毎独立 PHZ(同名
tasks.internal)vs 単一 PHZ + env prefix(db-dev.tasks.internal 等)
- アプリ ENV 不変性: DATASOURCE_URL 全 env 共通化の利点
- コスト: Route53 PHZ $0.50/月 × VPC 数 + クエリ料(ほぼ 0)
- 運用複雑度: DNS 解決層が 1 つ増えるトラブルシューティング
- Aurora 移行時の振る舞い: CNAME 先を書き換えるだけ
- MySQL → Aurora エンジン切替時: reader/writer endpoint も同様にラップ可能
- 代替案: RDS endpoint を Terraform output 経由で ECS Task Definition env に直接注入(シンプル、env ENV 変動受容)
ADR 内容(infra/docs/adr/0001-private-dns-for-rds.md)
下記セクションを含む:
- Title / Status (Accepted)
- Context(infrastructure-plan v5 策定議論、env 共通 ENV を求めて)
- Decision(env 毎独立 PHZ + 同名 record の (α) 案を採用)
- Consequences(コスト・運用・将来拡張)
- Alternatives Considered(単一 PHZ + env prefix、Private DNS 不採用案)
- Related: infrastructure-plan v5 §3.5.1、Sprint 0 Infra S0Infra-8、Sprint 1 Infra S1Infra-1
受入条件
関連
備考
- task-type:
task-type:design
- 優先度:
priority/p0
- area:
area/infra
- 配置:
infra/docs/adr/ 配下(IaC 固有 ADR、横断 ADR とは別 namespace)
Phase 1 Setup 2-3: Private DNS for RDS 採否 ADR
概要
Route53 Private Hosted Zone を使った RDS エンドポイント固定化(env 不問の DNS 名)の採否を ADR として記録する。
infra/docs/adr/0001-private-dns-for-rds.mdを起票(IaC 固有 ADR、infra/docs/adr/ 配下)。採用方針は infrastructure-plan v5 §3.5.1 で確定済(2026-05-23)、本 Issue で経緯を ADR 化。
詳細仕様:
docs/architecture/infrastructure-plan.mdv5 §3.5.1。背景
infrastructure-plan v5 策定中の議論で、各 env(dev/stg/prd)の VPC に 同名 Private Hosted Zone
tasks.internalを独立して作成し、db.tasks.internalの CNAME を被せる方針を採用。メリット:
DATASOURCE_URL=jdbc:mysql://db.tasks.internal:3306/tasksが全 env 共通)判断根拠を ADR で残し、Sprint 0 Infra S0Infra-8(PHZ 構築)+ Sprint 1 Infra S1Infra-1(RDS CNAME 登録)実装の前提とする。
議論ポイント(ADR で記録)
tasks.internal)vs 単一 PHZ + env prefix(db-dev.tasks.internal等)ADR 内容(
infra/docs/adr/0001-private-dns-for-rds.md)下記セクションを含む:
受入条件
infra/docs/adr/0001-private-dns-for-rds.mdが存在し、accepted statusinfra/docs/adr/ディレクトリが新規作成される(本 ADR が初回)関連
Phase 1 Setup 2(due 2026-06-13)docs/architecture/infrastructure-plan.mdv5 §3.5.1備考
task-type:designpriority/p0area/infrainfra/docs/adr/配下(IaC 固有 ADR、横断 ADR とは別 namespace)