AWS로 풀스택 전자상거래 플랫폼 구축
Source: Dev.to
번역을 진행하려면 전체 텍스트(코드 블록 및 URL을 제외한 본문)를 제공해 주시겠어요? 텍스트를 받는 대로 요청하신 대로 한국어로 번역해 드리겠습니다.
소개
최근에 이미지 업로드, 결제 처리, 주문 추적 및 관리자 대시보드를 포함한 맞춤형 선물 주문을 처리하는 전자상거래 웹사이트를 완전한 서버리스 아키텍처로 구축했습니다. 이 글에서는 기술적 결정, 아키텍처 패턴, 그리고 배운 교훈들을 살펴봅니다.
단계별
- Landing Page – 고객이 제품에 대해 알아보고 **“Order Now.”**을 클릭합니다.
- Customization – 고객이 맞춤 메시지를 작성하고 선택적으로 사진을 업로드합니다.
- Address Entry – 고객이 수령인의 배송 주소와 결제 정보를 입력합니다.
- Payment – 고객이 결제 게이트웨이로 리디렉션됩니다.
- Success – 결제 후 고객은 주문 ID와 추적 링크를 확인합니다.
- Email – 고객이 주문 상세가 포함된 확인 이메일을 받습니다.
- Tracking – 고객은 주문 ID를 사용해 언제든지 주문 상태를 확인할 수 있습니다.
이메일 기능
- 이메일 클라이언트 호환성을 위한 인라인 CSS가 포함된 HTML 템플릿.
- 다중 관리자 수신자.
- 관리자가 고객에게 직접 회신할 수 있도록 하는 Reply‑to 헤더.
- 주문 상세 정보를 읽기 쉽고 처리하기 편하도록 포맷.
배포 자동화
전체 배포가 자동화됩니다:
- 코드를 GitHub에 푸시합니다.
- Amplify가 변경을 감지하고, Next.js 애플리케이션을 빌드하며, 환경 변수를 주입하고, CloudFront CDN에 배포합니다.
- 사이트가 약 305 분 안에 라이브됩니다.
주요 장점
- Git 기반 배포 – GitHub에 푸시 → 자동 AWS 배포.
- 내장 CI/CD – Jenkins나 GitHub Actions가 필요 없습니다.
- 무료 SSL 인증서 – HTTPS가 자동으로 활성화됩니다.
- 글로벌 CDN – CloudFront 포함.
- 맞춤 도메인 – 손쉬운 DNS 설정.
- 환경 변수 – 보안 비밀 관리.
- 프리뷰 배포 – 병합 전 PR을 테스트합니다.
Source: …
AWS 서비스
AWS Amplify Gen 2
What is it?
완전한 개발 플랫폼으로 웹 애플리케이션의 호스팅, CI/CD, 백엔드 인프라를 모두 처리합니다. Amplify의 2세대 버전입니다.
Why I chose it
- Git 기반 배포 (push → 자동 배포).
- 내장 CI/CD (외부 파이프라인 불필요).
- 무료 SSL 인증서.
- CloudFront를 통한 글로벌 CDN.
- 간단한 커스텀 도메인 설정.
- 안전한 환경 변수 관리.
- PR 테스트용 프리뷰 배포.
How it’s used – Next.js 프론트엔드를 호스팅하고, CI/CD 파이프라인을 실행하며, CloudFront 배포를 제공합니다.
Amazon DynamoDB
What is it?
완전 관리형 NoSQL 데이터베이스로, 어떤 규모에서도 싱글 디지털 밀리초 성능을 제공합니다. 서버리스이며 프로비저닝, 패치, 관리가 필요 없습니다.
Why I chose it
- 자동 스케일링이 가능한 서버리스.
- 요청당 요금제.
- 일관된 저지연.
- AWS와의 긴밀한 통합.
How it’s used – 주문 데이터, 사용자 프로필, 제품 정보를 저장합니다.
Amazon S3
What is it?
데이터 양에 제한이 없는 객체 스토리지로, AWS 스토리지의 핵심 역할을 합니다.
Why I chose it
- 무제한 스토리지.
- 보안 및 일시적 접근을 위한 프리사인드 URL.
- 저비용.
- 애플리케이션에서 직접 SDK 접근 가능.
Features used
- 프라이빗 버킷 (이미지가 공개적으로 접근되지 않음).
- 프리사인드 URL (1시간 만료).
- API 라우트를 통한 서버‑사이드 업로드 (브라우저가 버킷에 직접 접근하지 않음).
- 올바른
Content‑TypeMIME 처리. - 기본적으로 프라이빗으로 설정된 버킷 정책.
Amazon Cognito
What is it?
웹 및 모바일 앱을 위한 인증·인가·사용자 관리 서비스로, 직접 로그인 및 서드파티 아이덴티티 제공자를 지원합니다.
Why I chose it
- AWS와의 네이티브 통합.
- 내장 MFA 지원.
How it’s used – 고객 계정을 관리하고, 회원가입·로그인 흐름을 처리하며, API 엔드포인트를 보호합니다.
Amazon SES (Simple Email Service)
What is it?
거래, 마케팅, 알림 이메일을 전송하기 위한 클라우드 기반 이메일 서비스입니다.
How it’s used – 주문 확인, 배송 업데이트, 관리자 알림 등을 위에서 설명한 HTML 템플릿으로 전송합니다.
Amazon CloudFront (via Amplify)
What is it?
전 세계 400개 이상의 엣지 로케이션에서 저지연으로 콘텐츠를 전달하는 글로벌 CDN입니다.
How it’s used – Next.js 사이트의 정적 자산과 프리사인드 이미지 URL을 제공하여 전 세계에 빠르고 안전하게 전달합니다.