-
Private ECS(Elastic Container Service - EC2) 구축하기Cloud/AWS 2024. 11. 13. 10:53
Amazon Web Services(AWS)는 확장 가능하고 신뢰할 수 있는 클라우드 컴퓨팅 플랫폼으로,
서버, 스토리지, 데이터베이스 등 IT 인프라를 인터넷을 통해 손쉽게 제공받을 수 있게 해주는 강력한 서비스입니다.
Certified Practitioner for Platform Operations(CPPO) 진행하면서 해본 것을 복귀하는 내용입니다.
▶ 내용
Amazon ECS EC2는 AWS에서 제공하는
컨테이너 실행 서비스로, EC2 인스턴스를 통해 컨테이너 애플리케이션을 배포할 수 있습니다.
EC2 인스턴스별로 CPU와 메모리를 설정하여 다양한 애플리케이션 요구사항에 맞출 수 있으며
IAM 역할과 VPC 엔드포인트를 통해 네트워크 및 접근을 안전하게 관리할 수 있습니다.
자동화된 배포 기능을 활용하여 CI/CD 파이프라인 환경에 적합한 유연한 컨테이너 플랫폼입니다.
▶ 설정
> VPC 엔드포인트 생성
Prviate subnet에 ECS를 구축하기 위해서는 엔드포인트가 필수적으로 필요합니다.
Interface: ecs, ecrApi, ecrDkr, ecsAgent, sts(선택)
Gateway: s3
- S3 Gateway 라우터 지정하기
구성하는 subnet의 Route를 지정합니다. 지정하게 되면 subnet > 라우팅 테이블 에서 'pl-이름' 적용된 것을 확인할 수 있습니다!
> ECS Cluster EC2 'IAM Role' 생성
Elastic Container Service Type EC2 가 안전하게 작업을 하기 위해서는 역할 생성이 필요합니다.
> Amazon ECS Cluster 생성
인프라 선택시 '인프라 > AWS EC2'를 선택합니다.
> Amazon ECS Task 생성
ECS Task는 컨테이너 기반 어플리케이션을 실행하기 위한 논리적인 단위 입니다.
Task는 실행할 컨테이너 정의와 리소스 요구사항(CPU, 메모리 등), 네트워크 설정을 포함하며, 이를 바탕으로 컨테이너를 배포하고 관리하는 역할을 합니다.
즉, ECS Task는 하나 이상의 컨테이너를 그룹으로 묶어 특정 어플리케이션의 구성 요소를 실행하는 단위.
> Amazon ECS 서비스 생성
ECS Cluster에 서비스를 생성하면 특정 애플리케이션을 지속적으로 실행하고 관리할 수 있도록 구성하는 것을 의미합니다.
▶ draw.io
▶ 결론
설정을 진행하며 ECS EC2 인스턴스를 경험해봤습니다.
기본적으로 AWS가 제공하는 자원 위에서 작동하기 때문에
인프라의 유연성과 커스터마이징이 가능하다는 점에서 매력이 있었습니다.
EC2 인스턴스에서 사용자가 직접 개입하여
필요한 설정을 세부적으로 조정할 수 있는 것이 장점입니다.
하지만 이러한 유연성은 곧 관리의 복잡성으로 이어지기도 합니다.
EC2에서 인프라를 관리하는 수고로움이 있지만
그만큼 사용자에게 선택의 폭이 넓어져서 필요에 맞는 최적의 구성을 가져갈 수 있다는 점이 좋아 보였습니다 :)
'Cloud > AWS' 카테고리의 다른 글
Private ECS(Elastic Container Service - Fargate) 구축하기 (2) 2024.11.11 AWS EKS DashBoard(ver.k8s) 배포하기 (4) 2024.11.08 Private Amazon EKS kubectl 연결하기. (2) 2024.11.07 AWS ECR(Elastic Container Registry) 생성하기 (4) 2024.11.06 Private Amazon EKS NodeGroup 생성하기 (2) 2024.11.05