기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
App Mesh 문제 해결 모범 사례
App Mesh 사용 시 발생하는 문제를 해결하려면 이 주제의 모범 사례를 따르는 것이 좋습니다.
Envoy 프록시 관리 인터페이스 활성화
Envoy 프록시에는 구성 및 통계를 검색하고 연결 드레이닝 등의 기타 관리 기능을 수행하는 데 사용할 수 있는 관리 인터페이스가 함께 제공됩니다. 자세한 내용은 Envoy 설명서의 관리 인터페이스
관리형 Envoy 이미지를 사용하는 경우 기본적으로 포트 9901에서 관리 엔드포인트가 활성화됩니다. App Mesh 설치 문제 해결에 제공된 예제는 예제 관리 엔드포인트 URL을 http://my-app.default.svc.cluster.local:9901/
로 표시합니다.
참고
관리 엔드포인트는 퍼블릭 인터넷에 절대 노출되지 않아야 합니다. 또한 ENVOY_ADMIN_ACCESS_LOG_FILE
환경 변수에 의해 기본적으로 /tmp/envoy_admin_access.log
로 설정되는 관리 엔드포인트 로그를 모니터링하는 것이 좋습니다.
지표 오프로드를 위한 Envoy DogStats D 통합 활성화
Envoy 프록시는 OSI 계층 4 및 계층 7 트래픽과 내부 프로세스 상태에 대한 통계를 오프로드하도록 구성할 수 있습니다. 이 항목에서는 메트릭이나 Prometheus. 같은 CloudWatch 싱크로 메트릭을 오프로드하지 않고 이러한 통계를 사용하는 방법을 설명하지만, 모든 애플리케이션의 중앙 위치에 이러한 통계를 보관하면 문제를 진단하고 동작을 더 빠르게 확인할 수 있습니다. 자세한 내용은 Amazon CloudWatch 메트릭스 사용 및 Prometheus
에 정의된 파라미터를 설정하여 DogStats D 지표를 구성할 수 있습니다. DogStatsD 변수 DogStatsD에 대한 자세한 내용은 DogStatsD
액세스 로그 활성화
애플리케이션 간에 전송되는 트래픽에 대한 세부 정보를 검색하려면 가상 노드 및 가상 게이트웨이에서 액세스 로그를 활성화하는 것이 좋습니다. 자세한 내용은 Envoy 설명서의 액세스 로깅
parse @message "[*] \"* * *\" * * * * * * * * * * *" as StartTime, Method, Path, Protocol, ResponseCode, ResponseFlags, BytesReceived, BytesSent, DurationMillis, UpstreamServiceTimeMillis, ForwardedFor, UserAgent, RequestId, Authority, UpstreamHost
사전 프로덕션 환경에서 Envoy 디버그 로깅 활성화
사전 프로덕션 환경에서 Envoy 프록시의 로그 수준을 debug
로 설정하는 것이 좋습니다. 디버그 로그는 관련 App Mesh 구성을 프로덕션 환경으로 전환하기 전에 문제를 식별하는 데 도움이 될 수 있습니다.
Envoy 이미지를 사용하는 경우 ENVOY_LOG_LEVEL
환경 변수를 통해 로그 수준을 debug
로 설정할 수 있습니다.
참고
프로덕션 환경에서 debug
수준을 사용하는 것은 권장하지 않습니다. 수준을 로 설정하면 로깅이 debug
증가하여 성능 및 로그와 같은 솔루션으로 오프로드되는 로그의 전체 비용에 영향을 미칠 수 있습니다. CloudWatch
Envoy의 기본 형식을 사용하는 경우 다음 구문 분석 문을 사용하여 Logs Insights로 프로세스 CloudWatch 로그를 분석할 수 있습니다.
parse @message "[*][*][*][*] [*] *" as Time, Thread, Level, Name, Source, Message
App Mesh 제어 영역을 사용하여 Envoy 프록시 연결 모니터링
Envoy 지표 control_plane.connected_state
를 모니터링하여 Envoy 프록시가 App Mesh 제어 영역과 통신하여 동적 구성 리소스를 가져오는지 확인하는 것이 좋습니다. 자세한 내용은 관리 서버