Life Logs && *Timeline

  • Kotlin/Ktor 백엔드를 위한 AWS EC2 인스턴스 추천

    기술 스택과 사용 패턴을 고려했을 때, 다음과 같이 3가지 옵션을 추천드립니다:

    📊 추천 구성 비교

    구분Option 1: C7i-flexOption 2: M7i-flexOption 3: C7g (Graviton)
    인스턴스c7i-flex.xlargem7i-flex.xlargec7g.xlarge
    vCPU444
    메모리8GB8GB8GB
    프로세서Intel Xeon (4세대)Intel Xeon (4세대)AWS Graviton3
    대역폭Up to 10GbpsUp to 10GbpsUp to 10Gbps
    시간당 요금~$0.19~$0.22~$0.15
    월 비용~$136~$158~$108

    1️⃣ 최고 성능: C7i-flex.xlarge ⭐ 추천

    text비용: 약 $136/월 (약 ₩180,000)
    특징: Intel 최신 세대, CPU 최적화
    

    장점:

    • ✅ Ktor 서버에 최적화된 고성능
    • ✅ Single-threaded 성능 우수 (JVM 호환성)
    • ✅ 기존 세대(C6i) 대비 19% 더 나은 가격대비 성능
    • ✅ 트래픽 스파이크 처리 능력 우수

    단점:

    • ❌ Graviton 대비 25-30% 비싼 비용
    • ❌ 전력 소비량 더 많음

    추천 대상:

    • API 응답성이 중요한 서비스
    • 높은 동시성 처리 필요
    • 다양한 x86 라이브러리 활용

    2️⃣ 균형형: M7i-flex.xlarge

    text비용: 약 $158/월 (약 ₩210,000)
    특징: 범용 인스턴스, CPU+메모리 밸런스
    

    장점:

    • ✅ CPU와 메모리 밸런스 제공
    • ✅ 데이터베이스 캐싱, 메모리 집약적 작업에 좋음
    • ✅ 미래 확장 유연함

    단점:

    • ❌ C7i 대비 비쌈 (필요 없는 메모리)
    • ❌ Ktor 서버 같은 CPU 집약적 작업에는 오버스펙

    추천 대상:

    • Ktor + Redis/캐시 함께 구성
    • 복합 워크로드 (API + 배치 작업)

    3️⃣ 최고 비용 효율: C7g.xlarge (Graviton3) 🚀

    text비용: 약 $108/월 (약 ₩143,000)
    특징: ARM 기반, 에너지 효율, 30% 저렴
    

    성능 비교:

    • Kotlin/JVM: Graviton이 8vCPU 이상에서 진정한 이점 발휘
    • 당신의 4vCPU 기준으로는 Intel과 약 5-10% 성능차
    • 하지만 30% 저렴하므로 가성비는 최고

    장점:

    • ✅ 월 $50 이상 절감 (연 $600)
    • ✅ 전력 효율 60% 더 좋음 (에너지 비용)
    • ✅ 최신 ARM 지원 (모던 Kotlin 완벽 호환)
    • ✅ AWS에서만 제공 (가격 경쟁력 높음)

    단점:

    • ❌ 저 동시성(스레드 수 < 4)에서 Intel이 약간 나음
    • ❌ 일부 레거시 x86-only 라이브러리 문제 (대부분 해결됨)
    • ❌ 더 빠른 부팅은 되지만 미묘한 차이

    추천 대상:

    • zeliai.com 같은 스타트업 (비용 최소화 필수)
    • API 집약적 워크로드
    • ✅ 향후 멀티 인스턴스 확장 계획

    💰 월별 비용 계산 (온디맨드 기준)

    서울 리전 (ap-northeast-2) 기준 (2026년 1월 현재)

    C7i-flex.xlarge

    text시간당 요금:     $0.19 USD
    일일 비용:       $0.19 × 24 = $4.56
    월 비용:         $0.19 × 730 = $138.70 USD
    KRW 환산:        ~₩184,500 (1 USD = 1,330 KRW 기준)
    
    연간 비용:       $1,662.80 USD (~₩2,212,000)
    

    M7i-flex.xlarge

    text시간당 요금:     $0.22 USD
    월 비용:         $0.22 × 730 = $160.60 USD
    KRW 환산:        ~₩213,600
    
    연간 비용:       $1,927.20 USD (~₩2,563,000)
    

    C7g.xlarge (Graviton3) 🏆

    text시간당 요금:     $0.15 USD
    월 비용:         $0.15 × 730 = $109.50 USD
    KRW 환산:        ~₩145,635
    
    연간 비용:       $1,314 USD (~₩1,749,000)
    

    🎯 최종 추천

    우선순위추천이유
    1순위C7g.xlarge (Graviton)가성비 최고 + 비용 30% 절감 + 충분한 성능
    2순위C7i-flex.xlarge최고 성능 필요시 선택 (약 $30/월 추가)
    3순위M7i-flex.xlarge캐시/메모리 집약적이면 선택

    📈 스케일링 기준

    • RPS 10,000 이상 → c7i.2xlarge 또는 c7g.2xlarge로 업그레이드
    • 데이터베이스 읽기 많음 → m7i-flex 고려
    • 멀티 인스턴스 구성 → ALB 뒤 c7g 3~4개 권장

    🔧 추가 최적화 팁

    kotlin// Ktor 성능 최적화
    embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
        // Netty 워커 스레드 = CPU 코어 수 (4 → 4 threads)
        // GraalVM native-image 사용 (부팅 30ms, 메모리 50MB)
        // 코루틴 최적화로 메모리 사용 ↓
    }.start(wait = true)
    

    비용 절감 전략:

    1. Graviton C7g 사용 → 기본 30% 절감
    2. Reserved Instance (1년 약정) → 추가 30% 절감 가능
    3. Spot Instances (내구성 필요 시) → 60-70% 절감 가능

    현재 상황이면 C7g.xlarge + Reserved Instance 1년 약정으로 월 ~$75 가능 💎

    인스턴스안전한 동시 사용자총 사용자 기준월 비용추천 대상
    C7g.xlarge2,000~4,000명8,000~20,000명$108스타트업
    C7i-flex.xlarge2,000~4,000명8,000~20,000명$136성능 우선
    C7i.2xlarge4,000~8,000명20,000~40,000명$280성장 단계
    3×C7g (로드밸런싱)6,000~12,000명25,000~60,000명$324확장 단계

    C7g.xlarge 1개로 시작 → 트래픽에 따라 2~3개로 확장하는 로드밸런싱 구조 권장 💎