跳轉到

EKS Terraform Infrastructure Stack

概念概覽

Terraform Bootstrap 順序

核心知識

Terraform Bootstrap 順序

S3 state bucket 必須在 terraform init 之前手動 bootstrap 建立,否則 backend 初始化失敗。bootstrap 成功後應確認: - bucket_region = 目標區域(如 ap-east-2) - AES256 SSE Enabled - Versioning Enabled - Public Access Block Enabled - Lifecycle: 90 天清理舊版本

完整 Helm Chart 清單(dev 環境,已由 terraform plan 確認)

Chart 版本
ArgoCD 5.51.6
Argo Rollouts 2.35.0
Istio base/cni/istiod 1.28.0
Kiali 2.1.0
Loki 6.24.0
kube-prometheus-stack 65.1.0
External Secrets 0.9.11
Cluster Autoscaler 9.37.0
Prometheus Adapter -

Kiali 重要修正

Kiali **確實包含**在 helm_release.kiali 中,與 Grafana + Prometheus 整合,dev 環境使用 auth.strategy: anonymous。舊文檔記載「非 Kiali」為錯誤,以本 session 的 terraform plan 輸出為準。

EKS Cluster 配置

  • Cluster: matchrpg-dev,Kubernetes v1.29
  • Node type: t3.large(desired: 2, max: 5)
  • Addons: coredns、kube-proxy、vpc-cni、aws-ebs-csi-driver

經驗教訓

  • Terraform plan 的實際輸出是修正舊文檔錯誤的唯一可信依據

  • S3 state bucket bootstrap 必須是第一步,且需在與 EKS 相同的目標區域建立

  • Kiali dev 環境用 anonymous auth 可快速驗證,但 staging/prod 必須改為 token 或 openid

常見陷阱

  • 舊文檔可能記載錯誤,需以最新 terraform plan 輸出為準而非舊筆記

  • 區域遷移時容易遺漏 Loki/Tempo S3 bucket 名稱中的區域字串

最佳實踐

  • 每次 plan 前先執行 aws sts get-caller-identity 確認使用正確的 IAM 身份

  • 區域遷移後檢查所有資源名稱和 ARN 是否已更新(特別是 S3 bucket name 含區域字串)

  • Kiali 生產環境一定要設定 auth.strategy: token 或 openid,不可用 anonymous

相關概念

來源 Sessions

日期 Session 貢獻摘要

| 2026-03-19 | 12166813-461c-4fea-8bdc-9685a03af89c | 記錄了 MatchRPG 專案 EKS dev 環境的完整 Terraform Helm chart 清單(含版本),以及 S3 state bootstrap 的正確執行順序,並修正了舊文檔中「不含 Kiali」的錯誤記載。 |


本概念頁面由 Semi-Brain Wiki 系統自動維護

最後更新: 2026-03-19