바로 ECS의 클러스터를 활용하겠습니다. 클러스터라는 것은 어떻게 보면 하나의 구분된 영역이라고 보시면 됩니다. 또한 클러스터를 생성하면 작업을 생성해야 합니다. 그리고 그 아래에 여러개의 컨테이너가 있을 수 있는겁니다. 이번 실습같은 경우는 컨테이너가 하나겠지만 다음 실습부터는 여러개 일 수 있습니다.
간단히 AWS Fargate에 대해서 되짚고 가보겠습니다.
AWS Fargate
aws fargate fargate는 Amazon EC2인스턴스의 서버나 클러스터를 관리할 필요 없이 컨테이너를 실행하기 위해 AWS ECS에 사용할 수 있는 기술입니다. Fargate를 사용하면 더 이상 컨테이너를 실행하기 위해 가상 머신의 클러스터를 프로비저닝, 구성 또는 조정할 필요가 없습니다. 따라서 서버 유형을 선택하거나, 클러스터를 조정할 시점을 결정하거나, 클러스터 패킹을 최적화할 필요가 없게 됩니다
( 가격이 존나 비쌈 ㅅ..ㅂ )
실습
일단 AWS ECS에서 클러스터를 하나 만들어 줍니다.
무조건 맨 첫번째에 있는 network모드로 만들어 주어야지만, fargate를 통해 손쉽게 관리할 수 있습니다. 다음으로는 바로 작업을 정의해 보도록 하겠습니다. 작업정의가 선행이 되어야 작업을 싱행하고 클러스터 안에서 컨테이너들이 돌아갈 수 있는 겁니다.
다음과 같이 메모리와, CPU들을 손쉽게 정의할 수 있고 우리가 기존에 레포지토리에 만들었던 즉 ECR에 있는 push했던 latest이미지를 django라는 이름으로 컨테이너를 추가하겠습니다.
마지막으로 작업실행을 해주겠습니다.
이제 PEDING -> RUNNING상태가 되기를 기다려 주도록 하겠습니다.
이렇게 실행된 컨테이너를 퍼블릭 IP의 8000번 포트를 통해 접근하게 되면 아래와 같게 됩니다.
이처럼 손쉽게 이미지를 배포하고 faragate에 컨테이너를 등록하여 웹서비스를 쉽게 배포할 수 있습니다.
'DevOps > AWS Architecture' 카테고리의 다른 글
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - AWS CLI 개요 + AWS CLI를 통한 작업 정의1 (0) | 2022.07.06 |
---|---|
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - Docker Compose를 활용한 배포 (0) | 2022.07.06 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - (인프라) AWS ECR에 컨테이너 업로드 (0) | 2022.07.05 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - Nginx Docker Build (0) | 2022.07.05 |
[ DevOps ] - AWS 기반 소규모 & 중규모 아키텍트 설계 - Docker Django Build (0) | 2022.07.04 |