Skip to content

DGAZA-max/spring-cloud-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring-cloud-architecture

클라우드_아키텍처 설계 & 배포

개요

AWS 클라우드에서 배포와 운영하는 것을 단계별로 구현하였습니다.

핵심 구현 사항

  • 예산 설정
  • 네트워크 구축 및 핵심 기능 배포
  • DB 분리 및 보안
  • 프로필 사진 기능 추가

주요 구현 기능

[LV 0] 비용 관리 (AWS Budget)

목적: 예기치 못한 요금 발생 방지 ($100 예산, 80% 도달 시 알림)

image image

[LV 1] 네트워크 및 핵심 기능 구축

인프라: VPC 내 Public/Private Subnet 분리 및 EC2 배포

주요 API:

  • POST /api/members: 팀원 정보(이름, 나이, MBTI) 저장
  • GET /api/members/{id}: 팀원 정보 조회

운영 전략:

  • local/prod 프로필 분리 (H2 / MySQL)
image image image image image image

[LV 2] DB 분리 및 보안 강화

인프라: MySQL RDS 구축 및 EC2 전용 보안 그룹 체이닝 적용

보안: Parameter Store(SSM)를 통한 DB 접속 정보 주입

Actuator 확장: /actuator/info를 통해 team-name 노출

image image

[LV 3] 프로필 사진 기능 및 권한 관리 (S3)

인프라: 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분

image image

Tech Stack

분류 기술 스택
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

About

클라우드_아키텍처 설계 & 배포

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages