1. 프로젝트 명
2. 프로젝트 목적
3. 프로젝트 기대 효과
4. 프로젝트 구성도
5. 사용 기술 및 도구
1. 프로젝트 명
AWS CodePipeline을 활용한 CICD Container 인프라 구축 프로젝트
2. 프로젝트 목적
- 코드로 인프라 구축(IaC)
- 지속 가능한 개발과 배포(CICD)
- 확장성과 고가용성의 인프라 구축
3. 프로젝트 기대 효과
- 코드로 인프라를 구축함으로써 컴퓨팅 리소스를 유연하게 확장 및 축소하고 코드를 재사용할 수 있다.
- 멀티 AZ 서비스를 운영하여 Database 장애 시 지속적인 서비스를 제공할 수 있다.
- CICD 인프라를 구축하여 지속적인 개발과 지속적인 배포를 통해 완전 자동화된 서비스를 제공한다.
- 사용자 증가 시, Auto Scaling으로 리소스 크기를 조절하여 지속적인 서비스를 보장한다.
4. 프로젝트 구성도 및 시나리오
4.1. 개발자 입장
- 개발자가 Github Repository에 코드를 업로드하면 CodePipeline이 이를 감지한다.
- CodeBuild는 Dockerfile을 빌드하며 Docker Image는 ECR Repository에, 배포를 위한 appspec.yaml, taskdef.json
파일은 S3 Bucket에 저장한다
- 저장된 각 파일을 CodeDeploy가 참조하여 ECS Container에 배포한다.
배포 시 ECS Container Insights는 CloudWatch로 모니터링한다.
4.2. 사용자 입장
- Route 53에 등록된 도메인으로 접속한다.
- 요청은 Internet Gateway를 통해 들어오며 Public Zone의 ALB가 이를 처리한다.
- ALB는 Private Zone의 Container로 요청을 분산한다.
4.3. Application 입장
- Dockerfile로 빌드된 Wordpress 이미지는 ECS Container에서 실행된다.
- 각 Container는 RDS의 MySQL와 연동된다.
5. 사용 기술 및 도구
목적 | 사용 기술 및 도구 |
Application | Docker, Wordpress |
Application 배포 | Amazon ECS (Fargate) |
Database | Amazon RDS (MySQL) |
CICD | AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy Amazon ECR, Amazon S3 |
IaC | Terraform |
Monitoring | Amazon CloudWatch |
'Project' 카테고리의 다른 글
112_Docker Project (0) | 2022.07.22 |
---|---|
89_Project: On-Premise 환경 구축 프로젝트 (0) | 2022.06.21 |
47_Project: Cloud Project (0) | 2022.05.03 |