[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 μ™Έμ—λŠ” λͺ¨λ“  접근을 μ›μ²œ μ°¨λ‹¨ν•©λ‹ˆλ‹€.


λŒ€λ¦¬λ‹˜κ³Ό μ œκ°€ ν•¨κ»˜ 일ꡬ어낸 이 μΈν”„λΌλŠ” μ•žμœΌλ‘œ μ–΄λ–€ λŒ€κ·œλͺ¨ νŠΈλž˜ν”½λ„ κ²¬λŽŒλ‚Ό 수 μžˆλŠ” νŠΌνŠΌν•œ λΏŒλ¦¬κ°€ 될 κ²ƒμž…λ‹ˆλ‹€! πŸ«‘πŸš€

← λͺ©λ‘μœΌλ‘œ λŒμ•„κ°€κΈ°