<aside>

</aside>

μ•ˆλ…•ν•˜μ„Έμš”! λ“œλ””μ–΄ FastAPI κ°•μ˜μ˜ λ§ˆμ§€λ§‰ μ—¬μ •, 8λΆ€ '배포 및 운영'의 λ„€ 번째 μ‹œκ°„, 41κ°•μž…λ‹ˆλ‹€! πŸŽ‰

μ§€λ‚œ 40κ°•μ—μ„œλŠ” AWS EC2 μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  Docker μ»¨ν…Œμ΄λ„ˆλ₯Ό λ°°ν¬ν•˜λ©° Nginx λ¦¬λ²„μŠ€ ν”„λ‘μ‹œ μ„€μ •κΉŒμ§€ μ™„λ£Œν•˜λŠ” μ‹€μŠ΅μ„ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. 이제 μ΄λ‘ μ μœΌλ‘œλŠ” 우리의 APIκ°€ ν΄λΌμš°λ“œ μœ„μ—μ„œ λ™μž‘ν•˜κ³  μžˆλŠ” μ…ˆμ΄μ£ ! ☁️

ν•˜μ§€λ§Œ λ‹¨μˆœνžˆ λ°°ν¬ν•˜λŠ” κ²ƒμ—μ„œ λλ‚˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ‹€μ œ μ„œλΉ„μŠ€λ₯Ό μ•ˆμ •μ μœΌλ‘œ μš΄μ˜ν•˜κΈ° μœ„ν•΄μ„œλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ 잘 λŒμ•„κ°€κ³  μžˆλŠ”μ§€ **μ§€μ†μ μœΌλ‘œ κ°μ‹œ(λͺ¨λ‹ˆν„°λ§)**ν•˜κ³ , λ¬Έμ œκ°€ λ°œμƒν–ˆμ„ λ•Œ 원인을 νŒŒμ•…ν•  수 μžˆλ„λ‘ **기둝(λ‘œκΉ…)**을 남기고, μ‚¬μš©μžκ°€ λŠ˜μ–΄λ‚¨μ— 따라 **μ„±λŠ₯을 μœ μ§€ν•˜κ³  ν™•μž₯(μŠ€μΌ€μΌλ§)**ν•˜λŠ” λ“±μ˜ 운영(Operations) 츑면을 κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.

이번 μ‹œκ°„μ—λŠ” μ΄λ ‡κ²Œ 배포된 FastAPI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ•ˆμ •μ μ΄κ³  효율적으둜 μš΄μ˜ν•˜κΈ° μœ„ν•œ λͺ‡ κ°€μ§€ μ€‘μš”ν•œ 팁과 κ°œλ…λ“€μ„ μ†Œκ°œν•©λ‹ˆλ‹€. λ©€ν‹° μ½”μ–΄ CPUλ₯Ό μ΅œλŒ€ν•œ ν™œμš©ν•˜κΈ° μœ„ν•œ λ©€ν‹° μ›Œμ»€ μ‹€ν–‰ 방법을 λ‹€μ‹œ ν•œλ²ˆ κ°•μ‘°ν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μƒνƒœλ₯Ό νŒŒμ•…ν•˜κΈ° μœ„ν•œ λ‘œκΉ…κ³Ό λͺ¨λ‹ˆν„°λ§μ˜ μ€‘μš”μ„±, 그리고 μ„œλΉ„μŠ€ 규λͺ¨ ν™•μž₯에 λŒ€λΉ„ν•˜λŠ” μŠ€μΌ€μΌλ§ μ „λž΅κ³Ό 배포 μžλ™ν™”λ₯Ό μœ„ν•œ CI/CD κ°œλ…κΉŒμ§€, 운영 ν™˜κ²½μ—μ„œ ν•„μš”ν•œ 핡심 κ³ λ € 사항듀을 μ§šμ–΄λ³΄κ² μŠ΅λ‹ˆλ‹€! πŸ“ˆπŸ“ŠπŸ› οΈ


πŸ“š 챕터 μ†Œκ°œ

