ECS에 올릴 NestJS 어플리케이션을 생성할 것이다.
프로젝트 생성 페이지를 따라서 NestJS 프로젝트를 하나 만든다.
이번 실습에서는 ECS를 ALB와 연결하는데, ALB는 Health Check 로직이 있다.
ECS에 새 Task가 떴는데 Health Check를 기준치 이상 실패하면 배포 실패로 간주한다.
Health Check에도 여러가지 종류가 있지만, 우리는 서버가 구동되었다는 것만 알려줄 것이다. (Liveness)
{ Project Root }/src/app.controller.ts
를 보면 아래와 같은 코드가 있을 것이다.
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(): string {
return this.appService.getHello();
}
}
AppController
에 Health Check API를 하나 추가해주자.
API 엔드포인트는 자유롭게 정해도 되지만, 명시적인 좋은 이름으로 정해주자.
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
...
@Get('health')
health(): string {
return 'ok';
}
}
여기까지 했으면 ECS 실습을 위한 어플리케이션 준비는 끝이다.
어때요? 참 쉽죠?