본문 바로가기
320x100
728x90

AWS10

외부 API호출하는 서버 개발시 주의할 점! [File Descriptor, Too Many Open Files] 오늘은 솔루션을 운영하다가 발생한 문제와 그 해결법을 공유하려고 한다. 일단 전제를 설명하자면 현재 내가 재직 중인 회사는 B2B를 하는 회사고 도메인 특성상 많은 트래픽을 받을 일이 없었다. 그래서 여느떄와 다름없이 비즈니스 로직 개발에 집중을 했고, 늘 같은 개발 -> 테스트 -> 배포 -> 모니터링을 했다. 그런데 내가 개발한 이 솔루션을 한 회사가 사용하기로 했는데, 이 솔루션은 서버에서 외부 API를 호출하는 로직이 포함되어 있다. 그리고, 그 회사는 수많은 회사들과 게약으로 엄청난 트래픽(내 경험 기준에선...)을 가진 업체였다. 업체가 라이브하는 날을 알려줘서 모니터링을 하고 있었는데, 갑자기 서버가 엄청난 수로 오토스케일링 되는 것을 확인했다. 처음에 2대였던 서버는 29대까지 늘었고, 분.. 2023. 12. 14.
AWS]ECS 사용시 로그 비용관련 주의점 ECS를 사용하면서 불필요한 로그를 줄이고 가능하다면 ERROR, WARN로그만 켜놓자. 우리 회사는 ECS Fargate를 굉장히 자주 사용한다. 아무래도 서버리스라는 장점이 있어서 관리의 편의성 때문인데, ECS 서비스를 생성할 때 무의식적으로 로그 설정을 켜놨다. 문제개 생겼을 때 CloudWatch에서 보기 위해서다. 일단 ECS는 TaskDefinition이라는 작업에 정의된 대로 컨테이너가 실행된다. 여기서 작업을 정의할 때, 기본설정으로 대부분을 설정하다 보니 기본적으로 로그 수집 사용에 체크가 되어있었다. 기본으로 로그 수집 사용이 체크되어 있다. 물론 로그 사용은 필요하지만 불필요한 INFO 로그는 안 봐도 된다. 그러다 인프라 관련 비용을 보던 도중, 어느 순간 매일 $10씩 추가적으로.. 2023. 9. 17.
AWS]ECS Fargate X86에서 ARM으로 회사에서 EC2보다는 ECS를 더 사용하기로 했기 때문에 RI 준비를 하면서 기존에 EC2를 ECS로 전환하는 작업을 진행했다. 그중에서도 X86 아키텍처와 ARM 아키텍처 중, 선택지가 있었는데 아무래도 비용이나 성능면에서나 더 좋은 ARM 아키텍처 기반의 환경을 선택하기로 했다. Savings Plan을 적용했을 때의 요금표는 다음과 같다. * 기준 : 서울리전/리눅스/선결제 없음 두 요금 표는 소숫점으로 봐서 별 차이가 안 날 수 있지만 Fargate를 사용하는 vCPU와 RAM의 합산 요금을 기준으로 계산되기 때문에 실질적으로 큰 차이가 난다. ARM이 X86대비 시간당 RAM(GB)은 약 20%, CPU는 19.7% 둘 다 대략 약 20%가 저렴하다. 그렇다면 왜 더 싼걸까? 일단 몇 가지 이유.. 2023. 5. 9.
AWS Lambda 사용시 주의점 (동시성) AWS Lambda로 간단한 서버리스 API를 구성하다가 오늘 문제점을 만났다. What is AWS Lambda? - AWS Lambda What is AWS Lambda? AWS Lambda is a compute service that lets you run code without provisioning or managing servers. Lambda runs your code on a high-availability compute infrastructure and performs all of the administration of the compute resources, includ docs.aws.amazon.com 문제의 API는 간단한 캐싱 데이터를 가져가는 API인데, 갑자기 Respon.. 2022. 12. 22.
300x250
320x100