Add VirtualGateway

This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at

Adding App Mesh VirtualGateway

gateway Until now we have verified the communication between services is routed through envoy proxy, lets expose the frontend service frontend-node using AWS App Mesh VirtualGateway.

Create VirtualGateway components uisng the virtual_gateway.yaml as shown below. This will create the kubernetes service as Type Load Balancer and will use the AWS Network Load balancer for routing the external internet traffic.

kubectl apply -f deployment/virtual_gateway.yaml created created 
service/ingress-gw created 
deployment.apps/ingress-gw created 

Get all the resources that are running in the namespace

You can see VirtualGateway components named as ingress-gw below:

kubectl get all  -n prodcatalog-ns -o wide | grep ingress
pod/ingress-gw-5fb995f6fd-45nnm      2/2     Running   0          35s            <none>           <none>
service/ingress-gw      LoadBalancer   80:31569/TCP   35s   app=ingress-gw
deployment.apps/ingress-gw      1/1     1            1           35s   envoy         app=ingress-gw
replicaset.apps/ingress-gw-5fb995f6fd      1         1         1       35s     envoy         app=ingress-gw,pod-template-hash=5fb995f6fd   arn:aws:appmesh:us-west-2:405710966773:mesh/prodcatalog-mesh/virtualGateway/ingress-gw_prodcatalog-ns   35s   arn:aws:appmesh:us-west-2:405710966773:mesh/prodcatalog-mesh/virtualGateway/ingress-gw_prodcatalog-ns/gatewayRoute/gateway-route-frontend_prodcatalog-ns   35s

Log into console and navigate to AWS App Mesh -> Click on prodcatalog-mesh -> Click on Virtual gateways, you should see below page. vgateway