AWS(18)
-
CloudWatch EMF를 통해 상태 코드별 지표 수집하기
앞선 글에서는 API 요청 수를 지표로 수집했지만, 이 수치만으로는 서비스의 정상 여부를 판단하기 어렵다는 한계가 있습니다. 예를 들어 요청 수는 꾸준히 늘고 있지만, 그 중 절반이 500 에러라면 단순 요청 수만 봐서는 문제를 인지하지 못할 수 있습니다.이럴 때는 HTTP 응답 상태 코드별로 요청 수를 분류해 지표를 수집하면, 에러 비율이나 특정 상태 코드의 급증 여부를 통해 보다 정밀한 모니터링이 가능해집니다. 1. MetricInterceptor 수정하기앞선 글에서 만들었던 MetricInterceptor는 단순히 API 요청 수만 기록하도록 구현되어 있었습니다. 이제 여기에 HTTP 응답 상태 코드를 함께 수집할 수 있도록 로직을 확장해보겠습니다. [metric.interceptor.ts]impo..
2025.05.15 -
CloudWatch EMF를 통해 지표 수집하기
모니터링은 서비스의 상태와 이상 징후를 파악하고, 문제 발생 시 빠르게 대응하기 위한 인프라 운영에 필수적인 부분입니다. 이러한 모니터링을 위해 가장 필요한 것은 지표(Metric)입니다. 예를 들어, API 요청 수, 응답 시간, 에러 비율, CPU 사용량, 메모리 사용량 등이 대표적인 지표에 해당합니다.앞선 글에서 설명한 것처럼 AWS에서는 CloudWatch를 통해 기본적인 지표들을 바로 확인할 수 있으며, EC2에 애플리케이션을 배포한 경우 CloudWatch Agent를 설치하여 추가적인 시스템 지표도 수집할 수 있습니다.하지만, API 요청 수나 응답 시간, 레이턴시와 같은 애플리케이션 레벨 지표는 CloudWatch Agent를 연동하더라도 수집할 수 없습니다. CloudWatch Agent..
2025.05.11 -
EC2에 CloudWatch 연동
모니터링은 안정적인 인프라 운영에 매우 중요한 부분입니다. 서비스에 문제가 발생하면 사용자는 서비스를 이용할 수 없게 되고, 그 영향이 연관된 다른 서비스로 번지며 더 큰 장애로 이어질 수 있습니다. 더 나아가, 발생한 문제를 수습하는 데는 많은 시간과 비용이 들기 때문에 사후 대응보다는 사전 탐지와 예방이 훨씬 중요합니다. 이를 위해 우리는 모니터링을 통해 시스템의 상태를 지속적으로 관찰하고, 문제가 발생하기 전의 이상 징후를 빠르게 파악하여 미리 대응할 수 있어야 합니다.이번 글에서는 AWS에서 EC2 인스턴스를 모니터링하기 위해 CloudWatch Agent를 설정하는 방법과, 수집된 데이터를 바탕으로 CloudWatch 대시보드를 구성하는 방법에 대해 단계별로 설명합니다. 1. CloudWatch..
2025.05.06 -
CI/CD 파이프라인 구축 - AWS CodePipeline으로 EC2에 자동 배포하기 (3)
지난 글에서는 간단한 프로젝트와 EC2 및 CodePipeline을 설정했습니다. 이번 글에서는 CodeBuild에서 실행할 명령어와 빌드 결과물을 정의하는 buildspec.yml 파일과 CodeDeploy가 배포 과정에서 실행할 명령어를 정의하는 appspec.yml 파일과 스크립트를 작성하고, 실제 배포까지 진행하는 과정을 살펴보겠습니다. 1. buildspec.yml 작성buildspec.yml은 CodeBuild가 실행할 명령어와 빌드 단계를 정의하는 YAML 형식의 설정 파일입니다. 이 파일을 통해 의존성 설치, 코드 빌드, 빌드 아티팩트(결과물) 저장 등의 작업을 수행할 수 있습니다. 프로젝트 루트에 buildspec.yml 파일을 생성한 후, 아래와 같이 작성합니다. [buildspec.y..
2025.03.22 -
AWS CodePipeline 주요 옵션 정리
1. 파이프라인 설정- 실행 모드 : CodePipeline에서 새로운 실행 요청이 발생했을 때, 어떻게 처리할지 결정하는 옵션입니다.대체됨 : 새로운 실행이 시작되면, 기존 실행 중이던 프로세스를 취소하고 새로운 실행을 시작합니다. 이전 실행을 무시하고 최신 코드 기준으로만 실행되므로 배포 속도가 중요할 때 유용하지만, 배포 중간에 중단될 위험이 있으므로 신중하게 사용해야 합니다.대기됨 : 새로운 실행이 발생해도 기존 실행이 완료될 때까지 대기열에서 쌓여서 기다립니다. 기존 배포가 끝난 후 새로운 배포가 순차적으로 실행되므로 안정성이 중요한 서비스에 적합합니다. 하지만, 너무 많은 실행이 대기열에 쌓이면 배포 속도가 느려질 수 있습니다.병렬 : 실행 중인 프로세스와 관계없이 새로운 실행이 병렬로 동시에..
2025.03.18 -
CI/CD 파이프라인 구축 - AWS CodePipeline으로 EC2에 자동 배포하기 (1)
프로그래밍을 하다 보면, 어떤 방식으로든 노력과 시간이 필요합니다. 마법처럼 모든 일이 자동으로 해결되는 않죠. 하지만, 어차피 공을 들여야 한다면, 최대한 효율적으로 하는 것이 더 낫지 않을까요? 그런 의미에서 배포 자동화는 초기 세팅에 한 번의 공수를 들여, 이후에는 최대한 효율적으로 배포할 수 있도록 만드는 과정입니다.이번 글에서에서는 AWS CodePipeline을 사용하여 Git에 있는 코드를 EC2에 자동으로 배포하는 CI/CD 파이프라인을 구축하는 방법을 설명하려고 합니다. 배포 자동화가 왜 중요한지부터, 실제로 어떻게 설정하는지까지 단계별로 살펴보겠습니다. 1. 수동 배포의 한계와 문제점서비스를 개발하고 운영하려면 코드를 배포해야 합니다. 배포 방식에는 여러 가지가 있지만, 가장 기본적인 ..
2025.03.16