목록DevOps/AWS (6)
개발자는 기록이 답이다
모니터링은 서비스 운영 시 필요합니다. 대시보드에 RDS의 CPU 사용률, DB 연결개수, 여유메모리, ECS의 CPU 사용률, 메모리 사용률, ALB의 200, 400, 500 개수, healthyHostCount, unhealthHostCount 를 포함시키겠습니다. 대시보드 (1) 대시보드 생성 위치 : CloudWatch > Dashboard CloudWatch 에서 대시보드 클릭 후 새 대시보드 생성 대시보드 이름 : animal-dashboard-prod (2) 지표 선택 위젯 추가 및 행 선택 지표 선택 ECS/ContainerInsights 선택 ClusterName 선택 cluster-nestjs-02 의 CpuUtilized 및 MemoryUtilized를 선택 같은 카테고리에서 동..
ECR,ECS로 배포한 서버의 DNS로 접속시, 메인 라우터로 로그가 나오게 한 뒤 슬랙알람으로 연동했는데, 로그가 계속 연속으로 쌓이는 문제가 발생했습니다. 처음에는 DNS를 랜덤하게 라우팅 받아서 포트스캐닝하는 해킹 시도인 줄 알고, 보안인증서 SSL적용을 해야하나, 팀원들 ip로만 포트를 열어야 되나 고민했었는데, 헬스체킹으로 인한 AWS의 DNS접속 시도라고 판단되어 관련 문제를 해결한 포스팅을 작성하려고 합니다 1. 문제 상황 CloudWatch logs에 몇 초마다 끊임없이 생기는 로그때문에 슬랙알람도 계속 오고 있었습니다. 이런 상황은 불필요한 로그와 알람으로 aws과금 문제가 발생할 수 있기 때문에 해결해야 했습니다. 2. 헬스 체크용 라우터 vs 메인 라우터 코드 분리 @Get()..
데이터베이스의 처리량이 한계에 도달했을 때 대처 방법은 ECS나 EC2와 마찬가지로 스케일링을 합니다. 그러나 RDS 오토스케일링을 하지 않은 이유는, 현재 프로젝트에서 RDS Aurora가 아닌 RDS MySQL로 사용 중입니다. 원티드 기술 블로그에서 확인해보니, 일반적인 RDS MySQL은 Auto Scaling 기능과 무중단 스케일 업을 제공하지 않는다고 합니다. RDS MySQL에서는 수동으로 인스턴스 유형을 변경해야 하며, 인스턴스 크기 조정이나 확장에는 일시적인 중단이 발생할 수 있다고 합니다. Aurora로 마이그레이션 후 auto scaling을 적용할 수도 있겠지만, 오늘은 수동으로 하는 방법을 포스팅하려고 합니다. 0. DB의 master과 slave개념에 대해 이해 1. '스..
EC2에서는 스케일 아웃, 스케일 인 과는 달리 '스케일 업'은 서비스 중단이 필요합니다. ECS에서 스케일 업은 롤링 배포를 함으로 무중단으로 배포 할 수 있습니다. ==> 커리큘럼대로 따라해보려 했지만, 기존에 구축해놓은 ECS 환경에서 이미 Auto Scale Up을 해주도록 설정해놓은 것 같아서 실제로 Scale Up을 해주는지는 스트레스 테스트를 해본 후 알 수 있을 것 같습니다 스케일 업(Scale up) (1) 스케일 업은 작업정의에서 진행합니다. 기존 작업 정의를 체크 한 상태에서 새 개정 생성 버튼을 클릭합니다. 작업 크기를 작업 메모리는 0.5GB -> 1.GB 로 작업 CPU는 0.25CPU 에서 0.5 CPU로 변경 합니다. -> 커리큘럼상 변경하는 수치보다 기존에 만들어..