AWS X-Ray 데몬 - AWS X-Ray

AWS X-Ray 데몬

참고

CloudWatch 에이전트를 사용하여 Amazon EC2 인스턴스 및 온프레미스 서버에서 지표, 로그, 추적을 수집할 수 있습니다. CloudWatch 에이전트 버전 1.300025.0 이상은 OpenTelemetry 또는 X-Ray 클라이언트 SDK에서 추적을 수집하여 X-Ray에 전송할 수 있습니다. AWS Distro for OpenTelemetry(ADOT) Collector 또는 X-Ray 대몬(daemon) 대신 CloudWatch 에이전트를 사용하여 추적을 수집하면 관리해야 하는 에이전트 수를 줄일 수 있습니다. 자세한 내용은 CloudWatch 사용 설명서의 CloudWatch 에이전트 항목을 참조하십시오.

AWS X-Ray 데몬은 UDP 포트 2000에서 트래픽을 수신 대기하고 원시 세그먼트 데이터를 수집하여 AWS X-Ray API에 중계하는 소프트웨어 애플리케이션입니다. 대몬(daemon)은 AWS X-Ray SDK와 함께 작동하며, SDK가 전송하는 데이터가 X-Ray 서비스에 도달하려면 데몬이 실행 중이어야 합니다. X-Ray 대몬(daemon)은 오픈 소스 프로젝트입니다. 프로젝트를 따르고 GitHub(github.com/aws/aws-xray-daemon)에서 문제 및 풀 요청을 제출할 수 있습니다.

AWS Lambda 그리고 AWS Elastic Beanstalk에서 해당 서비스와 X-Ray의 통합을 사용하여 대몬(daemon)을 실행합니다. Lambda는 샘플링된 요청에 대해 함수가 호출될 때마다 자동으로 대몬(daemon)을 실행합니다. Elastic Beanstalk에서는 XRayEnabled 구성 옵션을 사용하여 환경 내 인스턴스에서 대몬(daemon)을 실행합니다. 자세한 내용을 알아보려면 다음 섹션을 참조하세요.

로컬, 온프레미스 또는 다른 AWS 서비스에서 X-Ray 대몬(daemon)을 실행하려면 다운로드하여 실행한 다음 세그먼트 문서를 X-Ray에 업로드할 수 있는 권한을 부여하세요.

데몬 다운로드

Amazon S3, Amazon ECR 또는 Docker Hub에서 대몬(daemon)을 다운로드한 다음 로컬에서 실행하거나 시작 시 Amazon EC2 인스턴스에 설치할 수 있습니다.

Amazon S3
X-Ray 대몬(daemon) 설치 프로그램 및 실행 파일

이들 링크는 항상 대몬(daemon)의 최신 3.x 릴리스를 가리킵니다. 특정 릴리스를 다운로드하려면 다음을 수행합니다.

  • 버전 3.3.0 이전 릴리스를 다운로드하려면 3.x를 버전 번호로 바꿉니다. 예: 2.1.0. 버전 3.3.0 이전에 사용 가능한 유일한 아키텍처는 arm64입니다. 예: 2.1.0arm64.

  • 3.3.0 버전 이후 릴리스를 다운로드하려면 3.x는 버전 번호로, arch는 아키텍처 유형으로 바꿉니다.

X-Ray 자산은 지원되는 모든 리전에서 버킷에 복제됩니다. 사용자와 가장 가까운 버킷 또는 사용자의 AWS 리소스를 사용하려면 위 링크에서 리전을 사용자의 리전으로 바꿉니다.

https://s3.us-west-2.amazonaws.com/aws-xray-assets.us-west-2/xray-daemon/aws-xray-daemon-3.x.rpm
Amazon ECR

버전 3.2.0부터 Amazon ECR에서 대몬(daemon)을 찾을 수 있습니다. 이미지를 가져오기 전에 Amazon ECR 퍼블릭 레지스트리에 docker 클라이언트를 인증해야 합니다.

다음 명령을 실행하여 최신 릴리스된 3.x 버전 태그를 가져옵니다.

docker pull public.ecr.aws/xray/aws-xray-daemon:3.x

이전 릴리스 또는 알파 릴리스는 3.xalpha 또는 특정 버전 번호로 바꾸어 다운로드할 수 있습니다. 프로덕션 환경에서는 알파 태그가 있는 대몬(daemon) 이미지를 사용하지 않는 것이 좋습니다.

Docker Hub

대몬(daemon)은 Docker Hub에서 찾을 수 있습니다. 최신 릴리스 3.x 버전을 다운로드하려면 다음 명령을 실행하세요.

docker pull amazon/aws-xray-daemon:3.x

이전 버전의 대몬(daemon)은 3.x을 원하는 버전으로 교체하여 릴리스할 수 있습니다.

데몬 아카이브의 서명 확인

ZIP 아카이브로 압축된 데몬 자산에 대해 GPG 서명 파일이 포함됩니다. 퍼블릭 키 위치는 다음과 같습니다. aws-xray.gpg.

퍼블릭 키를 사용하여 데몬의 ZIP 아카이브가 원본이며 수정되지 않았는지 확인할 수 있습니다. 먼저 GnuPG를 사용하여 퍼블릭 키를 가져옵니다.

