[0718] EVEREST

이순간·2025년 7월 23일

KRAFTON JUNGLE

목록 보기
131/144

오늘은 rps10K를 향한 여정 중
AWS오토스케일링 그룹에서
인스턴스의 상한을 n개로 늘려 놓아도
왜 내가 지정한 n개까지 인스턴스가 켜지지 않는지
알게 되었다.

AWS엔 계정마다 제한된 리소스 사용량이 있는데
왜 제한이 존재하냐면
멋모르고 켠 인스턴스에 요금 폭탄을 맞을 수 있기 때문이라고 한다.

아무튼 우리 팀 계정에 할당된
vCPU의 개수는 64개로 제한되어있었다.

vCPU란 EC2에 켜지는 인스턴스 하나가
가지고 있는 Virtual Central Processing Unit이다.

내가 사용한 인스턴스는
컴퓨팅성능이 뛰어난
c6in.xlarge인데
이 인스턴스 유형은
인스턴스 하나당
vCPU 4개를 소모한다.

그러니까 vCPU 제한이 64개인 우리팀 계정으로는
곧 죽어도
16개 이상의 c6in.xlarge인스턴스는 켤 수가 없다.

하지만 인스턴스를 rps를 높이는 파트에만 전부 투입할 수가 없기 때문에
백엔드를 위한 인스턴스, 데이터베이스를 위한 인스턴스 등등이 켜져 있어야한다.

그렇다면 rps를 높이기 위해 할당된
실제로 남은 vCPU는 그보다 적게 되는데

내가 설정한 오토스케일링 그룹의 최대 인스턴스 개수가

vCPU용량 - (인스턴스유형에 따른 Vcpu개수 x 인스턴스 최대 개수)

공식을 음수로 만들기 때문에
인스턴스 새로고침이 실패하고
그로 인해 초당요청수(RPS)를 높일 수 없게 된다.

따라서 오토스케일링 그룹에서 인스턴스를 n개까지 늘릴 수 있는지 확인하려면

총 할당 vCPU 수≥(인스턴스당 vCPU 수 x n)+기타 사용 중인 vCPU 수

의 값을 알아야한다.

현재 우리에게 할당된 vCPU수는 64개이고
인스턴스 유형은 c6in.xlarge(vCPU4개)이고
이미 다른 인스턴스에서 사용중인 vCPU자원은 20개 이므로
n=44이다.

n=44이므로 최대로 켜질 수 있는
오토스케일링 그룹의 인스턴스개수는 11개인데
나는 16개로 설정해두었으므로
인스턴스 새로고침이 실패하는 것이다.

이 제한을 해제하려면
AWS서비스 쿼터(Service Quotas)에서
해당 항목을 찾아서 신청을 넣어야 한다.

15:27에 신청을 넣었고
15:36에 신청을 접수했다는 답장이 왔다.

그리고 실제 적용은...

profile
서툴지언정 늘 행동이 먼저이기를

0개의 댓글