Skip to content

서버 마이그레이션 #144

@ckdals4600

Description

@ckdals4600

이슈 배경

기존 AWS 계정의 프리티어 기간 종료에 따라, 신규 계정으로 서버를 마이그레이션하고 인프라 환경을 재구축함.

작업 내용

1. VPC 및 네트워크 구성

  • VPC 생성: 가용 영역(AZ) A, C를 사용하여 고가용성 구조 기반 마련.
  • 서브넷 구성 (총 4개):
    • Public Subnet (A, C): 추후 Bastion Host 및 로드밸런서 배치 목적.
    • Private Subnet (A, C): 애플리케이션 서버 위치 목적.
  • 임시 라우팅 설정:
    • 현재 단일 인스턴스 운영 환경이므로, Private 서브넷에 위치할 서버를 임시로 인터넷 게이트웨이(IGW)와 연결하여 외부 통신 허용함.
    • 추후 NAT Gateway 도입 및 Bastion 구성을 통해 격리할 예정임.

2. EC2 (Compute) 설정

  • 인스턴스 생성: 프리티어 제한을 고려하여 단일 인스턴스로 운영함.
  • 환경 설정:
    • Docker 및 Docker Compose 설치.
    • Nginx 리버스 프록시 설정.
    • CI/CD를 위한 GitHub Actions Runner (또는 배포 스크립트) 설정.
  • 향후 계획: 애플리케이션 서버는 Private으로 완전 격리하고, 외부 접속용 Bastion Host를 별도 운영할 계획임.

3. 데이터 스토리지 설정

  • RDS (RDB): PostgreSQL 기반의 RDS 인스턴스 생성 및 연동.
  • ElastiCache (Cache):
    • 라이선스 이슈 및 비용 효율성을 고려하여 Redis OSS 대신 Valkey를 사용함.
    • Spring Boot에서는 기존 Redis 설정을 그대로 사용하여 호환되도록 구성함.

4. 프로젝트 설정 (build.gradle)

  • 의존성 변경:
    • 기존 MySQL Driver 제거.
    • PostgreSQL Driver 의존성 추가.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions