AWS 프리 티어(Free Tier)로 블로그 방문자 수, 직접 만들어보세요!
AWS 프리 티어(Free Tier)를 활용하여 블로그 방문자 수를 자체적으로 집계하는 방법을 소개하며, 데이터 분석(Data Analysis)의 기초를 다룸
람다(Lambda) 함수, 다이나모DB(DynamoDB), API 게이트웨이(API Gateway)를 사용하여 방문자 수 카운터를 구축하고, 서버리스(Serverless) 아키텍처를 구현
API 게이트웨이(API Gateway)를 제외한 모든 서비스가 프리 티어(Free Tier)에 해당하며, 월 10,000뷰 기준 약 3.5센트의 비용 발생으로 저렴한 운영 비용(Low Operational Cost)을 강조
CDK(Cloud Development Kit)를 통해 인프라를 코드(Code)로 정의하고 배포하며, 자동화된 배포(Automated Deployment) 및 관리의 편의성을 제공
서버리스(Serverless) 아키텍처의 장점
본 튜토리얼은 서버리스(Serverless) 아키텍처를 활용하여 블로그 방문자 수 카운터를 구축한다.
자동 확장성(Automatic Scalability): 트래픽 변화에 따라 자동으로 리소스를 조절하여 가용성(Availability) 및 비용 효율성(Cost Efficiency)을 확보
운영 부담 감소(Reduced Operational Burden): 서버 관리, 패치, 업데이트 등 인프라 관리 작업을 AWS가 대신 처리
유지보수 용이성(Ease of Maintenance): 코드 배포 및 업데이트가 간편하며, CI/CD 파이프라인(CI/CD Pipeline) 구축을 통해 자동화 가능
결과적으로 서버리스(Serverless)는 소규모 프로젝트나 트래픽 변동이 심한 서비스에 적합하며, 개발자는 비즈니스 로직(Business Logic) 구현에 집중할 수 있다.
다이나모DB(DynamoDB)를 활용한 데이터 저장
본문에서는 다이나모DB(DynamoDB)를 사용하여 방문자 수 데이터를 저장한다.
복합 키(Composite Keys): 페이지 경로(Path)와 카운터(Counter)를 조합하여 데이터 접근 효율성(Data Access Efficiency) 향상
TTL(Time to Live): 자동 삭제 기능을 통해 오래된 데이터를 정리하여 저장 공간(Storage Space) 관리 자동화
원자적 카운터(Atomic Counters): `UpdateExpression`을 사용하여 경합 조건(Race Condition) 없이 안전하게 카운터 증가
다이나모DB(DynamoDB)는 NoSQL 데이터베이스(NoSQL Database)로, 높은 가용성(High Availability)과 확장성(Scalability)을 제공하며, 서버리스(Serverless) 환경에 최적화되어 있다.
CDK(Cloud Development Kit)를 이용한 인프라 관리
이 튜토리얼은 CDK(Cloud Development Kit)를 사용하여 인프라를 코드(Code)로 정의하고 배포한다.
인프라스트럭처 애즈 코드(Infrastructure as Code): TypeScript(TypeScript)로 인프라를 정의하여 버전 관리(Version Control) 및 재사용(Reusability) 용이
단일 명령 배포(Single Command Deployment): `cdk deploy` 명령으로 모든 리소스를 한 번에 배포하여 배포 자동화(Deployment Automation) 및 시간 절약
CORS(Cross-Origin Resource Sharing) 설정: API 게이트웨이(API Gateway)에서 CORS(Cross-Origin Resource Sharing)를 설정하여 웹 브라우저(Web Browser)에서의 접근 제어
CDK(Cloud Development Kit)는 AWS 리소스를 프로그래밍 방식으로 관리할 수 있게 해주며, 인프라 관리의 효율성(Efficiency)을 극대화한다.
AWS 프리 티어(Free Tier)의 활용
본 튜토리얼은 AWS 프리 티어(Free Tier)를 최대한 활용하여 비용을 절감한다.
다이나모DB(DynamoDB) 및 람다(Lambda): 대부분의 개인 블로그(Personal Blog) 트래픽은 프리 티어(Free Tier) 내에서 처리 가능
API 게이트웨이(API Gateway): 트래픽이 증가함에 따라 비용이 발생하지만, 월 10,000뷰 기준 3.5센트로 저렴한 비용(Low Cost)
빌링 알람(Billing Alarm): 예상치 못한 비용 발생을 방지하기 위해 $5 알람 설정 권장
AWS 프리 티어(Free Tier)는 개인 개발자(Individual Developer)나 소규모 프로젝트(Small Project)에 유용하며, 클라우드(Cloud) 환경을 경험할 수 있는 좋은 기회를 제공한다.