퍼블릭 키 가져오기
  1. 퍼블릭 키를 다운로드합니다.

    $ BUCKETURL=https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2 $ wget $BUCKETURL/xray-daemon/aws-xray.gpg
  2. 퍼블릭 키를 인증 키로 가져옵니다.

    $ gpg --import aws-xray.gpg gpg: /Users/me/.gnupg/trustdb.gpg: trustdb created gpg: key 7BFE036BFE6157D3: public key "AWS X-Ray <aws-xray@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1

가져온 키를 사용하여 데몬 ZIP 아카이브의 서명을 확인합니다.

아카이브 서명 확인
  1. 아카이브 및 서명 파일을 다운로드합니다.

    $ BUCKETURL=https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2 $ wget $BUCKETURL/xray-daemon/aws-xray-daemon-linux-3.x.zip $ wget $BUCKETURL/xray-daemon/aws-xray-daemon-linux-3.x.zip.sig
  2. gpg --verify를 실행하여 서명을 확인합니다.

    $ gpg --verify aws-xray-daemon-linux-3.x.zip.sig aws-xray-daemon-linux-3.x.zip gpg: Signature made Wed 19 Apr 2017 05:06:31 AM UTC using RSA key ID FE6157D3 gpg: Good signature from "AWS X-Ray <aws-xray@amazon.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: EA6D 9271 FBF3 6990 277F 4B87 7BFE 036B FE61 57D3

신뢰에 대한 경고를 참조하세요. 사용자 또는 사용자가 신뢰하는 사람이 서명한 키만 신뢰됩니다. 이는 서명이 잘못되었음을 의미하지 않습니다. 단지 해당 사용자가 퍼블릭 키를 확인하지 않은 것입니다.

데몬 실행

명령줄을 사용하여 데몬을 로컬로 실행합니다. -o 옵션을 사용하여 로컬 모드에서 실행하고 -n으로 리전을 설정합니다.

~/Downloads$ ./xray -o -n us-east-2

플랫폼별 세부 지침은 다음 항목을 참조하십시오.

명령줄 옵션 또는 구성 파일을 사용하여 데몬의 동작을 추가로 사용자 지정할 수 있습니다. 세부 정보는 AWS X-Ray 데몬 구성를 참조하세요.

대몬(daemon)에 X-Ray로 데이터를 전송할 권한 부여

X-Ray 대몬(daemon)은 AWS SDK를 사용하여 트레이스 데이터를 X-Ray로 업로드하며, 이 작업을 수행할 권한이 있는 AWS 자격 증명이 필요합니다.

Amazon EC2에서는 대몬(daemon)이 자동으로 인스턴스의 인스턴스 프로파일 역할을 사용합니다. 대몬을 로컬에서 실행하는 데 필요한 자격 증명에 대한 자세한 내용은 로컬에서 애플리케이션 실행을 참조하세요.

자격 증명 파일, 인스턴스 프로파일 또는 환경 변수 등 둘 이상의 위치에서 자격 증명을 지정한 경우 SDK 공급자 체인이 사용할 자격 증명을 결정합니다. SDK에 자격 증명을 제공하는 방법에 대한 자세한 내용은 AWS SDK for Go 개발자 안내서자격 증명 지정 단원을 참조하십시오.

데몬의 자격 증명이 속하는 IAM 역할 또는 사용자는 서비스에 데이터를 기록할 권한이 있어야 합니다.

  • Amazon EC2에서 대몬(daemon)을 사용하려면 새 인스턴스 프로파일 역할을 생성하거나 기존 정책에 관리형 정책을 추가합니다.

  • Elastic Beanstalk에서 대몬(daemon)을 사용하려면 Elastic Beanstalk 기본 인스턴스 프로파일 역할에 관리형 정책을 추가합니다.

  • 대몬(daemon)을 로컬에서 실행하려면 로컬에서 애플리케이션 실행을 참조하십시오.

자세한 내용은 AWS X-Ray의 I자격 증명 및 액세스 관리 단원을 참조하십시오.

X-Ray 대몬(daemon) 로그

데몬은 현재 구성 및 AWS X-Ray로 전송되는 세그먼트에 대한 정보를 출력합니다.

2016-11-24T06:07:06Z [Info] Initializing AWS X-Ray daemon 2.1.0 2016-11-24T06:07:06Z [Info] Using memory limit of 49 MB 2016-11-24T06:07:06Z [Info] 313 segment buffers allocated 2016-11-24T06:07:08Z [Info] Successfully sent batch of 1 segments (0.123 seconds) 2016-11-24T06:07:09Z [Info] Successfully sent batch of 1 segments (0.006 seconds)

기본적으로 데몬은 STDOUT에 로그를 출력합니다. 백그라운드에서 데몬을 실행하는 경우 --log-file 명령줄 옵션 또는 구성 파일을 사용하여 로그 파일 경로를 설정합니다. 이와 함께 로그 수준을 설정하고 로그 순환을 비활성화할 수 있습니다. 자세한 내용은 AWS X-Ray 데몬 구성 섹션을 참조하세요.

Elastic Beanstalk에서는 플랫폼에 따라 대몬(daemon) 로그의 위치가 설정됩니다. 세부 정보는 AWS Elastic Beanstalk에서 X-Ray 대몬(daemon) 실행를 참조하세요.