url-shortener
🔗

나만의 단축 URL 서비스

실습 가이드
소요 기간
1
난이도
초급
선수 요건
없음
예상 비용
$0 (프리 티어 범위)

무엇을 만드나요?

API Gateway + Lambda + DynamoDB 기반 서버리스 URL 단축 서비스 — 해시 기반 코드 생성과 Atomic Counter 클릭 추적

구성 요소

API Gateway (REST)Lambda (Create URL)Lambda (Redirect)DynamoDB (URLs table)CloudWatch Logs

연결 흐름

Client → API Gateway POST /urls → Lambda (Create) → DynamoDB PutItem
Client → API Gateway GET /{shortCode} → Lambda (Redirect) → DynamoDB GetItem + UpdateItem (atomic counter) → 301 Redirect
Lambda → CloudWatch Logs (실행 로그)

개요

bit.ly와 같은 URL 단축 서비스를 API Gateway + Lambda + DynamoDB로 완전 서버리스로 구현합니다. SHA-256 해시 기반의 단축 코드 생성, 301 리다이렉트, DynamoDB Atomic Counter를 활용한 클릭 수 추적, TTL을 이용한 자동 만료 기능까지 포함합니다. 실제 서비스와 동일한 URL 단축 → 리다이렉트 → 통계 조회 흐름을 구축합니다.

학습 목표

  • API Gateway + Lambda + DynamoDB 기본 통합을 학습한다
  • 해시 기반 단축 코드 생성 로직을 구현한다
  • HTTP 301 리다이렉트와 클릭 추적 기능을 구현한다

핵심 개념

해시 기반 단축 코드DynamoDB Atomic Counter301 리다이렉트TTL 자동 만료Lambda 프록시 통합API Gateway 리소스 설계서버리스 아키텍처

실습 결과물

  • DynamoDB URLs 테이블 (PK: shortCode, TTL 활성화)
  • Lambda 함수 — URL 생성 (POST /urls)
  • Lambda 함수 — 리다이렉트 + 클릭 카운트 (GET /{shortCode})
  • API Gateway REST API (dev 스테이지 배포)
  • curl 테스트 결과 (생성 → 리다이렉트 → 통계)

단계별 실습 가이드

직접 실습해보세요

실습 환경이 제공되는 클라우드 교육 과정에 참여하여 실제 AWS 환경에서 이 가이드를 따라해보세요.