티스토리 뷰
이번 글은 ECS를 구성하면서 가장 기초적인 Cluster를 구성하는 방법을 소개하고자 합니다. 서버리스 모델인 Fargate 를 기준으로 작성할 예정이고, EC2 인스턴스를 사용하는 경우 세팅법이 조금씩 달라질 수 있습니다.
먼저 클러스터를 생성하기 위해 아래 링크로 이동합니다.
https://ap-northeast-2.console.aws.amazon.com/ecs/v2/clusters?region=ap-northeast-2
https://ap-northeast-2.console.aws.amazon.com/ecs/v2/clusters?region=ap-northeast-2
ap-northeast-2.console.aws.amazon.com
그리고 '클러스터 생성'을 눌러줍니다. 기본적인 화면입니다.
먼저 클러스터의 이름을 설정하면 그에 마줘서 서브넷 아래에 네임스페이스 이름도 같이 적용됩니다.
서브넷이란?
아마존 웹 서비스가 존재하는 물리서버의 위치를 표시한 것입니다. 영역으로 4개로 나뉘게 되어서 지금 화면에서는 'ap-northeast-2'로 시작하는 값들이 보입니다. 참고로 ap-northeast-2 는 서울리전에 존재하는 아마존 웹 서비스 서버입니다.
Fargate란?
아마존에서 관리하는 서버리스 모델입니다. 서버리스이기 때문에 서버에 접속해서 모니터링을 하거나 파일 시스템을 관리하는 것이 불가능합니다.
Fargate 용량 공급자란 ?
오토 스케일링(서비스되는 서버 개수가 늘어나고 줄어드는 과정)이 필요한 경우에 서비스 별 오토 스케일링이 수행되어야합니다. 하지만 이러한 서비스 오토 스케일링의 경우 이미 클러스터 내에 존재하는 인스턴스에만 작업을 배치하는 것이 가능하기 때문에 ASG(Auto Scailng Group)를 사용해서 독립적으로 인스턴스 수를 조정해야 합니다. 즉, 작업보다 인스턴스의 오토스케일링을 우선시해야 합니다.
하지만 ASG의 스케일 아웃(Scale Out, 서버 대수가 늘어나는 현상)이 되고 프로비저닝(애플리케이션이 해당 서버에 뜨기까지)이 완료되기까지 적어도 3~5분 정도가 소요됩니다. 그래서 이런 그룹간의 간격을 좁히고자 만든 방법중에 하나가 '용량 공급자' 라고 합니다.
용량 공급자를 지원하는 모델은 Amazon Linux 2 X86_64 모델만 지원가능합니다. 그 외의 모델은 Fargate 용량 공급자를 사용하는 것이 불가능하다고 합니다. 이번 구성에서는 ARM64 아키텍처의 모델을 사용할 예정이므로 'Fargate 용량 공급자' 옵션은 선택하지 않습니다.
https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/userguide/fargate-capacity-providers.html
AWS Fargate 용량 공급자 - Amazon ECS
AWS Fargate 용량 공급자 AWS Fargate 용량 공급자의 Amazon ECS를 사용하면 Amazon ECS 작업에서 Fargate 및 Fargate Spot 용량을 모두 사용할 수 있습니다. 용량 공급자에 대한 자세한 정보는 Amazon ECS 용량 공급자
docs.aws.amazon.com
모니터링 옵션 - Container Insights
컨테이너 인사이트는 기본적인 모니터링 시스템에서 서버의 상태와 지표를 시각화도구로 더 빠르게 확인할 수 있는 방법입니다. 하지만 옵션을 키게 되는 경우 추가적인 요금이 발생할 수 있습니다.
구성이 완료되었다면, 아래에 '생성'버튼을 눌러 클러스터를 만들어줍니다. 메인 화면으로 넘어가고 리스트가 보이지 않는데, 위에 클러스터를 생성한다는 메시지가 출력됩니다.
생성이 완료되었다면 실행중인 태스크가 없는 클러스터 껍데기가 만들어졌습니다.
'Server' 카테고리의 다른 글
[AWS] CloudWatch 로 ECS Task 로그 확인하기 (0) | 2023.04.17 |
---|---|
[AWS] ECS 서비스 설정하고 실행하기 (4) | 2023.04.15 |
[AWS] ECS Task 구성하기 (0) | 2023.04.14 |
[AWS] ECS HTTPS 적용하기 (0) | 2023.04.14 |
[AWS] ECS 구성하기 전에 용어 정리하기 (0) | 2023.04.13 |
[Java] 부하 테스트 코드로 작성해보기 (2) | 2023.04.11 |