기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
X-Ray를 이용한 앱 러너 애플리케이션 추적
AWS X-Ray 애플리케이션에서 처리하는 요청에 대한 데이터를 수집하고, 해당 데이터를 보고, 필터링하고, 통찰력을 확보하여 최적화를 위한 문제와 기회를 식별하는 데 사용할 수 있는 도구를 제공하는 서비스입니다. 애플리케이션에 대한 추적된 요청의 경우 요청 및 응답뿐만 아니라 애플리케이션이 다운스트림 AWS 리소스, 마이크로서비스, 데이터베이스 및 HTTP 웹 API에 대해 수행하는 호출에 대한 세부 정보도 볼 수 있습니다.
X-Ray는 클라우드 애플리케이션을 지원하는 AWS 리소스의 추적 데이터를 사용하여 상세한 서비스 그래프를 생성합니다. 서비스 그래프는 프런트 엔드 서비스가 요청을 처리하고 데이터를 유지하기 위해 호출하는 클라이언트, 프런트 엔드 서비스 및 백엔드 서비스를 보여줍니다. 서비스 그래프를 사용하여 병목 현상, 지연 시간 급증 및 기타 해결해야 할 문제를 식별하여 애플리케이션의 성능을 개선하십시오.
X-Ray에 대한 자세한 내용은 AWS X-Ray 개발자 안내서를 참조하세요.
추적을 위해 애플리케이션을 계측하십시오.
휴대용 텔레메트리 사양인 을 사용하여 OpenTelemetry
애플리케이션에서 사용하는 특정 ADOT SDK에 따라 ADOT는 자동 및 수동이라는 최대 두 가지 계측 접근 방식을 지원합니다. SDK를 사용한 계측에 대한 자세한 내용은 ADOT 설명서를
런타임 설정
다음은 App Runner 서비스 애플리케이션을 추적할 수 있도록 계측하기 위한 일반적인 런타임 설정 지침입니다.
런타임에 대한 추적 설정하기
-
AWS Distro for OpenTelemetry
(ADOT) 의 런타임에 제공된 지침을 따라 애플리케이션을 계측하십시오. -
소스 코드 리포지토리를 사용하는 경우
apprunner.yaml
파일build
섹션에, 컨테이너 이미지를 사용하는 경우 Dockerfile에 필요한OTEL
종속성을 설치합니다. -
소스 코드 리포지토리를 사용하는 경우
apprunner.yaml
파일에 환경 변수를 설정하고 컨테이너 이미지를 사용하는 경우 Dockerfile에서 환경 변수를 설정합니다.예 환경 변수
참고
다음 예제는 파일에 추가할 중요한 환경 변수를 나열합니다.
apprunner.yaml
컨테이너 이미지를 사용하는 경우 이러한 환경 변수를 Dockerfile에 추가하세요. 그러나 각 런타임에는 고유한 특성이 있을 수 있으므로 다음 목록에 더 많은 환경 변수를 추가해야 할 수도 있습니다. 런타임별 지침 및 런타임에 맞게 애플리케이션을 설정하는 방법에 대한 예제에 대한 자세한 내용은 시작하기에서 런타임용AWS 배포판 OpenTelemetry및 실행으로 이동을 참조하십시오. env: - name: OTEL_PROPAGATORS value: xray - name: OTEL_METRICS_EXPORTER value: none - name: OTEL_EXPORTER_OTLP_ENDPOINT value: http://localhost:4317 - name: OTEL_RESOURCE_ATTRIBUTES value: 'service.name=example_app'
참고
OTEL_METRICS_EXPORTER=none
App Runner Otel 컬렉터는 메트릭 로깅을 허용하지 않으므로 App Runner의 중요한 환경 변수입니다. 메트릭 추적만 허용합니다.
런타임 설정 예제
다음 예제는 ADOT Python SDK를 사용하여 애플리케이션을 자동 계측하는 방법을 보여줍니다.
먼저 다음 예제와 같이 종속성을 몇 개 추가합니다.
예 requirements.txt
opentelemetry-distro[otlp]>=0.24b0 opentelemetry-sdk-extension-aws~=2.0 opentelemetry-propagator-aws-xray~=1.0
그런 다음 애플리케이션을 계측하십시오. 이를 수행하는 방법은 서비스 소스 (소스 이미지 또는 소스 코드) 에 따라 다릅니다.
App Runner 서비스 인스턴스 역할에 X-Ray 권한 추가
App Runner 서비스에서 X-Ray 추적을 사용하려면 서비스 인스턴스에 X-Ray 서비스와 상호작용할 수 있는 권한을 제공해야 합니다. 이를 위해서는 인스턴스 역할을 서비스에 연결하고 X-Ray 권한이 있는 관리형 정책을 추가하면 됩니다. App Runner 인스턴스 역할에 대한 자세한 내용은 을 참조하십시오. 인스턴스 역할 인스턴스 역할에 AWSXRayDaemonWriteAccess
관리형 정책을 추가하고 생성 과정에서 서비스에 할당하세요.
App Runner 서비스에 X-Ray 추적 기능을 활성화하세요
서비스를 만들면 App Runner는 기본적으로 추적을 비활성화합니다. 옵저버빌리티 구성의 일환으로 서비스에 대해 X-Ray Tracing을 활성화할 수 있습니다. 자세한 정보는 관찰 가능성 관리을 참조하세요.
App Runner API 또는 를 사용하는 경우 ObservabilityConfiguration리소스 TraceConfiguration개체 내의 개체에 추적 설정이 포함됩니다. AWS CLI추적을 계속 비활성화하려면 객체를 지정하지 마세요. TraceConfiguration
콘솔과 API의 경우 모두 이전 섹션에서 설명한 인스턴스 역할을 App Runner 서비스와 연결해야 합니다.
App Runner 서비스의 X-Ray 추적 데이터 보기
App Runner 콘솔의 서비스 대시보드 페이지에 있는 옵저버빌리티 탭에서 서비스 맵 보기를 선택하여 Amazon CloudWatch 콘솔로 이동합니다.
Amazon CloudWatch 콘솔을 사용하여 애플리케이션이 제공하는 요청에 대한 서비스 맵과 추적을 볼 수 있습니다. 서비스 맵에는 요청 지연 시간, 다른 애플리케이션 및 AWS 서비스와의 상호 작용과 같은 정보가 표시됩니다. 코드에 추가한 사용자 지정 주석을 사용하면 트레이스를 쉽게 검색할 수 있습니다. 자세한 내용은 Amazon 사용 CloudWatch 설명서의 애플리케이션 상태 ServiceLens 모니터링을 위한 사용을 참조하십시오.