ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS ECS 개념 및 Node 서버 배포 - 1
    카테고리 없음 2022. 2. 26. 00:46

    이번 포스팅에서는 ECS의 개념을 먼저 잡아보려 한다.

     

    AWS 공식 문서를 보면 다음과 같이 소개를 해준다.

    컨테이너를 실행하는 고도로 안전하고, 안정적이고, 확장 가능한 방식
    Amazon Elastic Container Service(Amazon ECS)는 컨테이너화된 애플리케이션의 손쉬운 배포, 관리 및 조정에 도움이 되는 완전관리형 컨테이너 오케스트레이션 서비스입니다.

    여기서 핵심 단어는 완전관리형 컨테이너 오케스트레이션 서비스 이다.

     

    완전관리형 컨테이너 오케스트레이션 서비스


    사실 컨테이너라는 말은 익숙 할 것이다. 도커를 기본적으로 사용한다면 다 이해를 하고 있을것이니 컨테이너에 대한 설명은 생략 하도록 하겠다.

     

    그러면 남은 부분은 오케스트레이션 서비스인데 오케스트레이션 서비스가 해주는 역할은

     

    • 컨테이너 자동 배치 및 복제
    • 컨테이너 로드 밸런싱
    • 컨테이너 장애 복구
    • 컨테이너의 확장 및 축소
    • 컨테이너 서비스간의 인터페이스를 통한 연결 및 네트워크 표출 제어

     

    등이 있다. 

     

    사실 오케스트레이션 서비스중에서 유명한것 중에 또 다른 하나는 Kubernetes 인데  AWS의 k8s 서비스에서 사용을 해 볼 수가 있다.

     

     

    ECS 기본개념


    서론이 길었지만 본격적으로 ECS에 대해 설명을 해보자면 공식문서에서 설명 해줬듯이 컨테이너 오케스트레이션 서비스이다.

     

    ECS는 EC2 환경과 Fargate 환경에서 사용할 수 있는데, EC2는 사용여부와 관계없이 비용이 과금되고, Fargate는 서버리스 환경을 이용해서 인스턴스의 패치나 조정을 따로 할 필요가 없어서 운영에 사용하는 시간이 줄어드는 장점이 있다.

     

    관련되는 서비스로는 다음과 같다.

    • AWS ECR: 컨테이너 이미지 저장소
    • AWS FARGATE: 서버리스 컴퓨팅 엔진
    • AWS ELB: 로드벨런서
    • AWS VPC: 네트워크 리소스를 제공하는 서비스

     

    ECS의 구성요소와 작동방식


    ECS의 구성요소

    1. Task definition

    • Docker 컨테이너를 생성할 때, 어떤 설정으로 몇개의 컨테이너를 생성 할지를 정의한다.
    • 컨테이너의 CPU, 메모리 리소스 할당 port매핑등 설정을 여기서 관리한다.

     

    2. Task

    • Task definition 에서 정의를 했다면 배포를 할텐데 이 배포가 된 컨테이너를 Task라고 한다.
    • ECS를 실행하는 최소 단위이다.

     

    3. Service

    • Task들의 Life cycle을 관리하는 부분을 Service 라고 한다.
    • 각 Task들은 다른 서비스들이다.
    • 선택적으로 오토스케일링과 로드밸런싱을 하는데 사용할 수 있다.

     

    4. Container Instance

    • ECS 컨테이너를 실행하고 cluster에 등록된 EC2 이다.
    • Fargate는 서버리스에 배포되서 container 인스턴스를 지원하지 않는다.

     

    5. Cluster

    • Task가 배포되는 논리적인 그룹으로 묶이는데 이 단위를 Cluster라고 한다.

     

    그림으로 보여주면 다음과 같다.

     

    ECS의 작업순서

    1. 컨테이너의 이미지를 ECR에 커밋
    2. task definition에서 사용할 이미지 유형, 리소스, VPC와 서브넷 셋팅
    3. cluster 생성
    4. service가 task definition을 참고하여 task 생성
    5. elb에 들어온 요청에 따라 오토 스케일링 및 로드 밸런싱

     

     

    댓글

Designed by Tistory.