App Mesh 문제 해결 모범 사례 - AWS App Mesh

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

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 설명서를 참조하십시오. Amazon ECS의 기본 설명과 함께 App Mesh에서 AWS CloudWatch 메트릭으로 메트릭을 오프로드하는 데모를 찾을 수 있습니다. GitHub

액세스 로그 활성화

애플리케이션 간에 전송되는 트래픽에 대한 세부 정보를 검색하려면 가상 노드가상 게이트웨이에서 액세스 로그를 활성화하는 것이 좋습니다. 자세한 내용은 Envoy 설명서의 액세스 로깅을 참조하세요. 로그는 OSI 계층 4 및 계층 7 트래픽 동작에 대한 자세한 정보를 제공합니다. Envoy의 기본 형식을 사용하는 경우 다음 구문 분석을 사용하여 Logs Insights로 CloudWatch 액세스 로그를 분석할 수 있습니다.

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로 설정할 수 있습니다.

Envoy의 기본 형식을 사용하는 경우 다음 구문 분석 문을 사용하여 Logs Insights로 프로세스 CloudWatch 로그를 분석할 수 있습니다.

parse @message "[*][*][*][*] [*] *" as Time, Thread, Level, Name, Source, Message

App Mesh 제어 영역을 사용하여 Envoy 프록시 연결 모니터링

Envoy 지표 control_plane.connected_state를 모니터링하여 Envoy 프록시가 App Mesh 제어 영역과 통신하여 동적 구성 리소스를 가져오는지 확인하는 것이 좋습니다. 자세한 내용은 관리 서버를 참조하세요.