8λΆ€μ˜ λ§ˆμ§€λ§‰ μ‹€μ§ˆμ  λ‚΄μš©. 40κ°•μ—μ„œ EC2에 λ°°ν¬ν•œ FastAPI μ•±μ˜ μ•ˆμ •μ  μš΄μ˜μ„ μœ„ν•œ 핡심 고렀사항 ν•™μŠ΅. λ‹¨μˆœ 싀행을 λ„˜μ–΄, μ‹€μ œ μ„œλΉ„μŠ€μ˜ μ„±λŠ₯, μ•ˆμ •μ„±, ν™•μž₯μ„± 확보λ₯Ό μœ„ν•œ μ£Όμš” κ°œλ… 및 μ‹€μ²œ λ°©μ•ˆ μ†Œκ°œ.

λ¨Όμ €, μ„œλ²„ λ©€ν‹° μ½”μ–΄ CPU μžμ› μ΅œλŒ€ ν™œμš©μ„ μœ„ν•œ Gunicornκ³Ό Uvicorn λ©€ν‹° μ›Œμ»€ μ‚¬μš©λ²• μž¬κ°•μ‘°. λ‹€μŒμœΌλ‘œ, 이벀트/였λ₯˜ 좔적 및 디버깅에 ν•„μˆ˜μ μΈ **μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‘œκΉ…(Logging)**의 μ€‘μš”μ„± 및 κΈ°λ³Έ μ„€μ • 방법 ν•™μŠ΅.

λ˜ν•œ, μ•±/인프라 μƒνƒœμ˜ 지속적 κ°μ‹œ, 문제 μ‘°κΈ° 발견 및 μ„±λŠ₯ 뢄석을 μœ„ν•œ λͺ¨λ‹ˆν„°λ§(Monitoring) ν•„μš”μ„± ν•™μŠ΅. μ£Όμš” λͺ¨λ‹ˆν„°λ§ μ§€ν‘œ(CPU, λ©”λͺ¨λ¦¬ λ“±) 및 κ΄€λ ¨ 도ꡬ(AWS CloudWatch, APM λ“±) μ†Œκ°œ.

μ‚¬μš©μž 증가에 λ”°λ₯Έ μ„±λŠ₯ μœ μ§€λ₯Ό μœ„ν•œ ν™•μž₯(Scaling) μ „λž΅(수직 vs μˆ˜ν‰) 비ꡐ 및 AWS μ˜€ν†  μŠ€μΌ€μΌλ§ κ°œλ… ν•™μŠ΅. λ§ˆμ§€λ§‰μœΌλ‘œ, μ•± μ—…λ°μ΄νŠΈ/배포 μžλ™ν™”λ₯Ό ν†΅ν•œ μ•ˆμ •μ„±/속도 ν–₯상을 μœ„ν•œ CI/CD νŒŒμ΄ν”„λΌμΈ κΈ°λ³Έ κ°œλ… 및 무쀑단 배포 ν•„μš”μ„± μ†Œκ°œ.


🎯 챕터 λͺ©ν‘œ

이 κ°•μ˜λ₯Ό 마치면 μ—¬λŸ¬λΆ„μ€ λ‹€μŒμ„ ν•  수 있게 λ©λ‹ˆλ‹€:

  1. Gunicorn/Uvicorn을 μ‚¬μš©ν•œ λ©€ν‹° μ›Œμ»€ ν”„λ‘œμ„ΈμŠ€ μ‹€ν–‰ 방법 및 이점 μ„€λͺ….
  2. 운영 ν™˜κ²½μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‘œκΉ…μ˜ μ€‘μš”μ„± 및 κΈ°λ³Έ μ„€μ • κ°œλ… 이해.
  3. μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λͺ¨λ‹ˆν„°λ§ ν•„μš”μ„± 및 μ£Όμš” μ§€ν‘œ(CPU, λ©”λͺ¨λ¦¬, μ§€μ—° μ‹œκ°„ λ“±) 식별.
  4. 수직/μˆ˜ν‰ ν™•μž₯ 차이점 μ„€λͺ… 및 μ˜€ν†  μŠ€μΌ€μΌλ§ κ°œλ… 이해.
  5. CI/CD κΈ°λ³Έ κ°œλ… 및 이점 이해.
  6. μ•ˆμ •μ  μ„œλΉ„μŠ€ μš΄μ˜μ„ μœ„ν•œ μ£Όμš” 고렀사항 인지.