목차
[TIL] Day 58 — AWS Elastic Beanstalk + Docker nginx + DB 리턴 타입 설계 (1/9)
날짜: 2026-01-09
기술 스택: AWS Elastic Beanstalk Docker Spring Boot Thymeleaf
한 줄 요약: Docker를 활용한 AWS 완전 관리형 서비스 배포 테스트 + DB 작업 시 int vs void 리턴 타입 설계 기준
AWS Elastic Beanstalk 개요
Elastic Beanstalk EC2, 로드 밸런서, 오토 스케일링 등 인프라 프로비저닝을 자동화하는
AWS의 완전 관리형 애플리케이션 배포 서비스
→ 인프라 직접 관리 없이 코드만 올리면 되는 PaaS 구조
Docker Nginx 기본 실행
docker run -d -p 80:80 nginx
| 옵션 | 의미 |
|---|---|
-d |
Detached mode — 백그라운드에서 컨테이너 실행 |
-p 80:80 |
호스트:80 → 컨테이너:80 포트 포워딩 |
nginx |
실행할 Docker 이미지명 |
브라우저에서 localhost:80 접속으로 nginx 동작 확인
DB 작업 리턴 타입 설계 기준 — int vs void
int 타입 — 성공/실패 검증이 중요한 경우
// DB에서 영향받은 row 수를 반환 (0이면 없는 데이터)
int result = memberRepository.deleteMember(memberId);
if (result == 0) {
throw new MemberNotFoundException("존재하지 않는 회원입니다");
}
적용 시점: 삭제, 수정 등 작업 성공 여부를 반드시 추적해야 하는 로직
void 타입 — 단순 실행이 목적인 경우
// 반환값 체크 없이 실행만 시도
public void deleteAccessLog(long logId) {
accessLogRepository.delete(logId);
}
적용 시점: 실패해도 메인 비즈니스 로직에 큰 영향이 없는 부가 작업 (로그 삭제 등)
설계 진단 체크포인트
"이 작업이 실패하면 사용자에게 알림이 가야 하는가?"
→ YES →int/ NO →void
더 알아볼 것
- Elastic Beanstalk vs EC2 직접 배포 비교 — 언제 어떤 방식을 선택해야 하는가
- Docker 이미지 생명주기 (
pull,run,stop,rm,images) -
docker run -p포트 포워딩 원리 이해 - Spring MyBatis에서
int리턴값을 활용한 예외 실제 코드 작성 연습 - Thymeleaf 에러 페이지 구성 방법
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| [TIL] Day 63 — Java Stream/Lambda + Docker WordPress 환경 구성 (1/16) (0) | 2026.06.08 |
|---|---|
| [TIL] Day 62 — Eclipse에서 Lambda 함수 실습 (1/15) (0) | 2026.06.08 |
| Day 57 (1/8) - [AWS 기초] 리눅스 쉘(Shell) 표준 입출력 및 필수 명령어 요약 (0) | 2026.02.27 |
| Day 56 (1/7) - AWS 서버 자동화 배포 및 Crontab 무중단 재시작 스크립트 구현 (0) | 2026.02.23 |