Build App Mesh virtual service, router, and route configurations with weighted targets and retry policies.
Build App Mesh virtual service, router, and route configurations with weighted targets and retry policies.
Required Fields
MeshNameVirtualServiceNameSpec.ProviderOutput will appear here...Build an AWS App Mesh virtual service backed by a virtual router with header-matched, weighted-target HTTP routes, plus a retry policy specifying which HTTP events (server-error, gateway-error) trigger a retry. A virtual service's Provider must be either a VirtualRouter (for a service that needs multiple routes/weighted targets, like the v2/v3 canary split in the example) or a VirtualNode directly (for a simpler pass-through case), and these two provider modes aren't just different ways of writing the same config, a virtual node provider skips routing logic entirely and can't do weighted target splitting at all.
The builder validates that MeshName, VirtualServiceName, and Spec.Provider all resolve before accepting the JSON as a valid combined App Mesh resource definition (virtual service plus, in this builder's shape, the associated virtual router and route); it can't verify that a referenced VirtualNode in a route's weighted targets actually exists in the mesh, that's checked only against the live mesh's resource set.
Don't use a VirtualNode provider and then wonder why weighted-target canary splitting isn't available, that capability requires the VirtualRouter provider specifically, it's a structural choice made at virtual service creation, not a setting you can add later without restructuring.
HttpRetryEvents scoped too broadly (including client errors) wastes retry attempts and can worsen load during a partial outage, scope retries to genuinely transient/server-side failure classes only.
Route Priority collisions across routes meant to be mutually exclusive (based on header matching) are a common source of 'my canary route never gets hit' bugs, verify the intended route actually has a priority number that puts it ahead of any broader, catch-all route on the same router.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.