View a markdown version of this page

Envoy defaults set by App Mesh - AWS App Mesh

Envoy defaults set by App Mesh

Important

End of support notice: On September 30, 2026, AWS will discontinue support for AWS App Mesh. After September 30, 2026, you will no longer be able to access the AWS App Mesh console or AWS App Mesh resources. For more information, visit this blog post Migrating from AWS App Mesh to Amazon ECS Service Connect.

The following sections provide information about the Envoy defaults for the route retry policy and circuit breaker that are set by App Mesh.

Default route retry policy

App Mesh automatically creates a default Envoy route retry policy for all HTTP, HTTP/2, and gRPC requests in any mesh in your account. For more information about Envoy route retry policies, see config.route.v3.RetryPolicy in the Envoy documentation.

App Mesh creates an Envoy route when you either create an App Mesh route or define a virtual node provider for an App Mesh virtual service. Though you can create an App Mesh route retry policy, you can't create an App Mesh retry policy for a virtual node provider.

The default policy isn't visible through the App Mesh API. The default policy is only visible through Envoy. To view the configuration, enable the administration interface and send a request to Envoy for a config_dump. The default policy includes the following settings:

  • Max retries2

  • gRPC retry eventsUNAVAILABLE

  • HTTP retry events503

    Note

    It's not possible to create an App Mesh route retry policy that looks for a specific HTTP error code. However, an App Mesh route retry policy can look for server-error or gateway-error. Both of these include 503 errors. For more information, see Routes.

  • TCP retry eventconnect-failure and refused-stream

    Note

    It's not possible to create an App Mesh route retry policy that looks for either of these events. However, an App Mesh route retry policy can look for connection-error, which is equivalent to connect-failure. For more information, see Routes.

  • Reset – Envoy attempts a retry if the upstream server doesn't respond at all (disconnect/reset/read timeout).

Default circuit breaker

When you deploy an Envoy in App Mesh, Envoy default values are set for some of the circuit breaker settings. For more information, see cluster.CircuitBreakers.Thresholds in the Envoy documentation. These settings aren't visible through the App Mesh API. The settings are only visible through Envoy. To view the configuration, enable the administration interface and send a request to Envoy for a config_dump.

App Mesh effectively disables circuit breakers by changing the Envoy settings to the following default values:

  • max_requests2147483647

  • max_pending_requests2147483647

  • max_connections2147483647

  • max_retries2147483647

Note

You cannot modify the App Mesh default circuit breaker values.