일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- opt/anaconda3/bin/jupyter_mac.command
- 리눅스기초
- AWS배포자동화
- blue/green배포
- cissp
- Linux
- AWS 공격테스트
- GDPR
- 리눅스기초명령어
- AWS실습
- Cissp sdlc
- terraform with aws
- terraform따라하기
- aws terraform
- 리눅스
- aws
- terraform기초
- aws따라하기
- linux명령어
- AWS구축
- 최소권한
- terraform기본
- aws기초
- 쉘스크립트
- 직무분리
- 리눅스명령어
- AWS CI/CD
- aws기본
- 주피터노트북 설치
- AWS CodeDeploy
ysuekkom의 IT study note
[AWS Cloud] 분산 어플리케이션 분석 및 디버깅 X-Ray -1 본문
X-Ray?
애플리케이션이 처리하는 요청(Request)에 대한 데이터를 수집하는 서비스이다. 애플리케이션의 페이로드, 함수, 추적, 서비스, API 등 분산 애플리케이션 분석 및 디버깅 용도로 사용된다.
- 애플리케이션 상태 파악 및 성능 개선: 장애 및 Delay 지점을 쉽게 파악하여 인사이트를 얻을 수 있음
- 데이터 사일로 제거: 사용자 환경 개선 및 가동 중단 시간을 줄이는데 필요한 정보를 파악할 수 있음
- 실시간 디버깅: 상세 서비스 맵 생성으로 아키텍처의 병목현상을 파악, 트러블 슈팅 수행
- 클라우드 비용 절감 및 성능 지표 모니터링: 근본 원인 분석을 위한 다른 조건의 추적 세트 분석 가능
- 보안 및 규정 준수: 안전한 데이터 감사 가능

AWS 서비스 이외의 애플리케이션의 데이터도 계측 가능하다. X-Ray 추적을 위한 애플리케이션 계측에는 여러 SDK, 에이전트 및 도구가 있어 활용 가능하다. X-Ray와 통합된 서비스는 요청에 대한 추적 헤더를 추가하거나, X-Ray 데몬을 실행할 수 있다. 예를 들어 요청에 대한 추적 데이터를 람다 함수로 전송하고, 워커에서 X-Ray 데몬을 실행하여 X-Ray SDK를 더 간단하게 사용할 수 있다(API Calls). 또한 AWS 리소스의 추적 데이터를 사용하여 상세한 X-Ray Service Map이라는 시각화 기능을 제공한다. 이를 통해 애플리케이션의 흐름을 쉽게 이해할 수 있으며, 트러블슈팅에 용이하다.

Step Function처럼 시각화를 제공하여 문제를 한 눈에 확인 할 수 있다. 클라이언트 접속 시도 시, 어떤 API가 호출되어 어떠한 리소스를 언제, 어떻게 Request 하며 실행되어지는 지 한 눈에 이해 가능하다.
- 최대 10,000개의 노드 표시 가능
- 오류가 발생한 서비스, 지연시간이 긴 연결 또는 실패한 요청 추적 서비스 식별 가능
- 애플리케이션에서 생성되는 트레이스 데이터를 시간적으로 표현(SQS, Lambda를 사용하는 이벤트 기반 애플리케이션 트레이스 뷰)
- 서비스 노드(요청 처리), 업스트림 클라이언트 노드(요청의 출처), 다운스트림 서비스 노드(요청 처리중 애플리케이션이 사용하는 웹 서비스 및 리소스) 표시
- 자세한 X-Ray Sevice Map 확인하기(이곳)
1. X-Ray와의 통합
X-Ray를 사용할 수 있는 리소스는 다른 AWS 서비스와 통합이 가능하다. 서버리스 애플리케이션 구현 시 사용하는 대부분의 리소스가 통합 가능하다.
- EC2, Lambda, DynamoDB, ELB, API Gateway, SNS, SQS, Elastic BeanStalk 등
또한 자체 App과도 통합 가능하다.(AWS X-Ray API 확인하기)
- Java, Node.js, Go, Ruby, Python으로 구현된 App
- API Calls: AWS SDK로 구현된 App에서 특정 API Call 하면, X-Ray SDK는 API Call에 해당하는 메타데이터를 감지하여 X-Ray Service Map 작성함
2. X-Ray 사용하기
X-Ray Agent를 설치 한 후, X-Ray SDK를 이용하여 X-Ray로 Request, Status Code, Latency 등등의 정보를 파악한다.
- X-Ray Agent 설치
- X-Ray SDK(다양한 라이브러리와 함수 집합)를 사용하여 애플리케이션 설정하기: 데이터의 흐름과 API Call 트레이스(추적데이터 생성) -> X-Ray로 전송하는 역할
다음 포스팅에서는 Elastic BeanStalk을 이용하여 샘플어플리케이션을 배포한 뒤, 데이터를 X-Ray로 분석해 보는 실습을 진행해보겠다.
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/xray-services.html
https://docs.aws.amazon.com/ko_kr/xray/latest/devguide/xray-api.html
https://wwlee94.github.io/category/blog/aws-eb-deploy/
'Cloud Service > AWS' 카테고리의 다른 글
[AWS Cloud] 분산 어플리케이션 분석 및 디버깅 X-Ray -2 실습따라하기 (0) | 2023.07.22 |
---|---|
[AWS Cloud] AWS CI/CD 자동화 구축하기 -CodeDeploy, CodePipeline (0) | 2023.05.17 |
AWS ElasticBeanStalk이란?(EB vs CodeDeploy) (0) | 2023.05.15 |
[AWS Cloud] EC2 자동 빌드/배포하기-Code Deploy CI/CD 따라하기 (0) | 2023.05.14 |
[aws-기본] 로드밸런서 구축하기 (0) | 2022.12.14 |