관리 메뉴

피터의 개발이야기

[AWS] Auto Scaling 자동 크기 조정 본문

AWS

[AWS] Auto Scaling 자동 크기 조정

기록하는 백앤드개발자 2022. 8. 2. 11:09
반응형

ㅁ 개요

 AWS EKS 테스트 환경을 구성하여 테스트를 진행하고 있다. 이런 환경 구성은 비용이 발생하기 때문에 사용하지 않을 시 사용중지 처리를 해야하지만, 잊어버리는 경우가 있다. 이를 예방하기 위해 자동 크기 조정을 설정한다.

 

 

ㅁ 자동 크기 조정 이동

 ㅇ 예약된 작업의 예약된 작업 생성 버튼을 클릭한다.

 

 ㅇ Auto Stop 이라 이름을 정하였다.

 ㅇ 원하는 용량, 최소 최대를 모두 0으로 세팅한다.

 ㅇ 시간은 Cron 형태로 구성하였다.

 

 

ㅁ 특정 시작 시간

 ㅇ 때에 따라서 테스트가 더 필요한 경우는 종료 시간을 단편적으로 조정할 필요가 있다.

 ㅇ 이 때 기존 Cron 시간을 수정하면 나중에 또 다시 원래 시간으로 변경해야 하는 작업을 진행해야한다.

 ㅇ 이를 간편하게 하기 위해서 특정 시작 시간을 적용하면 당일 하루만 적용되고, 기존의 cron 작업은 유지된다.

 

 

ㅁ EKSCTL

[ec2-user@ip-172-31-43-214 ~]$ eksctl scale nodegroup --name=work-nodes --cluster=k8s-demo --nodes=1
2022-08-02 01:46:56 [ℹ]  scaling nodegroup "work-nodes" in cluster k8s-demo
2022-08-02 01:46:56 [ℹ]  waiting for scaling of nodegroup "work-nodes" to complete
2022-08-02 01:47:27 [ℹ]  nodegroup successfully scaled

 ㅇ EKSCTL이 세팅되어 있는 경우 위와 같이 EKSCTL로 node 증설 및 감설이 가능하다.

 

[ec2-user@ip-172-31-43-214 ~]$ eksctl scale nodegroup --name=work-nodes --cluster=k8s-demo --nodes=0
2022-08-18 18:39:09 [ℹ]  scaling nodegroup "work-nodes" in cluster k8s-demo
Error: failed to scale nodegroup for cluster "k8s-demo", error: operation error EKS: UpdateNodegroupConfig, https response error StatusCode: 400, RequestID: 9338dcaa-5386-43c8-8d06-96fd055ed4af, InvalidParameterException: Minimum capacity 1 can't be greater than desired size 0
[ec2-user@ip-172-31-43-214 ~]$ eksctl scale nodegroup --name=work-nodes --cluster=k8s-demo --nodes=0 --nodes-min=0
2022-08-18 18:39:39 [ℹ]  scaling nodegroup "work-nodes" in cluster k8s-demo
2022-08-18 18:39:40 [ℹ]  waiting for scaling of nodegroup "work-nodes" to complete
2022-08-18 18:40:10 [ℹ]  nodegroup successfully scaled
[ec2-user@ip-172-31-43-214 ~]$ kubectl get nodes
NAME                                                STATUS                     ROLES    AGE   VERSION
ip-192-168-78-251.ap-northeast-2.compute.internal   Ready,SchedulingDisabled   <none>   90m   v1.20.15-eks-99076b2

반응형
Comments