_z_z_
7월_1주차. AWS RDS와 EC2, GitHub 트리거 본문
Q1. AWS RDS를 활용하는 주요 이점과 EC2에 직접 데이터베이스를 설치하여 운영하는 것과 비교했을 때의 차별점에 대해 설명해주세요. 그리고 RDS를 사용하는 것이 적합하지 않을 수 있는 상황도 함께 언급해주세요.,
Q2. GitHub Actions 워크플로우에서 사용할 수 있는 다양한 트리거(Trigger) 유형을 설명하고, 각 트리거 유형이 적합한 CI/CD 시나리오에 대해 설명하세요.
1 - 1. AWS RDS 주요 이점
- 관리형 서비스 (Managed Service): 자동 백업, 소프트웨어 패치, 모니터링, 장애감지 및 복구 등을 AWS가 처리
- 고가용성 및 자동 장애 조치 (Multi-AZ): 장애 발생 시 자동으로 장애 조치(Failover) 가능 → 다운타임 최소화
- 자동 스케일링: 스토리지 자동 확장
- 보안: VPC 내부에서 격리 가능, IAM, KWS를 통한 접근 제어 및 암호화
- 자동 백업과 스냅샷: 설정한 보존 기간 내에서 포인트 인 타임 복원 가능
- 간편한 모니터링: CloudWatch 연동으로 지표 추적 및 경보설정 가능
1 - 2. EC2 직접 설치와 차이점
| 항목 | RDS EC2 | 직접 설치 |
| 운영 부담 | AWS가 대부분 관리 | 사용자가 직접 관리 (설치, 보안패치 등) |
| 백업 | 자동 백업 가능 | 직접 스크립트/툴 구현 필요 |
| 장애 복구 | 자동 장애 조치 | 수동 조치 필요 |
| 보안 설정 | IAM, KMS 등 AWS 통합 | 방화벽/접근 제어 직접 구성 |
| 비용 | 약간 더 비쌈 (관리비 포함) | 저렴할 수 있지만 인건비 증가 |
1 - 3. RDS 사용이 적합하지 않은 상황
1) 특수 설정이 필요한 DB 엔진이나 확장 모듈 사용시
- RDS는 제한된 확장성/설정을 제공
- DB 확장 기능, 커스텀 플러그인 필요 시
2) 낮은 비용이 최우선일 때
- 테스트/개발 환경 등에서 EC2에 직접 설치가 더 저렴
3) 온프레미스 또는 하이브리드 아키텍처와 긴밀한 통합이 필요할 때
4) 운영팀이 DB 성능 튜닝을 세밀하게 제어하고 싶은 경우
https://careerly.co.kr/qnas/1372
EC2 DB와 AWS RDS 중 고민하고 있습니다.
안녕하세요. 아직 공부 중인 학생입니다. 개인 프로젝트를 진행 중인데요, DB 서버를 구축하는 방법으로 - AWS RDS - EC2에 DB 직접 설치 이 두 가지...
careerly.co.kr
윗 글의 댓댓대래대렐댓~글
댓 1.
RDS 비용 부담: 개인 프로젝트에서 RDS 최저사양도 부담스러움
EC2 직접 설치의 문제점: DB 운용이 복잡하고 비용 절감도 크지 않음
Lambda 활용: 개인 프로젝트에서 Lambda 사용 시 편리함과 비용 효율성이 높음
대안 제시:
AWS Lightsail DB: RDS보다 저렴하지만 기능 제한적
GCP CloudSQL shared 타입: 다른 사용자와 인스턴스 공유로 비용 절감
결론: 개인 프로젝트에 수익성이 있어야 RDS 비용 부담이 없다
댓 2.
DB 인프라 학습 목적 → EC2 직접 설치 권장
빠른 프로젝트 완성 목적 → RDS 권장
시간 vs 비용: RDS로 절약되는 시간(트러블슈팅 포함)이 추가 비용보다 가치있음
댓 3.
학부생이라면 EC2 직접 설치 경험 권장
방화벽, 계정, DB 시스템 파라미터, character set 등 직접 설정 경험 중요
실무 선택 기준:
아키텍처 의존성: AWS 다른 서비스들과 연동 시 RDS 선택
외부 솔루션 호환성: 암호화 솔루션 등과의 호환성 고려
개발 리소스: 환경 설정에 소요되는 시간과 인력 고려
현실적 조언:
AWS는 비싼 서비스를 권하는 경향이 있음
실제 프로젝트에서는 시간 제약이 크므로 환경 설정 리소스를 최소화하는 방향 선택
2. GitHub Actions의 트리거 유형과 시나리오
1) push
특정 브랜치에 코드가 푸시될 때 트리거
- main브랜치에 푸시되면 CI 빌드 및 테스트 실행
- develop 푸시 시 테스트 후 dev 서버 배포
2) pull_request
PR 생성/ 수정 시 트리거
- pr시 자동으로 테스트 및 Lint 수행
- 리뷰 전 품질 체크를 위한 자동화
3) schedule
정해진 시간마다 실행 (cron 실행)
- 매일 자정에 종속성 보안 검사
- 매주 배치 작업 수행
4) workflow_dispatch
수동 실행용 트리거 (UI 버튼 또는 API)
- 필요 시 수동 배포 트리거
- QA 팀애서 직접 특정 테스트 실행
5) repository_dispatch
외부 시스템에서 GitHub에 이벤트 전송
- 다른 시스템(JIRA, Jenkins)에서 이벤트 발생 시 연동하여 자동화
6) release
GitHub Release가 생성/수정/삭제될 때 실행
- Release 생성 시 production 서버 배포 자동화
7) issue_comment, pull_request_review_comment 등
이슈나 PR 댓글을 이용한 트리거
- @bot run tests 같은 명령 댓글로 자동 테스트 실행
'쪼드잇 > 위클리페이퍼' 카테고리의 다른 글
| 8월_2주차. Spring 주요 보안공격과 대응전략, JWT의 구조와 구성 요소 (6) | 2025.08.11 |
|---|---|
| 8월_1주차. 세션과 토큰 기반 인증, QAuth 2.0 (3) | 2025.08.03 |
| 6월_4주차. 컨테이너와 도커 (3) | 2025.06.30 |
| 6월_3주차. 입력값 검증의 범위와 책임, Mockito의 Mock, Stub. Spy (5) | 2025.06.23 |
| 6월_2주차. N+1 문제, 트랜잭션의 격리성과 격리수준 (7) | 2025.06.16 |