AWS 클라우드에서 배포와 운영하는 것을 단계별로 구현하였습니다.
핵심 구현 사항
- 예산 설정
- 네트워크 구축 및 핵심 기능 배포
- DB 분리 및 보안
- 프로필 사진 기능 추가
목적: 예기치 못한 요금 발생 방지 ($100 예산, 80% 도달 시 알림)
인프라: VPC 내 Public/Private Subnet 분리 및 EC2 배포
주요 API:
- POST /api/members: 팀원 정보(이름, 나이, MBTI) 저장
- GET /api/members/{id}: 팀원 정보 조회
운영 전략:
- local/prod 프로필 분리 (H2 / MySQL)
인프라: MySQL RDS 구축 및 EC2 전용 보안 그룹 체이닝 적용
보안: Parameter Store(SSM)를 통한 DB 접속 정보 주입
Actuator 확장: /actuator/info를 통해 team-name 노출
인프라: S3 버킷 생성 (퍼블릭 액세스 차단)
권한 관리: IAM Role을 EC2에 연결하여 Access Key 없이 S3 접근 권한 확보
핵심 API:
-
POST /api/members/{id}/profile-image: S3 업로드 및 DB URL 업데이트
-
GET /api/members/{id}/profile-image: 7일 유효기간의 Presigned URL 반환
Date=20260312T232803 만료 시간 : 3월 19일 22시 39분
| 분류 | 기술 스택 |
|---|---|
| Framework | Spring Boot |
| Database | H2 (Local), AWS RDS MySQL (Prod) |
| Infra | AWS EC2, VPC, S3, RDS, Parameter Store |
| Security | IAM Role (Access Key-less) |
| Monitoring | Spring Boot Actuator |