기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
중요
지원 종료 알림: 2026년 9월 30일에에 대한 지원을 중단할 AWS 예정입니다 AWS App Mesh. 2026년 9월 30일 이후에는 AWS App Mesh 콘솔 또는 AWS App Mesh 리소스에 더 이상 액세스할 수 없습니다. 자세한 내용은이 블로그 게시물 에서 Amazon ECS Service Connect AWS App Mesh 로 마이그레이션
가상 노드와 가상 게이트웨이를 생성할 때 Envoy 액세스 로그를 구성할 수 있습니다. 이 로그는 콘솔에서는 가상 노드의 로깅 섹션에 있으며 가상 게이트웨이가 워크플로를 생성하거나 편집합니다.

위 이미지는 Envoy 액세스 로그에 대한 /dev/stdout
의 로깅 경로를 보여 줍니다.
format
의 경우 두 가지 가능한 형식 json
또는 text
중 하나와 패턴을 지정합니다. json
에서는 키 페어를 가져와 JSON 구조체로 변환한 후 Envoy에 전달합니다.
다음 코드 블록에서는 AWS CLI에서 사용할 수 있는 JSON 표현을 보여 줍니다.
"logging": { "accessLog": { "file": { "path": "
/dev/stdout
", "format" : { // Exactly one of json or text should be specified "json": [ // json will be implemented with key pairs { "key": "string", "value": "string" } ] "text": "string" //e.g. "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n" } } } }
중요
입력 패턴이 Envoy에 유효한지 확인하십시오. 유효하지 않으면 Envoy가 업데이트를 거부하고 최신 변경 내용을 error
state
에 저장합니다.
/dev/stdout
에 Envoy 액세스 로그를 보내면 해당 로그가 Envoy 컨테이너 로그와 혼합됩니다. awslogs
와 같은 표준 Docker 로그 드라이버를 사용하여 CloudWatch Logs와 같은 로그 스토리지 및 처리 서비스로 내보낼 수 있습니다. 자세한 내용은 Amazon ECS 개발자 안내서의 awslogs 로그 드라이버 사용을 참조하세요. Envoy 액세스 로그만 내보내고 다른 Envoy 컨테이너 로그는 무시하려면 ENVOY_LOG_LEVEL
을 off
로 설정하면 됩니다. 형식 문자열 %REQ_WITHOUT_QUERY(X?Y):Z%
를 포함하여 쿼리 문자열 없이 요청을 기록할 수 있습니다. 예제는 ReqWithoutQuery
포맷터
Kubernetes에서 액세스 로그 활성화
Kubernetes용 App Mesh 컨트롤러를 사용하는 경우 다음 예제와 같이 가상 노드 사양에 로깅 구성을 추가하여 액세스 로깅으로 가상 노드를 구성할 수 있습니다.
--- apiVersion: appmesh.k8s.aws/v1beta2 kind: VirtualNode metadata: name:
virtual-node-name
namespace:namespace
spec: listeners: - portMapping: port: 9080 protocol: http serviceDiscovery: dns: hostName:hostname
logging: accessLog: file: path: "/dev/stdout"
클러스터는 이러한 로그를 수집하려면 Fluentd와 같은 로그 전달자가 있어야 합니다. 자세한 내용은 Fluentd를 DaemonSet으로 설정하여 CloudWatch Logs에 로그 전송을 참조하세요.
또한 Envoy는 필터의 다양한 디버깅 로그를 stdout
에 기록합니다. 이러한 로그는 Envoy와 App Mesh의 통신 및 서비스 간 트래픽 모두에 대한 인사이트를 얻는 데 유용합니다. ENVOY_LOG_LEVEL
환경 변수를 사용하여 특정 로깅 수준을 구성할 수 있습니다. 예를 들어, 다음 텍스트는 Envoy가 특정 HTTP 요청과 일치시킨 클러스터를 보여 주는 예제 디버그 로그에서 가져온 것입니다.
[debug][router] [source/common/router/router.cc:434] [C4][S17419808847192030829] cluster 'cds_ingress_howto-http2-mesh_color_client_http_8080' match for URL '/ping'
Firelens 및 Cloudwatch
Firelens
CloudWatch를 사용하여 지표 및 로깅 정보를 수집할 수 있습니다. App Mesh 설명서의 지표 내보내기 섹션에서 CloudWatch에 대한 자세한 내용을 확인할 수 있습니다.