View Source AWS.AppMesh (aws-elixir v1.0.4)
App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and control microservices.
App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high availability for your applications.
App Mesh gives you consistent visibility and network traffic controls for every microservice in an application. You can use App Mesh with Amazon Web Services Fargate, Amazon ECS, Amazon EKS, Kubernetes on Amazon Web Services, and Amazon EC2.
App Mesh supports microservice applications that use service discovery
naming for their components. For more information about service discovery on
Amazon ECS, see Service Discovery
in the Amazon Elastic Container Service Developer Guide. Kubernetes
kube-dns
and coredns
are supported. For more information,
see DNS for Services and
Pods
in the Kubernetes documentation.
Link to this section Summary
Functions
Creates a gateway route.
Creates a service mesh.
Creates a route that is associated with a virtual router.
Creates a virtual gateway.
Creates a virtual node within a service mesh.
Creates a virtual router within a service mesh.
Creates a virtual service within a service mesh.
Deletes an existing gateway route.
Deletes an existing service mesh.
Deletes an existing route.
Deletes an existing virtual gateway.
Deletes an existing virtual node.
Deletes an existing virtual router.
Deletes an existing virtual service.
Describes an existing gateway route.
Describes an existing service mesh.
Describes an existing route.
Describes an existing virtual gateway.
Describes an existing virtual node.
Describes an existing virtual router.
Describes an existing virtual service.
Returns a list of existing gateway routes that are associated to a virtual gateway.
Returns a list of existing service meshes.
Returns a list of existing routes in a service mesh.
List the tags for an App Mesh resource.
Returns a list of existing virtual gateways in a service mesh.
Returns a list of existing virtual nodes.
Returns a list of existing virtual routers in a service mesh.
Returns a list of existing virtual services in a service mesh.
Associates the specified tags to a resource with the specified resourceArn
.
Deletes specified tags from a resource.
Updates an existing gateway route that is associated to a specified virtual gateway in a service mesh.
Updates an existing service mesh.
Updates an existing route for a specified service mesh and virtual router.
Updates an existing virtual gateway in a specified service mesh.
Updates an existing virtual node in a specified service mesh.
Updates an existing virtual router in a specified service mesh.
Updates an existing virtual service in a specified service mesh.
Link to this section Functions
create_gateway_route(client, mesh_name, virtual_gateway_name, input, options \\ [])
View SourceCreates a gateway route.
A gateway route is attached to a virtual gateway and routes traffic to an existing virtual service. If a route matches a request, it can distribute traffic to a target virtual service.
For more information about gateway routes, see Gateway routes.
Creates a service mesh.
A service mesh is a logical boundary for network traffic between services that are represented by resources within the mesh. After you create your service mesh, you can create virtual services, virtual nodes, virtual routers, and routes to distribute traffic between the applications in your mesh.
For more information about service meshes, see Service meshes.
create_route(client, mesh_name, virtual_router_name, input, options \\ [])
View SourceCreates a route that is associated with a virtual router.
You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.
For more information about routes, see Routes.
Creates a virtual gateway.
A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.
For more information about virtual gateways, see Virtual gateways.
Creates a virtual node within a service mesh.
A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS).
You define a listener
for any inbound traffic that your virtual node
expects. Any virtual service that your virtual node expects to communicate to is
specified
as a backend
.
The response metadata for your new virtual node contains the arn
that is
associated with the virtual node. Set this value to the full ARN; for example,
arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp
)
as the APPMESH_RESOURCE_ARN
environment variable for your task group's Envoy
proxy container in your task definition or pod spec. This is then mapped to the
node.id
and node.cluster
Envoy parameters.
By default, App Mesh uses the name of the resource you specified in
APPMESH_RESOURCE_ARN
when Envoy is referring to itself in metrics and
traces. You can override this behavior by setting the
APPMESH_RESOURCE_CLUSTER
environment variable with your own name.
For more information about virtual nodes, see Virtual nodes.
You must be using 1.15.0
or later of the Envoy image when
setting these variables. For more information aboutApp Mesh Envoy variables, see
Envoy image in the
App Mesh User Guide.
Creates a virtual router within a service mesh.
Specify a listener
for any inbound traffic that your virtual router
receives. Create a virtual router for each protocol and port that you need to
route.
Virtual routers handle traffic for one or more virtual services within your
mesh. After you
create your virtual router, create and associate routes for your virtual router
that direct
incoming requests to different virtual nodes.
For more information about virtual routers, see Virtual routers.
Creates a virtual service within a service mesh.
A virtual service is an abstraction of a real service that is provided by a
virtual node
directly or indirectly by means of a virtual router. Dependent services call
your virtual
service by its virtualServiceName
, and those requests are routed to the
virtual node or virtual router that is specified as the provider for the virtual
service.
For more information about virtual services, see Virtual services.
delete_gateway_route(client, gateway_route_name, mesh_name, virtual_gateway_name, input, options \\ [])
View SourceDeletes an existing gateway route.
Deletes an existing service mesh.
You must delete all resources (virtual services, routes, virtual routers, and virtual nodes) in the service mesh before you can delete the mesh itself.
delete_route(client, mesh_name, route_name, virtual_router_name, input, options \\ [])
View SourceDeletes an existing route.
delete_virtual_gateway(client, mesh_name, virtual_gateway_name, input, options \\ [])
View SourceDeletes an existing virtual gateway.
You cannot delete a virtual gateway if any gateway routes are associated to it.
delete_virtual_node(client, mesh_name, virtual_node_name, input, options \\ [])
View SourceDeletes an existing virtual node.
You must delete any virtual services that list a virtual node as a service provider before you can delete the virtual node itself.
delete_virtual_router(client, mesh_name, virtual_router_name, input, options \\ [])
View SourceDeletes an existing virtual router.
You must delete any routes associated with the virtual router before you can delete the router itself.
delete_virtual_service(client, mesh_name, virtual_service_name, input, options \\ [])
View SourceDeletes an existing virtual service.
describe_gateway_route(client, gateway_route_name, mesh_name, virtual_gateway_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing gateway route.
describe_mesh(client, mesh_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing service mesh.
describe_route(client, mesh_name, route_name, virtual_router_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing route.
describe_virtual_gateway(client, mesh_name, virtual_gateway_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing virtual gateway.
describe_virtual_node(client, mesh_name, virtual_node_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing virtual node.
describe_virtual_router(client, mesh_name, virtual_router_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing virtual router.
describe_virtual_service(client, mesh_name, virtual_service_name, mesh_owner \\ nil, options \\ [])
View SourceDescribes an existing virtual service.
list_gateway_routes(client, mesh_name, virtual_gateway_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing gateway routes that are associated to a virtual gateway.
list_meshes(client, limit \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing service meshes.
list_routes(client, mesh_name, virtual_router_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing routes in a service mesh.
list_tags_for_resource(client, limit \\ nil, next_token \\ nil, resource_arn, options \\ [])
View SourceList the tags for an App Mesh resource.
list_virtual_gateways(client, mesh_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing virtual gateways in a service mesh.
list_virtual_nodes(client, mesh_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing virtual nodes.
list_virtual_routers(client, mesh_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing virtual routers in a service mesh.
list_virtual_services(client, mesh_name, limit \\ nil, mesh_owner \\ nil, next_token \\ nil, options \\ [])
View SourceReturns a list of existing virtual services in a service mesh.
Associates the specified tags to a resource with the specified resourceArn
.
If existing tags on a resource aren't specified in the request parameters, they aren't changed. When a resource is deleted, the tags associated with that resource are also deleted.
Deletes specified tags from a resource.
update_gateway_route(client, gateway_route_name, mesh_name, virtual_gateway_name, input, options \\ [])
View SourceUpdates an existing gateway route that is associated to a specified virtual gateway in a service mesh.
Updates an existing service mesh.
update_route(client, mesh_name, route_name, virtual_router_name, input, options \\ [])
View SourceUpdates an existing route for a specified service mesh and virtual router.
update_virtual_gateway(client, mesh_name, virtual_gateway_name, input, options \\ [])
View SourceUpdates an existing virtual gateway in a specified service mesh.
update_virtual_node(client, mesh_name, virtual_node_name, input, options \\ [])
View SourceUpdates an existing virtual node in a specified service mesh.
update_virtual_router(client, mesh_name, virtual_router_name, input, options \\ [])
View SourceUpdates an existing virtual router in a specified service mesh.
update_virtual_service(client, mesh_name, virtual_service_name, input, options \\ [])
View SourceUpdates an existing virtual service in a specified service mesh.