Amazon ECS 알아보기

2023년 12월 27일 수요일

Today I Learned

날짜

2023년 12월 27일 수요일

내용

Verification Email은 테스트서버에서도 이상이 없었다. 코드가 힘들기 보단 이해가 힘든 Task였음.

Review Report Email

주 1회, 한 주간 리뷰의 추가 상황에 대해 메일을 보내줘야 한다. 가장 우선 파악해야할 것은 세 가지였다.

  1. 어떻게 정기적으로 메일을 보낼 것인가?
  2. 메일 형식은 어디에 어떻게 설정할 것인가?
  3. 메일에 데이터를 어떻게 담을 것인가?

우선 반복된 동작은 cron과 cronjob에서 처리한 다는 것은 알고 있었다. 문제는 이 코드를 누가 언제 실행하는지 였는데… 결국 ECS였다. 이에 관한 설명인 밑에서 하고, ECS에서는 특정 이벤트나 시간을 기준으로 Task를 계획할 수 있다.

데이터를 HTML에 넣는 것에는 큰 문제가 없을 듯한데, 가져오는 것에 신경써야 한다.

  1. 지금 보낼 shop은 어떻게 알지..?
  2. 우리 서비스는 샵과 리뷰 DB가 별개로 분리되어 있다. 리뷰 서버에 필요한 요청을 보내기엔 비효율적일 것 같다. 가능은 하겠지만.. 이전에 전체적인 디자인 구조에 대해 설명 들을때 redis가 두 DB를 연결해주는 역할을 한다고 들었는데 이참에 redis를 통해 두 DB가 어떻게 연관되어 있는지 확인할 기회지 않을까 싶다.

위에 대한 의문을 해결하는게 우선일 듯 하다.

ECS

ECS는 아마존에 있는 서비스로, Elastic Container Service라는 뜻이다. AWS에 서비스를 배포할 떄 쓰는 컨테이너 쯤 된다. Docker에서와 크게 다르지는 않아보이는데, Capacity, Controller, Provisioning 3개의 layer로 구성된다. 각각 컨테이너가 실행되는 곳, 컨테이너에서 실행되는 애플리케이션을 배포하고 관리하는곳, 이 관리를 위한 도구 쯤으로 이해된다.

이미지나 컨테이너는 결국 Docker에서 개념과 대동소이하고, task definition이라는 개념이 있다. JSON 형식의 텍스트 파일인데, 애플리케이션의 블루프린트 역할이라고 보면된다. 쉽게 보면, 해야할 일들을 정의해주는 것. 우리 서비스에선 cronjob들에 있는 스크립트 파일들을 모듈로 실행하도록 되어 있다. 이번 Task는 이 방법을 이용하는 게 좋겠다.

회고

AWS는 매번 참 어렵네