스타트업 엔지니어의 AWS 비용 최적화 경험기
인프런을 운영하는 인프랩에서 인프라 비용을 최적화하는 과정을 담은 글이네요. 데이터 엔지니어링을 하면서 클라우드 비용 최적화를 많이 시도했는데, 더 넓은 관점에서 작성해주셔서 유용하네요. * 팀 차원에서 지속적인 관심 가지기 : 비용 최적화 현황표 제작 * 월별 비용지표 리뷰하기 * Top 10 비용 먼저 분할 정복 * MSP 계약을 하면 AWS Cost Explorer를 사용할 수 없어 별도로 분석해야 함 * RDS Aurora PostgreSQL : Scale-down 작업은 중단없이 매끄럽게 진행. 새 인스턴스 실행은 사용자가 적은 시간에 rolling-out * 쿼리 최적화 : 슬로우 쿼리 슬랙 알림 보내기 / DBM(Datadog Database Monitoring) 도입 * 리소스 태깅 * 회사에서 운영하는 서비스, 제품, 부서마다 비용을 파악하기 위해 태깅이 필요 * 비용 지출이 큰 관리형 서비스 경계하기 * AWS Elemental MediaConvert * 강의가 많아질수록 인코딩해야 할 영상이 많아짐 * 1년 단위로 비용을 지불해야 하는 부담. 언제 강의가 많이 제출될지 예측이 어려움 * AI 음성인식 모델을 활용한 STT 작업과 유연하게 이어져야 함 * 직접 구축해서 비용 절감. AWS Batch * CircleCI 대신 Jenkins * 피크타임에 유연하게 대응하기 위해 클라우드의 젠킨스 파이프라인 구축 * EC2 Spot 인스턴스 * 비용을 줄일 수 있음 * MSP 적극 사용하기 * MSP(Managed Service Provider)의 장점 : 세금계산서 발행 * 크레딧 지급, 서포트도 받을 수 있음 * 서버리스의 함정에 빠지지 말기 * 가끔 실행되는 몇 개의 기능만 필요하면 서버리스 나쁘지 않음 * 24시간 실행해야 하는 경우 서버리스 적합하지 않음 * 서버리스에서 클라우드 네이티브 서비스를 사용할수록 벤더 락인에 갇히기 쉬움 * AWS Fargate * AWS의 Fargate를 ECS에서 실행해서 초기 워드프레스로 운영 * Fargate의 제약 조건 * 컨테이너 접근 불가 : AWS Systems manager를 설정하지 않으면 접근할 수 없음 * provisioned 권한 이유 불가. 아마존에서 Host의 provisioned 권한을 부여하지 않음 * Fargate에서 도커 빌드, s3fx 가상 드라이브 마운팅이 불가능 * 커널 파라미터 수정 불가 : 23년 8월부터 커널 파라미터 구성을 지원하나, 소켓 부족 현상이 발생 * EC2와 성능 차이 존재 * 배포 소요시간이 더 걸림 * 빠르고 저렴한 CDN 적극적으로 활용하기 * AWS CloudFornt 사용 * 유저 상세 페이지, 수강평 페이지 같은 동적 컨텐츠에 CDN 캐싱을 적용 * 내부 서비스 호출에는 내부망 사용 * 내부 서버 통신은 프라이빗 서브넷에서 진행 https://tech.inflab.com/20240227-finops-for-startup/