본문 바로가기

Trouble Shooing

(aws)ElasticBeanstalk 가용 영역 설정관련 에러

 

Environment health has transitioned from Ok to Degraded. 
Auto Scaling activity failed 48 seconds ago with error: No default subnet for availability zone: ‘ap-northeast-2b’. 
Launching EC2 instance failed.  
At 2022-08-29T08:02:02Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 2 to 3.

발생 배경

작업한 내용물을 ElasticBeanstalk를 이용해 배포하던 도중 해당 메세지와 함께 EC2 인스턴스가 실패했다.

CI/CD가 자동으로 구축되어 있는 상황이라 aws를 뜯어봐야겠다고 추측

 

추측 내용

1. No default subnet for availability zone: ‘ap-northeast-2b’. 

2. an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 2 to 3.

 

해결 방법

동료 개발자분이 보시고는 바로 해결해주신 부분이었다(먼저 필요한 개념은 가용영역과 vpc인데, 이부분은 후에 정리예정)

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-availability-zones

 

리전 및 영역 - Amazon Elastic Compute Cloud

리전 및 영역 Amazon EC2는 세계 각지의 여러 곳에서 호스팅되고 있습니다. 이 위치는 리전, 가용 영역, Local Zones, AWS Outposts 및 Wavelength Zone으로 구성됩니다. 각 리전은 개별 지리 영역입니다. 가용

docs.aws.amazon.com

아마존 공식 사이트에도 나와있는부분으로 인스턴스 시작시 리전과 vpc를 선택한다. 이후 복수의 가용영역에 걸쳐 인스턴스가 배포된다.

 

각각의 가용영역에는 서브넷이 있는데, 회사가 쓰는 서울리전쪽 a,b,c가 등록되어있었고, 모두 사용가능하게 설정되어있었다

가용영역에 서브넷이 없을경우, 이 가용 영역으로 인스턴스를 시작할 수 없는데

 

가용 영역 b에 서브넷이 없어 인스턴스가 시작할 수 없었던것!

해당 환경의 구성 > 용량 부분에서 확인이 가능하며 편집에 들어가 placement에서 가용 영역 b를 삭제해주었다