IaaS/퍼블릭클라우드

(AWS) ECS Service에 대해서

armyost 2022. 2. 28. 14:45
728x90
  • ECS Service는 얼마나 많은 Task가 실행되어야 하며, 어떻게 실행되어야 하는지를 정의한다. (Kubernetes의 서비스와 동일한 역할의 리소스)
  • ELB, NLB, ALB와 연결할 수 있다. 

ECS에서 서비스 생성하기

1. [AWS Console]-[ECS Cluster]에서 작업할 클러스터 선택

2. "서비스" 탭에서 "배포"를 선택

3. "서비스 Configure"화면에서 설정. 이때 이전 장에서 배웠던 "Task Definition"을 사용하여 서비스를 생성한다. 

- 서비스의 타입을 Replica로 할지 Deamon으로 할지를 선택할 수 있다. Replica와 Deamon의 정의는 Kubernetes의 정의와 동일하다.

- Task의 수를 설정할 수 있다. Kubernetes의 Pod 갯수라고 생각하면 된다.

4. 다음을 누르면 Network영역이 나오고, 여기서 LoadBalancer를 할당하여 서비스를 등록할 수 있다. 

5. 다음을 누르면 AutoScaling영역이 나오고 Fargate가 보통 이에 해당되므로 넘어간다.

6. 생성을 눌러 완료 

 

ECS서비스에 Loadbalancer 적용

1. 우선 이전 포스팅에서 만든 Task Definition을 Revision해야한다. 대상 Task Definition을 Edit화면으로 가서 "Edit container"를 클릭한다. 

2. Container의 Port Mapping이 8080 > 80이 되어 있거나 하다면 Source 포트를 삭제하여 블랭크로 만들자(이는 Source포트를 Random으로 하겠다는 것이다.)

3. Task Definition을 완성한다.

4. "서비스"탭으로 이동하여 새로운 서비스를 등록한다. 

5. 기존 서비스 생성과 동일하게 "서비스 Configure"를 진행하면 되지만 다만 방금 생성한 Revision으로 선택해서 진행하기를 바란다. 

6. 다음을 누르면 Network영역이 나오고, 여기서 "Application LB"를 선택한다.

7. IAM Role은 "Create New Role"을 두고

8. 생성한 Load Balancer를 연결한다. 

9. 생성을 완료한다.

'IaaS > 퍼블릭클라우드' 카테고리의 다른 글

(AWS) Fargate란?  (0) 2022.03.01
(AWS) ECR 에 대해서  (0) 2022.03.01
(AWS) ECS 란?  (0) 2022.02.28
(AWS) API Gateway란?  (0) 2022.02.18
(AWS) Step Function 이란?  (0) 2022.02.18