기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
로컬에서 X-Ray 대몬(daemon) 실행하기
AWS X-Ray 데몬은 리눅스, macOS, Windows 또는 Docker 컨테이너에서 로컬로 실행할 수 있습니다. 구성된 애플리케이션을 개발 및 테스트할 때 대몬(daemon)을 실행해 X-Ray로 추적 데이터를 전달합니다. 여기의 지침에 따라 데몬을 다운로드한 다음 추출합니다.
로컬에서 실행하는 경우 데몬은 사용자 디렉터리의 자격 증명 파일 또는 환경 변수에서 AWS SDK 자격 증명을 읽을 수 있습니다. .aws/credentials
자세한 내용은 대몬(daemon)에 X-Ray로 데이터를 전송할 권한 부여 단원을 참조하십시오.
데몬은 포트 2000에서 데이터를 수신합니다. UDP 구성 파일 및 명령줄 옵션을 사용하여 포트 및 기타 옵션을 변경할 수 있습니다. 자세한 내용은 AWS X-Ray 데몬 설정하기 단원을 참조하십시오.
Linux에서 X-Ray 대몬(daemon) 실행
명령줄에서 데몬 실행 파일을 실행할 수 있습니다. -o
옵션을 사용하여 로컬 모드에서 실행하고 -n
으로 리전을 설정합니다.
~/xray-daemon$ ./xray -o -n us-east-2
데몬을 배경에서 실행하려면 &
를 사용합니다.
~/xray-daemon$ ./xray -o -n us-east-2 &
pkill
은 배경에서 실행되는 데몬 프로세스를 종료합니다.
~$ pkill xray
(Docker 컨테이너에서 X-Ray 대몬(daemon) 실행
도커 컨테이너에서 데몬을 로컬로 실행하기 위해 다음 텍스트를 Dockerfile
이라는 파일로 저장합니다. Amazon에서 전체 예제 이미지를
예 도커파일 — Amazon Linux
FROM amazonlinux RUN yum install -y unzip RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip RUN unzip daemon.zip && cp xray /usr/bin/xray ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"] EXPOSE 2000/udp EXPOSE 2000/tcp
docker build
를 사용하여 컨테이너 이미지를 빌드합니다.
~/xray-daemon$ docker build -t xray-daemon .
docker run
을 사용하여 컨테이너에서 이미지를 실행합니다.
~/xray-daemon$ docker run \
--attach STDOUT \
-v ~/.aws/:/root/.aws/:ro \
--net=host \
-e AWS_REGION=us-east-2 \
--name xray-daemon \
-p 2000:2000/udp \
xray-daemon -o
이 명령은 다음 옵션을 사용합니다.
-
--attach STDOUT
– 터미널에서 대몬(daemon) 출력을 봅니다. -
-v ~/.aws/:/root/.aws/:ro
— 컨테이너에.aws
디렉터리에 대한 읽기 전용 액세스 권한을 부여하여 AWS SDK 자격 증명을 읽을 수 있도록 합니다. -
AWS_REGION=
–us-east-2
AWS_REGION
환경 변수를 설정하여 대몬(daemon)에 어떤 리전을 사용할지 알립니다. -
--net=host
– 컨테이너를host
네트워크에 연결합니다. 호스트 네트워크의 컨테이너는 포트를 게시하지 않고 서로 통신할 수 있습니다. -
-p 2000:2000/udp
— 컴퓨터의 UDP 포트 2000을 컨테이너의 동일한 포트에 매핑합니다. 동일한 네트워크의 컨테이너끼리 통신하는 데는 필요 없지만, 도커에서 실행되지 않는 애플리케이션이나 명령줄에서 데몬으로 세그먼트를 전송할 수 있게 됩니다. -
--name xray-daemon
– 임의의 이름을 생성하는 대신 컨테이너에xray-daemon
라는 이름을 지정합니다. -
-o
(이미지 이름 뒤) – 컨테이너 내에서 대몬(daemon)을 실행하는 진입점에-o
옵션을 추가합니다. 이 옵션은 Amazon EC2 인스턴스 메타데이터를 읽으려고 시도하지 않도록 데몬이 로컬 모드에서 실행하도록 지시합니다.
데몬을 중지하려면 docker stop
을 사용합니다. Dockerfile
을 변경하여 새 이미지를 빌드한 경우, 같은 이름으로 다른 컨테이너를 생성하려면 기존 컨테이너를 삭제해야 합니다. 컨테이너는 docker rm
을 사용하여 삭제합니다.
$ docker stop xray-daemon
$ docker rm xray-daemon
Windows에서 X-Ray 대몬(daemon) 실행
명령줄에서 데몬 실행 파일을 실행할 수 있습니다. -o
옵션을 사용하여 로컬 모드에서 실행하고 -n
으로 리전을 설정합니다.
> .\xray_windows.exe -o -n us-east-2
PowerShell 스크립트를 사용하여 데몬용 서비스를 생성하고 실행합니다.
예 PowerShell 스크립트 - 윈도우
if ( Get-Service "AWSXRayDaemon" -ErrorAction SilentlyContinue ){
sc.exe stop AWSXRayDaemon
sc.exe delete AWSXRayDaemon
}
if ( Get-Item -path aws-xray-daemon -ErrorAction SilentlyContinue ) {
Remove-Item -Recurse -Force aws-xray-daemon
}
$currentLocation = Get-Location
$zipFileName = "aws-xray-daemon-windows-service-3.x.zip"
$zipPath = "$currentLocation\$zipFileName"
$destPath = "$currentLocation\aws-xray-daemon"
$daemonPath = "$destPath\xray.exe"
$daemonLogPath = "C:\inetpub\wwwroot\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)
sc.exe create AWSXRayDaemon binPath= "$daemonPath -f $daemonLogPath"
sc.exe start AWSXRayDaemon
OS X에서 X-Ray 대몬(daemon) 실행
명령줄에서 데몬 실행 파일을 실행할 수 있습니다. -o
옵션을 사용하여 로컬 모드에서 실행하고 -n
으로 리전을 설정합니다.
~/xray-daemon$ ./xray_mac -o -n us-east-2
데몬을 배경에서 실행하려면 &
를 사용합니다.
~/xray-daemon$ ./xray_mac -o -n us-east-2 &
터미널이 닫힐 때 데몬이 종료되는 것을 방지하려면 nohup
을 사용합니다.
~/xray-daemon$ nohup ./xray_mac &