ShopEasy AWS 배포 & 보안 실습

이커머스 웹 애플리케이션을 AWS에 배포하고, 보안 서비스를 적용하는 실습 과정

인프라 구축 → 서비스 연결 → 배포 완성 → 보안 강화 → 모니터링 & 정리

ShopEasy 이커머스 - 최종 배포 아키텍처
사용자
웹 브라우저
S3 정적 웹 호스팅
React 프론트엔드
(HTML/CSS/JS)
↓ API 요청
ShopEasy-VPC (10.0.0.0/16)
Public Subnet (10.0.1.0/24, 10.0.2.0/24)
Internet Gateway
인터넷 연결
EC2
Node.js API 서버
포트 5000
NAT Gateway
프라이빗 → 외부
Private Subnet (10.0.100.0/24, 10.0.101.0/24)
RDS MySQL
상품 / 주문 / 회원
IAM Role
EC2 인스턴스 프로파일
S3
리뷰 이미지
DynamoDB
리뷰 데이터
CloudWatch
모니터링
ShopEasy 아키텍처 구성 요소
실습 환경 안내

인프라 구축

Chapter 01

VPC 네트워크 구축

ShopEasy 전용 네트워크를 만들자 - VPC, 서브넷, IGW, NAT Gateway, 라우트 테이블

실습 VPC
Chapter 02

EC2 서버 배포

ShopEasy API 서버를 클라우드에 올리자 - EC2 인스턴스, 보안 그룹, Node.js 설치

실습 EC2

서비스 연결

Chapter 03

RDS 데이터베이스

SQLite를 진짜 데이터베이스로 교체하자 - RDS MySQL, DB 서브넷 그룹, 보안 그룹

실습 RDS
Chapter 04

IAM 역할 & 접근 제어

서버에 AWS 서비스 사용 권한을 안전하게 부여하자 - IAM 정책, 역할, 인스턴스 프로파일

실습 IAM

배포 완성

Chapter 05

S3 스토리지 + DynamoDB

리뷰 사진은 S3에, 리뷰 데이터는 DynamoDB에 저장하자

실습 S3 DynamoDB
Chapter 06

프론트엔드 S3 배포

쇼핑몰 화면을 S3에 배포하고 전체 서비스를 테스트하자

실습 S3 Hosting

보안 강화

Chapter 07

보안 그룹 최적화

SSH 접근을 제한하고 보안 그룹 규칙을 최적화하자

실습 보안 Security Group
Chapter 08

IAM 최소 권한

FullAccess를 제거하고 꼭 필요한 권한만 부여하자

실습 보안 IAM
Chapter 09

S3 버킷 보안

S3 버킷의 퍼블릭 접근을 최소화하고 안전하게 관리하자

실습 보안 S3
Chapter 10

KMS 데이터 암호화

RDS, S3, DynamoDB의 데이터를 KMS로 암호화하자

실습 보안 KMS
Chapter 11

Secrets Manager 비밀 관리

.env의 DB 비밀번호를 Secrets Manager로 안전하게 관리하자

실습 보안 Secrets Manager
Chapter 12

CloudTrail 감사 로깅

누가 언제 무엇을 했는지 API 호출을 기록하자

실습 보안 CloudTrail
Chapter 13

GuardDuty 위협 탐지

AWS 계정의 보안 위협을 자동으로 탐지하자

실습 보안 GuardDuty

모니터링 & 정리

Chapter 14

모니터링 & 리소스 정리

CloudWatch로 서비스를 모니터링하고, 실습 후 리소스를 반드시 정리하자

실습 CloudWatch