ECS 서비스에서 Get started 클릭하여 클러스터 생성
수동으로 인스턴스를 관리하기 위해 위 체크박스 체크
Infrastructure 설정
EC2 Network 설정 - 기본 VPC와 Security Group 사용
생성완료
클러스터 생성시 ASG 자동생성
이 클러스터는 테스트를 실행할 EC2 인스턴스를 가지게 된다. 4개의 가용영역이 있고 네 AZ간에 ECS Task가 실행되게 된다.

 

위 화면에서 Desired capacity를 1로 변경하면 자동으로 EC2 인스턴스가 하나 생성되게 된다. 또한 바로 이전에 생성한 KSN_DemoCluster에 동록이 된다.
Container instances 부분에서 확인 가능

 

즉, ECS Task를 생성하면, FARGATE or FARGATE_SPOT에 실행되거나 ASG의 일부로 실행한 컨테이너 인스턴스에 실행된다.

 

ECS 서비스를 생성하기 위해서는 우선 Task definitions을 생성해야 한다.

*Task definitions은 ECS Task 생성 방식을 나타낸다.

 

위 도커 이미지를 사용할 것이다.
위 밑줄과 같이 사용할 Image URI를 입력해준다.
바로 Task를 실행해주기 위해서 AWS Fargate를 사용하고 각 태스크 별로 사용할 CPU와 RAM을 배정해준다. 그 이후 다른 값들은 디폴트 설정으로 한 뒤 Task definitions를 생성해준다.

 

Task definitions을 생성한 뒤 로드밸런서의 서비스 Task Definitions를 실행해 준다.

그러기 위해서는 아래와 같이 두 가지 보안 그룹을 생성해주어야 한다. 

Inbound rules에 IPv4, IPv6 source를 anywhere로 설정해준 뒤 security group을 생성해준다.

 

두 번째로 ECS Task를 위한 보안 그룹을 생성해 준다.

ALB에서 오는 트래픽을 허용하기 위해 이전에 생성한 SG를 Source로 설정해준다.

 

이후 실제 서비스를 생성할 것이다.

이전에 생성했던 클러스터로 돌아가 Services 탭에서 Create를 눌러 서비스를 생성해준다.
Deploy 설정
LB를 추가해준다.
SG로 이전에 생성한 alb-ecs-sg를 추가해준다. 이 SG는 FARGATE Task에 바로 연결되는 보안 그룹이다.

 

이후 서비스 Create를 클릭하면 서비스가 배포되고 로드 밸런서가 생성될 것이다.

서비스 생성(Task)
로드밸런서 생성확인

 

ALB에 DNS 주소에 접속하면 ECS Task에 실행되는 NGINX 웹 서버에 연결된 것을 확인할 수 있다.
URI 입력시 URI 출력 확인

 

이로써 ECS 서비스의 로드 밸런서에서 ECS Task를 실행해 봤다.

 

+ Recent posts