π©οΈ Cloud Infrastructure Wiki
μ΄ μν€λ νλ‘μ νΈμ ν΄λΌμ°λ μΈνλΌ, CI/CD, IaC, 보μ λ° μ΄μ κ΄λ ¨ μ λ°μ μΈ λ΄μ©μ λ¬Έμνν 곡κ°μ
λλ€. κ° μΉμ
μ μ€μ κ΅¬μ± μ μ°Έκ³ ν μ μλλ‘ λ€μ΄μ΄κ·Έλ¨, λꡬ, μ μ±
λ±μ ν¬ν¨νκ³ μμ΅λλ€.
Cloud Repository
βοΈ Cloud Infrastructure Design
π 01. μν€ν
μ² κ°μ
- λͺ¨λ리μ β λ§μ΄ν¬λ‘μλΉμ€ μ ν κ³ λ €
- VPC, μλΈλ·, NAT, μΈν°λ· κ²μ΄νΈμ¨μ΄ ꡬμ±
- Bastion Host / Load Balancer / DB / Object Storage λ±
- Public / Private Subnet λΆλ¦¬
- μλΈλ· κ° λΌμ°ν
μ μ±
μ μ
- 보μ κ·Έλ£Ή / NACL ꡬμ±
- μ¬μ©μκ° Load Balancer μ κ·Ό
- μλΉμ€λ 컨ν
μ΄λ λ΄λΆλ‘ λΌμ°ν
- λ°±μλλ RDS λ° μΈλΆ API νΈμΆ
- κ²°κ³Όλ μΊμ or μ§μ μλ΅
νκ²½ |
λͺ©μ |
νΉμ§ |
Dev |
κ°λ°μ© |
μμ λ‘μ΄ μ€ν κ°λ₯ |
Staging |
ν
μ€νΈ |
μ΄μ νκ²½κ³Ό μ μ¬ |
Prod |
μ€μ μλΉμ€ |
κ³ κ°μ©μ±, 보μ μ΅μ°μ |
νκ²½λ³ λ¦¬μμ€ μμ
- S3 λ²ν·:
myapp-dev-*
, myapp-stg-*
, myapp-prod-*
- EKS ν΄λ¬μ€ν°:
eks-dev
, eks-stg
, eks-prod
- DB μΈμ€ν΄μ€: μ€ν
μ΄μ§μ RDS ν
μ€νΈ ν΄λμ€ μ¬μ©
π 03. λ°°ν¬ μ λ΅ λ° CI/CD
κ°λ°μ β Git Push
β
GitHub Actions β λ컀 λΉλ & μ΄λ―Έμ§ Push
β
Helm λ³κ²½ β GitOps Repo λ°μ
β
Argo CD μλ Sync
.github/workflows/deploy.yml
- μ£Όμ λ¨κ³: Lint β Test β Build β Push β Notify
- App of Apps ν¨ν΄ μ¬μ©
- μλ/μλ Sync μ μ΄
- Health Check κΈ°λ° λ‘€λ°±
-
Staging: λ‘€λ§ λ°°ν¬
-
Production: λΈλ£¨κ·Έλ¦° or μΉ΄λ리
π¦ 04. Docker λ° μ»¨ν
μ΄λ κ΄λ¦¬
- λ©ν° μ€ν
μ΄μ§ λΉλ
- μ·¨μ½μ μ€μΊ: Trivy, Grype
- λ μ§μ€νΈλ¦¬: AWS ECR or GitHub Packages
- νκΉ
μ μ±
:
latest
, dev-<hash>
, release-<ver>
- EKS + Helm + ArgoCD μ°λ
- 리μμ€ μ ν: CPU/Memory μ€μ λͺ
νν
ποΈ 05. IaC λ° Terraform
λλ ν 리 ꡬ쑰 μμ
terraform/
βββ modules/
β βββ vpc/
β βββ eks/
βββ environments/
β βββ dev/
β βββ prod/
βββ backend.tf
- μ¬μ¬μ© κ°λ₯ν κ³΅ν΅ λͺ¨λ ꡬμ±
-
locals
/ outputs
νμ©
- μ격 backend: S3 + DynamoDB
- νκ²½λ³ workspace μ¬μ©
π©Ί 06. λͺ¨λν°λ§ λ° κ΄μΈ‘μ±
λͺ©μ |
λꡬ |
Metrics |
Prometheus, CloudWatch |
Logs |
Loki, EFK stack |
Tracing |
Tempo, Jaeger |
- Slack μ°λ
- AlertManager λ£° μ μ
- μ΅μ κΆν μμΉ (Least Privilege)
- Role κΈ°λ° μ κ·Ό μ μ΄ (RBAC)
- AWS Secrets Manager or SOPS
- GitHub Actionsμ Mask μ²λ¦¬
- 보μ κ·Έλ£Ή μ ν
- DB μ κ·Όμ Bastion Host ν΅ν΄μλ§
π₯ 08. μ¬ν΄ 볡ꡬ λ° λ°±μ
- RTO: 1μκ° λ΄
- RPO: 5λΆ λ΄
- RDS μλ λ°±μ
- S3 λ²μ κ΄λ¦¬ + μλͺ
μ£ΌκΈ° μ μ±
- Terraform μννμΌ μ£ΌκΈ°μ λ°±μ
- DB μ₯μ β μ€λ
μ· λ³΅μ ν μ¬μ°κ²°
- 리μ μ₯μ β DR 리μ μ ν
νλ¦Ώ κΈ°λ° μ¬κ΅¬μ±
π οΈ 09. μ΄μ κ°μ΄λ
- GitHub PR μμ±
- 리뷰 λ° λ¨Έμ§
- CI β CD νμ΄νλΌμΈ μλ μ€ν
- Terraform λ³κ²½ PR β
plan
κ²°κ³Ό νμΈ β λ¨Έμ§ ν apply
- Prometheus Alert β Slack
-
kubectl logs
+ describe
λ‘ 1μ°¨ νμΈ
- νμ μ λ‘€λ°±
π§° 10. μ¬μ© λꡬ λ° λ²μ
λꡬ |
λ²μ |
μ€λͺ
|
Terraform |
1.6.x |
IaC κ΅¬μ± |
Helm |
3.x |
Kubernetes ν¨ν€μ§ |
Argo CD |
2.x |
GitOps CD |
GitHub Actions |
μ΅μ |
CI / λ¦΄λ¦¬μ€ μλν |
Prometheus |
2.x |
λͺ¨λν°λ§ μμ€ν
|
Grafana |
9.x |
μκ°ν λμ보λ |
Trivy |
μ΅μ |
컨ν
μ΄λ μ΄λ―Έμ§ 보μ μ€μΊ |