AWS Elastic Beanstalk에서 X-Ray 대몬(daemon) 실행 - AWS X-Ray

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Elastic Beanstalk에서 X-Ray 대몬(daemon) 실행

트레이스 데이터를 애플리케이션에서 AWS X-Ray로 중계하기 위해 Elastic Beanstalk 환경의 Amazon EC2 인스턴스에서 X-Ray 대몬(daemon)을 실행할 수 있습니다. 지원되는 플랫폼 목록은 AWS Elastic Beanstalk 개발자 안내서의 AWS X-Ray 디버깅 구성을 참조하십시오.

참고

데몬은 권한을 위해 환경의 인스턴스 프로파일을 사용합니다. Elastic Beanstalk 인스턴스 프로파일에 권한을 추가하는 자세한 내용은 대몬(daemon)에 X-Ray로 데이터를 전송할 권한 부여 섹션을 참조하십시오.

Elastic Beanstalk 플랫폼에는 대몬(daemon)을 자동으로 실행하도록 설정할 수 있는 구성 옵션이 있습니다. 소스 코드의 구성 파일을 사용하거나 Elastic Beanstalk 콘솔에서 옵션을 선택하여 대몬(daemon)을 활성화할 수 있습니다. 구성 옵션을 활성화하면 데몬이 인스턴스에 설치되고 서비스로 실행됩니다.

Elastic Beanstalk 플랫폼에 포함된 버전이 최신 버전이 아닐 수 있습니다. 해당 플랫폼 구성에서 사용 가능한 데몬의 버전을 확인하려면 지원되는 플랫폼 항목을 참조하십시오.

Elastic Beanstalk는 멀티컨테이너 도커(Amazon ECS) 플랫폼에서 X-Ray 대몬(daemon)을 제공하지 않습니다.

Elastic Beanstalk X-Ray 통합을 사용하여 X-Ray 대몬(daemon) 실행하기

콘솔을 사용하여 X-Ray 통합을 켜거나 구성 파일을 사용하여 애플리케이션 소스 코드에서 구성합니다.

Elastic Beanstalk 콘솔에서 X-Ray 대몬(daemon)을 활성화하려면
  1. Elastic Beanstalk 콘솔을 엽니다.

  2. 사용 중인 환경의 관리 콘솔로 이동합니다.

  3. Configuration(구성)을 선택합니다.

  4. [Software Settings]를 선택합니다.

  5. [X-Ray daemon]에서 [Enabled]를 선택합니다.

  6. Apply(적용)를 선택합니다.

구성 파일을 소스 코드에 포함시켜 구성을 환경 사이에서 이동할 수 있습니다.

예 .ebextensions/xray-daemon.config
option_settings: aws:elasticbeanstalk:xray: XRayEnabled: true

Elastic Beanstalk은 구성 파일을 대몬(daemon)에 전달하고 로그를 표준 위치로 출력합니다.

Windows Server 플랫폼
  • 구성 파일C:\Program Files\Amazon\XRay\cfg.yaml

  • 로그c:\Program Files\Amazon\XRay\logs\xray-service.log

Linux 플랫폼
  • 구성 파일/etc/amazon/xray/cfg.yaml

  • 로그/var/log/xray/xray.log

Elastic Beanstalk은 AWS Management Console 또는 명령줄에서 인스턴스 로그를 가져오기 위한 도구를 제공합니다. 구성 파일을 포함하는 작업을 추가하여 Elastic Beanstalk이 X-Ray 대몬(daemon) 로그를 포함하도록 지정할 수 있습니다.

예 .ebextensions/xray-logs.config - Linux
files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log
예 .ebextensions/xray-logs.config - Windows Server
files: "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | c:\Progam Files\Amazon\XRay\logs\xray-service.log

자세한 내용은 AWS Elastic Beanstalk 개발자 안내서Elastic Beanstalk 환경에서 Amazon EC2 인스턴스의 로그 보기를 참조하세요.

수동으로 X-Ray 대몬(daemon) 다운로드 및 실행하기 (고급)

플랫폼 구성에 X-Ray 대몬(daemon)을 사용할 수 없는 경우 Amazon S3에서 다운로드하여 구성 파일과 함께 실행할 수 있습니다.

Elastic Beanstalk 구성 파일을 사용하여 대몬(daemon)을 다운로드하고 실행합니다.

예 .ebextensions/xray.config – Linux
commands: 01-stop-tracing: command: yum remove -y xray ignoreErrors: true 02-copy-tracing: command: curl https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-3.x.rpm -o /home/ec2-user/xray.rpm 03-start-tracing: command: yum install -y /home/ec2-user/xray.rpm files: "/opt/elasticbeanstalk/tasks/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | /var/log/xray/xray.log "/etc/amazon/xray/cfg.yaml" : mode: "000644" owner: root group: root content: | Logging: LogLevel: "debug" Version: 2
예 .ebextensions/xray.config - Windows Server
container_commands: 01-execute-config-script: command: Powershell.exe -ExecutionPolicy Bypass -File c:\\temp\\installDaemon.ps1 waitAfterCompletion: 0 files: "c:/temp/installDaemon.ps1": content: | if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ) { sc.exe stop AWSXRayDaemon sc.exe delete AWSXRayDaemon } $targetLocation = "C:\Program Files\Amazon\XRay" if ((Test-Path $targetLocation) -eq 0) { mkdir $targetLocation } $zipFileName = "aws-xray-daemon-windows-service-3.x.zip" $zipPath = "$targetLocation\$zipFileName" $destPath = "$targetLocation\aws-xray-daemon" if ((Test-Path $destPath) -eq 1) { Remove-Item -Recurse -Force $destPath } $daemonPath = "$destPath\xray.exe" $daemonLogPath = "$targetLocation\xray-daemon.log" $url = "https://s3.dualstack.us-west-2.amazonaws.com/aws-xray-assets.us-west-2/xray-daemon/aws-xray-daemon-windows-service-3.x.zip" Invoke-WebRequest -Uri $url -OutFile $zipPath Add-Type -Assembly "System.IO.Compression.Filesystem" [io.compression.zipfile]::ExtractToDirectory($zipPath, $destPath) New-Service -Name "AWSXRayDaemon" -StartupType Automatic -BinaryPathName "`"$daemonPath`" -f `"$daemonLogPath`"" sc.exe start AWSXRayDaemon encoding: plain "c:/Program Files/Amazon/ElasticBeanstalk/config/taillogs.d/xray-daemon.conf" : mode: "000644" owner: root group: root content: | C:\Program Files\Amazon\XRay\xray-daemon.log

또한 이 예제에서는 대몬(daemon)의 로그 파일을 Elastic Beanstalk 테일 로그 작업에 추가하여 콘솔 또는 Elastic Beanstalk 명령줄 인터페이스(EB CLI)로 로그를 요청할 때 포함되도록 합니다.