| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- SpringLegacy
- DDD
- 커뮤니티서버
- AOP
- 전전긍긍
- 냄새라도
- 로그백
- 공통기술
- JDBC
- MVC요청플로우
- 공통규약
- 디스크i/o
- OOP
- 문제선택근거
- Transaction
- string
- TDD
- JPA
- springsecurity
- 설정세팅
- SEQUENCE
- 사면초가
- 이벤트핸들러this
- 이벤트핸들러등록
- model
- 클린아키텍처
- 단위테스트
- Ajax
- MVC
- index
- Today
- Total
개발이군고구마
[우당탕탕 배포공부] 4. 과금 방지와 스프링단 설정 (리전/AZ와 .env) 본문
시리즈 순서
1. 요구조건 파악 : 배포 프로세스 결정하기 (요구사항, 다른 옵션과 비교, 선택 이유)
2. AWS EC2와 ALB 세팅
3. AWS RDS와 S3+CloudFront세팅
4. 과금 방지와 스프링단 설정 (리전/AZ와 .env)
5. 도커와 CI/CD로의 확장 (추후)
1. 아직 미완 상태
- 프론트엔드 Netlify 배포 및 도메인 연결
- Spring Security + CORS 실전 적용
- CI/CD 연결 (추후 작성)
2. 과금을 방지
- AWS Budget
ALB를 사용한 이상 과금이 되는 것은 막을 수 없었다.
퍼블릭 ip가 EC2에 할당된 것 외에 ALB 에도 할당이 되어있기 때문에, ALB에선 요금이 안나가더라도 VPC 에서 시간당 요금이 발생하였다.
이후 트래픽이 발생하게 되면 리스닝과 타켓 그룹에 대한 요청 값을 기준으로 과금이 된다고 한다.
따라서 AWS Budget에 20달러 제한을 걸어두었다.
- RDS의 multi-AZ 문제
VPC는 ap-northeast-2 (서울)을 기준으로 생성이 되었다. 이 아래 ap-northeast-2a, ap-northeast-2b, ap-northeast-2c, ap-northeast-2d 등의 여러 AZ로 구성되어있다.

RDS를 처음 생성할 때 프리티어 옵션을 선택하면 자동으로 리전 안에 AZ 를 선택하여 RDS 서버를 만들어준다.
그때의 AZ 가 EC2의 것과 달라서 혹시나 과금이 되는 것이 아닌가 고민하였지만, 각각의 다른 서버가 각각 1개의 AZ 를 가진 것은 단일 AZ 라 보기 때문에 다중 AZ 과금은 되지 않는다고 한다.
(속성에 보면 다중 AZ 인지 아닌지 확인이 가능한 부분이 있다)
3. 모니터링
- SSL(ACM) 인증서 만료일 확인
- ALB 과금 모니터링
- S3 과용량/미사용 버킷 정리
- 대용량 이미지 등록 기능은 없기 때문에, presigned url은 추후에 사용하기로 함
- batch를 사용하여 이미지를 지우는 방법을 생각하고 있음
4. 스프링단 설정
EC2 에서 띄운 스프링이 잘 실행되는 것을 확인하기 위해
로컬에서 .env 파일을 만들어 변수들 (RDS 설정 정보) 을 넣어준 후 EC2 jar 파일이 있는 경로에 옮겨준 후 스프링을 띄워본다.
💥 윈도우에서 작성된 .env 파일이 리눅스 파일로 이동함에 따라 줄바꿈 이슈가 생겨 .env 파일을 읽지 못하는 경우가 있다.
- 이럴 땐 dos2unix .env 라는 명령어로 해당 파일을 리눅스가 읽을 수 있는 텍스트 파일로 변환해주면 해결이 된다.
☑️ 이로써 최소한의 작업으로 EC2 안에 작성한 Spring 어플리케이션이 실행되었으며, 가비아에 등록한 요청 도메인을 통해 EC2 내로 접근하는 것까지 완료되었다.
'Cloud Deploy' 카테고리의 다른 글
| [멱살잡고 DevOps] 1. Docker Compose와 ECS (컨테이너의 분산 배포) (2) | 2025.07.14 |
|---|---|
| [GIT] rebase 또는 merge main 으로 브랜치 현행화 (0) | 2025.06.01 |
| [우당탕탕 배포공부] 3. AWS 세팅 2 - AWS RDS와 S3+CloudFront세팅 (0) | 2025.05.17 |
| [우당탕탕 배포공부] 2. AWS 세팅 1 - EC2와 ALB 세팅 (5) | 2025.05.16 |
| [우당탕탕 배포공부] 1. 배포 프로세스 결정하기 (요구 조건 파악) (0) | 2025.05.11 |