[Infra] itinform.siteμ μ¬μ₯: Docker κΈ°λ° 4-Tier μΈνλΌ κ΅¬μΆκΈ°
μλ νμΈμ λ리λ!
μ€λμ μ°λ¦¬ λΈλ‘κ·Έ itinform.siteκ° μ΄λ€ κΈ°μ μ ν λ μμμ λμκ°κ³ μλμ§ κ·Έ μΈνλΌ κ΅¬μΆκΈ°λ₯Ό 곡μ ν©λλ€.
ποΈ μ°λ¦¬λ νμ₯μ±κ³Ό κ΄λ¦¬μ νΈμμ±μ μν΄ λͺ¨λ μλΉμ€λ₯Ό Docker 컨ν μ΄λλ‘ κ²©λ¦¬νμ¬ μ΄μνλ 4-Tier μν€ν μ²λ₯Ό μ ννμ΅λλ€.
μ΄ κ°μ΄λλ Ubuntu 24.04(LTS) νκ²½μ κΈ°μ€μΌλ‘ μμ±λμμ΅λλ€.
### π οΈ μν€ν μ² κ΅¬μ± μμ
1. **Presentation Tier (Web): Nginx**
- 80/443 ν¬νΈλ₯Ό λ΄λΉνλ©° 리λ²μ€ νλ‘μ μν μ μνν©λλ€.
- Certbotμ ν΅ν΄ SSL μΈμ¦μλ₯Ό μ μ©, HTTPS 보μ ν΅μ μ μμ±νμ΅λλ€.
- νΉμ IPλ§ κ΄λ¦¬μ νμ΄μ§μ μ κ·Όν μ μλλ‘ Nginx λ 벨μ λ°©μ΄λ§μ ꡬμΆνμ΅λλ€.
2. **Application Tier (WAS): Apache Tomcat 10**
- μλ° κΈ°λ°μ λΉμ¦λμ€ λ‘μ§(JSP)μ΄ λμκ°λ ν΅μ¬ μμ§μ λλ€.
3. **Cache Tier: Redis**
- λΉλ²νκ² μ‘°νλλ λ°μ΄ν°λ μΈμ μ 보λ₯Ό λ©λͺ¨λ¦¬μ μΊμ±νμ¬ DBμ λΆνλ₯Ό μ€μ΄κ³ μλ΅ μλλ₯Ό νκΈ°μ μΌλ‘ λμμ΅λλ€.
4. **Data Tier (DB): PostgreSQL 16**
- λͺ¨λ ν¬μ€ν κ³Ό μ¬μ©μ λ°μ΄ν°λ₯Ό μμ£Ό μμ μ μΌλ‘ μ μ₯νλ μ μ₯μμ λλ€.
### π‘οΈ λ³΄μ λ° μ΅μ ν ν¬μΈνΈ
- **UFW λ°©νλ²½:**
μλ² OS μμ€μμ νμ©λ IP μΈμλ λͺ¨λ μ κ·Όμ μμ² μ°¨λ¨ν©λλ€.
λ리λκ³Ό μ κ° ν¨κ» μΌκ΅¬μ΄λΈ μ΄ μΈνλΌλ μμΌλ‘ μ΄λ€ λκ·λͺ¨ νΈλν½λ 견λλΌ μ μλ νΌνΌν λΏλ¦¬κ° λ κ²μ λλ€! π«‘π