티스토리 뷰
[AI 서비스 개발] Github Action, AWS ECR, docker hub, EC2 배포 방법 비교
brave_sol 2025. 2. 1. 22:291. Github Actions → AWS EC2
[장점]
- 설정이 간단하고 빠르게 구현할 수 있다.
[단점]
- EC2에서 코드를 직접 가져와 빌드하는 방식이므로,빌드 속도가 느려지고 네트워크 비용이 발생할 수 있다.
- EC2가 저사양일 경우, Docker 빌드 속도가 느려지고 네트워크 병목 현상이 발생할 수 있다.
- git pull을 EC2에서 실행해야 하므로, GitHub Actions가 EC2에 SSH로 접근해야 하는데, 보안 이슈가 발생할 수 있다.
- .env 파일을 직접 관리해야하며, Docker를 재시작하면 .env 파일이 유실 될 수 있다.
2. Github Actions → Docker hub → AWS EC2
[장점]
- EC2에서 직접 Docker를 빌드 할 필요없이, Github Actions에서 미리 빌드 후 Docker Hub로 푸시하면 되기 때문에 EC2에서는 이미지를 pull하기만 하면 되므로 배포 속도가 더 빠르다.
- GithubAction이 EC2에 SSH로 직접 접근할 필요가 없어 보안적으로 더 안전하다.
[단점]
- Docker Hub의 Public repository를 사용할 경우 이미지가 누구에게나 공개되어 보안 문제가 발생할 수 있다.
- 무료 플랜에서 Docker Hub는 한 개의 private repository만 지원한다.
- 이미지 크기가 클 경우 다운로드 시간이 길어지고 배포 속도가 저하된다.
- Docker Hub에 직접 .env를 저장할 수 없으며, EC2에서 직접 관리해야 한다.
3. Github Actions → AWS ECR → AWS EC2
[장점]
- AWS 서비스와 연동이 용이하다.
- ECR은 AWS 네트워크 내부에서 동작하므로 EC2와 동일한 리전에 있을 경우 빠르게 이미지를 가져올 수 있다.
- AWS IAM 정책을 활용하여 ECR에 대한 접근 권한을 EC2에만 부여할 수 있다.
-Docker Hub처럼 공개될 위험이 없고, repository의 갯수 제한이 없다.
[단점]
- (1~3 공통) 파일 변경시, 기존 컨테이너를 종료하고, 새 컨테이너를 띄우는 과정에서 일시적인 서비스 중단이 발생할 수 있다.
4. 무중단 배포
1) Rolling Update(점진적 배포)
- 기존 컨테이너를 유지하면서 새로운 컨테이너를 실행한 후, 정상적으로 실행되면 기존 컨테이너를 종료
docker-compose up -d --remove-orphans
2) Blue-Green 배포
- 현재 실행중인 컨테이너(Blue)와 새로운 컨테이너(Green)를 동시에 유지,
- Green 컨테이너가 완전히 실행되면, 트래픽을 Green으로 전환 후 Blue 컨테이너를 종료
- Nginx 또는 AWS ALB를 사용
'AI > AI 서비스 개발' 카테고리의 다른 글
[AI 서비스 개발] AWS에 DB 생성하기 - Docker volumes, AWS RDS (0) | 2025.02.03 |
---|---|
[AI 서비스 개발] crewai tool - SerperDevTool() (0) | 2025.02.02 |
[AI 서비스 개발] CI/CD - Github action 이용해 AWS 자동 배포하기 (0) | 2025.01.30 |
[AI 서비스 개발] Nginx, AWS EC2, docker-compose로 배포하기 (0) | 2025.01.30 |
[AI 서비스 개발] 네이버 지도에서 최신 리뷰와 이미지 크롤링하기 (0) | 2025.01.30 |
- Total
- Today
- Yesterday
- 오픽
- 경제
- 빅데이터 분석기사
- 고득점 Kit
- Python
- 루틴
- 줄넘기
- 뉴스
- 오블완
- 30분
- SQL
- ChatGPT
- 아침
- 영어회화
- 갓생
- 아침운동
- llm
- 미라클모닝
- 기초
- 티스토리챌린지
- 실기
- Ai
- 습관
- 프로그래머스
- 운동
- IH
- opic
- 다이어트
- C언어
- 스크랩
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |