[AWS 서버 구성] ECS로 서버 구동 및 CI/CD 환경 구성하기

steve·2023년 10월 25일
0

Cloud

목록 보기
1/6
post-thumbnail

개요

  • 이번 포스팅에서는 ECS로 서버 구동 및 CI/CD 환경 구성하기 위한 전체적인 프로세스 및 각 서비스들의 개념에 대해 알아본다

ECS(Elastic Container Service)란?

  • 컨테이너화된 애플리케이션을 쉽게 실행, 조정 및 관리할 수 있는 서비스
  • Docker 컨테이너를 쉽게 배포하고 관리할 수 있으며, 오토 스케일링을 지원
  • 컨테이너 타입을 EC2 인스턴스 또는 Fargate(serverless)로 선택할 수 있고, 실행 옵션을 제공하여 유연한 컨테이너 관리 환경을 구성할 수 있다

ECS 계층 구조

ECS 생명 주기

관련 AWS, 배포 개념

1. IAM (Identity & Access Management)

  • IAM은 AWS의 Identity & Access Management 서비스로, AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 서비스
  • IAM을 사용하면 사용자, 그룹, 역할을 생성하고 이들에게 필요한 권한을 부여할 수 있고, AWS 리소스에 대한 보안과 권한 관리를 효율적으로 수행할 수 있다

2. VPC (Virtual Private Cloud)

  • VPC는 가상 사설 네트워크로, 사용자가 독립된 가상 네트워크 환경을 구축하고 AWS 리소스를 안전하게 배포할 수 있게 해준다
  • VPC를 사용하면 가상 네트워크를 구성하고 AWS 리소스의 네트워크 트래픽을 관리할 수 있으며, 방화벽 규칙, 서브넷, 라우팅 등을 설정하여 네트워크 환경을 커스터마이징 할 수 있다

3. ECR (Elastic Container Registry)

  • Docker 컨테이너 이미지를 저장하고 관리할 수 있는 관리형 Docker 컨테이너 레지스트리 서비스
  • ECR을 사용하면 Docker 이미지를 쉽게 빌드, 저장 및 배포할 수 있으며, 안전한 저장소에서 이미지를 관리할 수 있고, Amazon ECS와 통합하여 컨테이너화된 애플리케이션을 쉽게 배포하고 실행할 수 있다

4. ALB (Application Load Balancer)

  • 애플리케이션 트래픽을 여러 대상 그룹에 분산시켜주는 로드 밸런싱 서비스
  • ALB를 사용하면 애플리케이션의 가용성과 확장성을 향상시킬 수 있으며, 트래픽을 여러 대상으로 분산시켜 로드 밸런싱을 수행할 수 있고, 다양한 애플리케이션 계층의 트래픽을 제어할 수 있는 기능을 제공

5. CI/CD(Continuous Integration/Continuous Deployment)

  • CI/CD 환경은 소프트웨어 개발과정에서 지속적인 통합과 배포를 가능하게 하는 환경
  • 개발자들은 코드 변경 사항을 자동으로 빌드, 테스트하고, 검증된 코드를 자동으로 배포
  • CI/CD 환경은 개발 속도를 높이고 애플리케이션의 품질과 안정성을 향상

0개의 댓글