AWS ECS(Elastic Container Service)

2022. 7. 14. 10:55Cloud/AWS 기초

일종의 Swam과 같은 개념을 나타낸다고 할 수 있다. 클러스터에서 Docker Container를 좀 더 손쉽게 실행, 중지 및 관리할 수 있게 해 주는 Container Managerment Service 이다.

서비스와 클러스터는 굉장히 추상적인 개념이라고 할 수 있다. 하지만 task가 구성되고부터는 점차 구체적으로 확인할 수 있게 된다. 일반적으로 AWS에서는 Ec2내부에 컨테이너를 생성하고, 이런 EC2를 묶어서 하나의 서비스로 만든다. 이것을 하나의 Cluster라고 이야기한다. 하나의 ECS를 생성해 보도록 하자.

 

먼저 작업 정의 파트로 들어가 새 작업 정의 생성을 클릭하자.

설정하고 싶은 호환성을 선택하도록 하자. FARGATE와 같은것을 선택할 수 는 있지만 간단하게 EC2를 선택해 보았다.

이름을 지정하고 서비스가 이용하는 권한정책(ROLE)을 부여하도록하자. ECS와 같은 경우 자동으로 지정해 주지만, EKS를 할때에는 직접 작업해야한다.

IAM역할과 작업크기를 설정할 수 도 있다. 본인이 원하는 PC Resorce를 설정할 수 있다. 도커 컨테이너의 크기를 정하는것과 같은 역할을 한다.

가장 중요한 컨테이너 파트 부분이다. 명령어, 상태확인, 헬스체크 등을 할 수 있다. 

컨테이너의 이름을 설정하고 이미지를 지정한다. 이미지의 경우 본인이 사용하고 싶은 엔진을 선언하면된다.

메모리는 반드시 mb단위로 제한을 둔다.

포트메핑도 도커에서 하는것과 같이 호스트-컨테이너에 대한 포트를 열어둬야한다.

이 후 최 하단에서 생성 버튼을 클릭하면 작업저의가 완료된다. 이제 클러스터를 생성해 보도록 하자.

본인이 희망하는 OS를 설정하면 된다.

클러스터의 이름을 선택한 후 요금을 선택한다. 온디맨드 인스턴스와 스팟 중 택일할 수 있다.

이 후 네트워킹을 설정하도록 하자. VPC와 Subnet, ip할당과 보안그룹을 지정하도록 하자.

이 후 무사히 실행되는것을 확인할 수 있다.

그럼 아래와 같은 화면이 나타나는데, 서비스를 생성해 보도록 하자.

시작 유형과 작업정의 등을 설정하도록 하자.

롤링설정과 배치 템플릿 분산을 지정할 수 있다.

상태 검사 유예 기간을 설정할 수 있다. 0초로 지정하게 된다면 인스턴스가 만들어질때(업데이트 등)문제가 발생할 수 있으니 기본값인 300초를 주도록하자. ALB가 만들어져있지 않는데, ECS를 ALB로 묶도록 하자.

이제 EC2로 가보도록 하자. ECS가 잘 설치되어있는것을 확인할 수 있다. 여기에 있는 EC2를 ALB로 생성하도록 하자.

로드벨런서를 추가하도록 하자.

이 후 오토스케일링을 생성해두도록 하자. 작업에 대한 갯수를 부여할 수 있다.

Cloudwatch 대시보드를 가지 않더라도 콘솔에서 추가할 수 도 있다. 5분이내에 30이라는 cpu값 이하가 날 경우 경보 임계값을 나타낸다. 라고 설정했다.

설정이 완료되면 EC2의 ip혹은 route53으로 설정한 도메인으로 접근하면 잘 나타나는것을 확인할 수 있다.

 

'Cloud > AWS 기초' 카테고리의 다른 글

AWS Sage Maker 활용part.2 (AI/ML기능 활용하기)  (0) 2022.08.04
AWS Sage Maker 활용(AI/ML기능 활용하기)  (0) 2022.08.03
Amazon ElasticCache  (0) 2022.06.14
AWS identity and access management(IAM)  (0) 2022.06.13
AWS Route 53  (0) 2022.06.13