Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Virtual routers
End of support notice: On September 30, 2026, Amazon will discontinue support for Amazon App Mesh. After September 30, 2026, you will no longer be able to access the Amazon App Mesh console or Amazon App Mesh resources. For more information, visit this blog post Migrating from Amazon App Mesh to Amazon ECS Service Connect.
Virtual routers handle traffic for one or more virtual services within your mesh. After
you create a virtual router, you can create and associate routes for your virtual router
that direct incoming requests to different virtual nodes.
Any inbound traffic that your virtual router expects should be specified as a
listener.
Creating a virtual router
- Amazon Web Services Management Console
-
To create a virtual router using the Amazon Web Services Management Console
When creating a Virtual Router, you must add a namespace selector
with a label to identify the list of namespaces to associate Routes
to the created Virtual Router.
-
Open the App Mesh console at https://console.amazonaws.cn/appmesh/.
-
Choose the mesh that you want to create the virtual router in. All
of the meshes that you own and that have been shared with you are listed.
-
Choose Virtual routers in the left
navigation.
-
Choose Create virtual router.
-
For Virtual router name, specify a name for
your virtual router. Up to 255 letters, numbers, hyphens, and
underscores are allowed.
-
(Optional) For Listener configuration,
specify a Port and
Protocol for your virtual router. The
http
listener permits connection transition to
websockets. You can click Add
Listener to add multiple listeners. The Remove button will remove that
listener.
-
Choose Create virtual router to
finish.
- Amazon CLI
-
To create a virtual router using the
Amazon CLI.
Create a virtual router using the following command and input JSON
(replace the red
values with your own):
-
aws appmesh create-virtual-router \
--cli-input-json file://create-virtual-router.json
-
Contents of example
create-virtual-router.json
-
{
"meshName": "meshName",
"spec": {
"listeners": [
{
"portMapping": {
"port": 80,
"protocol": "http"
}
}
]
},
"virtualRouterName": "routerName"
}
-
Example output:
{
"virtualRouter": {
"meshName": "meshName",
"metadata": {
"arn": "arn:aws:appmesh:us-west-2
:210987654321:mesh/meshName/virtualRouter/routerName",
"createdAt": "2022-04-06T11:49:47.216000-05:00",
"lastUpdatedAt": "2022-04-06T11:49:47.216000-05:00",
"meshOwner": "123456789012",
"resourceOwner": "210987654321",
"uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
"version": 1
},
"spec": {
"listeners": [
{
"portMapping": {
"port": 80,
"protocol": "http"
}
}
]
},
"status": {
"status": "ACTIVE"
},
"virtualRouterName": "routerName"
}
}
For more information on creating a virtual router with the Amazon CLI for
App Mesh, see the create-virtual-router command in the Amazon CLI reference.
Deleting a virtual router
You cannot delete a virtual router if it has any routes or if it is specified as a provider for any virtual service.
- Amazon Web Services Management Console
-
To delete a virtual router using the Amazon Web Services Management Console
-
Open the App Mesh console at https://console.amazonaws.cn/appmesh/.
-
Choose the mesh that you want to delete a virtual router from. All
of the meshes that you own and that have been shared with you are listed.
-
Choose Virtual routers in the left
navigation.
-
In the Virtual Routers table, choose the
virtual router that you want to delete and select
Delete in the top right corner. To delete a
virtual router, your account ID must be listed in either the
Mesh owner or the Resource
owner columns of the virtual router.
-
In the confirmation box, type delete
and
then click on Delete.
- Amazon CLI
-
To delete a virtual router using the Amazon CLI
-
Use the following command to delete your virtual router (replace
the red
values with your own):
aws appmesh delete-virtual-router \
--mesh-name meshName
\
--virtual-router-name routerName
-
Example output:
{
"virtualRouter": {
"meshName": "meshName",
"metadata": {
"arn": "arn:aws:appmesh:us-west-2
:210987654321:mesh/meshName/virtualRouter/routerName",
"createdAt": "2022-04-06T11:49:47.216000-05:00",
"lastUpdatedAt": "2022-04-07T10:49:53.402000-05:00",
"meshOwner": "123456789012",
"resourceOwner": "210987654321",
"uid": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE",
"version": 2
},
"spec": {
"listeners": [
{
"portMapping": {
"port": 80,
"protocol": "http"
}
}
]
},
"status": {
"status": "DELETED"
},
"virtualRouterName": "routerName"
}
}
For more information on deleting a virtual router with the Amazon CLI for
App Mesh, see the delete-virtual-router command in the Amazon CLI reference.