Source: Building an Active-Active AWS Architecture for $47 a Month
π£ Hook: "μ²μ‘°κ΅ AWS μκΈμ νΌνλ λ²"
"Active-Active μν€ν μ²"λΌκ³ νλ©΄ λ³΄ν΅ μ $15,000μ§λ¦¬ Aurora Global Databaseλ₯Ό λ μ¬λ¦½λλ€. νμ§λ§ μ¬μ΄λ νλ‘μ νΈλ μ΄κΈ° μ€ννΈμ μκ² κ·Έκ±΄ μμ΄νμμ£ .
μ¬κΈ° Hondaμ μλμ΄ μν€ν νΈκ° 곡κ°ν μ 47λ¬λ¬μ§λ¦¬ μμ‘΄ λ μνΌκ° μμ΅λλ€. λΉκ²°μ 'λ°μ΄ν° μ±κ²©μ λ°λ₯Έ λΆλ¦¬'μ λλ€.
ποΈ The 3-Layer Architecture
Layer 1: λ¨κ±°μ΄ λ°μ΄ν° (Hot Data) -> DynamoDB
μ μ μΈμ , API μλ μ ν, μ€μκ° μΉ΄μ΄ν°μ²λΌ μ¦μ μ°κΈ°κ° νμν λ°μ΄ν°λ DynamoDB Global Tablesμ λ£μ΅λλ€.
- μ?: 리μ κ° λ³΅μ κ° 1μ΄ λ―Έλ§μ λλ€.
- λΉμ©: μ°κΈ° μ©λ 25, μ½κΈ° 10 κΈ°μ€ μ½ $18/μ.
Layer 2: κ΄κ³ν λ°μ΄ν° (RDBMS) -> Aurora Serverless v2
볡μ‘ν νΈλμμ μ΄ νμν λ°μ΄ν°λ Aurora PostgreSQLμ μλλ€. λ¨, Active-Standby ꡬ쑰μ λλ€.
- Primary: us-east-1 (0.5 ACU)
- Replica: us-west-2 (0.5 ACU) - νμμ μ½κΈ° μ μ©
- λΉμ©: λ λ ν©μ³μ μ½ $23/μ. (κ°μ₯ μμ μ©λμΌλ‘ μ΄μ)
- λ¨μ : μ₯μ μ Replicaλ₯Ό Primaryλ‘ μΉκ²©μν€λ λ° μ½ 60μ΄κ° 걸립λλ€. (κ·Έλμ μ°κΈ° μ€ν¨)
Layer 3: μ μ νμΌ (Assets) -> S3
μ΄λ―Έμ§, PDF λ±μ S3 Cross-Region Replication(CRR)μ μλλ€.
- λΉμ©: 50GB κΈ°μ€ μ½ $4/μ.
- λ°°ν¬: CloudFrontκ° μμμ κ°κΉμ΄ κ³³μμ κ°μ Έκ°λλ€.
πΎ The Failover Choreography (μ₯μ λ°μ μλ리μ€)
μ¬ν΄(Disaster)κ° λ₯μ³€μ λ λ²μ΄μ§λ μΌλ€μ λλ€. (μ€μ ν μ€νΈ μλ£)
- T+0μ΄: us-east-1 μλ² μλ΅ μμ.
- T+15μ΄: Route53μ΄ DNSλ₯Ό us-west-2λ‘ λλ¦Ό. (μ μ λ μ μ κ°λ₯, μ½κΈ° κ°λ₯)
- T+30μ΄: CloudWatchκ° μ₯μ κ°μ§ -> λλ€(Lambda) μ€ν.
- T+90μ΄: μλΆ(West)μ Aurora Replicaκ° Primaryλ‘ μΉκ²© μλ£.
- T+120μ΄: μμ€ν μ μν. (μ°κΈ° κ°λ₯)
MAX5μ μκ° π―
π¨βπ» λ°μ΄λΈ μ½λ© λ μνΌ
μ΄ κ΅¬μ‘°λ₯Ό ν
λΌνΌ(Terraform)μΌλ‘ μ§λ¬λΌκ³ ν΄λ³΄μ.
"AWS ν리ν°μ΄λ μλμ§λ§ μ 50λΆ μ΄νλ‘ μ μ§ κ°λ₯ν Active-Standby ꡬ쑰λ₯Ό μν΄. us-east-1κ³Ό us-west-2μ Aurora Serverless v2λ₯Ό λ°°ν¬νκ³ , Route53 Failover μ μ±
μ ν¬ν¨ν Terraform μ½λλ₯Ό μμ±ν΄μ€."
πΈ μ¬μ΄λ νλ‘μ νΈ μμ΄λμ΄
"SaaS Calculator Bot": μ¬μ©μκ° μμ νΈλν½κ³Ό κ°μ©μ± μꡬμ¬ν(SLA)μ μ λ ₯νλ©΄, "μ $50 μν€ν μ²", "μ $500 μν€ν μ²" λ± λ¨κ³λ³ AWS 견μ κ³Ό λ€μ΄μ΄κ·Έλ¨μ κ·Έλ €μ£Όλ μ±λ΄.
μΉ΄ν
κ³ λ¦¬: cloud_architecture, ``