Mais conteúdo relacionado Semelhante a Unifying Service Naming and Discovery Across Amazon EKS and ECS (CON403-R1) - AWS re:Invent 2018 (20) Mais de Amazon Web Services (20) Unifying Service Naming and Discovery Across Amazon EKS and ECS (CON403-R1) - AWS re:Invent 20182. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Unifying service naming and discovery
across Amazon EKS and ECS
Alexandr Moroz
Senior Product Manager
AWS
C O N 4 0 3 R 1
3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Related breakouts
Friday, November 30
Introducing AWS Cloud Map
10:00 am – 11:00 am | Venetian, Level 3, San Polo 3405
4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• Why service discovery matters
• Amazon ECS Service Discovery powered by AWS Cloud Map
• Amazon EKS and AWS Cloud Map
• Tetrate Istio operator for AWS Cloud Map
• Q&A
5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Complexity of modern architectures
• Wide variety of resources
• Complexity grows exponentially
• Multiple versions and stages coexist
• Infrastructure scales dynamically
• Unhealthy resources are replaced
7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service Discovery
Finding the location of a service provider
myapp: {10.0.4.5:8080, 10.0.4.6:8080 }
mylogs: {S3bucket1, S3bucket2}
How to find resources to connect to?
8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Build the dynamic map of your cloud
9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Registry for all cloud resources
10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Registry for all cloud resources
11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Cloud Map integrations
• Amazon ECS Service Discovery
• Kubernetes ExternalDNS connector
• Tetrate Istio Cloud Map operator
12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS Service Discovery
13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon ECS Service Discovery
Service discovery via DNS and API
- Additional attributes for ECS tasks
- Smart routing based on locality
- Support for EC2 and Fargate (1.10+)
launch types
AWS_INSTANCE_IPV4
AWS_INSTANCE_PORT
AVAILABILITY_ZONE
REGION
ECS_SERVICE_NAME
ECS_CLUSTER_NAME
EC2_INSTANCE_ID
ECS_TASK_DEFINITION_FAMILY
14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes ExternalDNS Connector
frontend service frontend.app.com
15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes ExternalDNS Connector
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
backend LoadBalancer 10.100.8.51 a3fc5e2ebe46c... 80:30349/TCP 23m
frontend LoadBalancer 10.100.95.184 a18d6f0f8e46c... 80:32335/TCP 24m
dbapi LoadBalancer 10.100.224.57 aa11a5e4ee441... 80:32501/TCP 5h
-->
$ dig +short A frontend.myapp.com
52.34.196.177
34.213.245.30
52.88.237.150
16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC 1 VPC 2
Peered
Amazon EKS
Amazon ECS
Backend
Instance
Backend
Instance
Backend
Instance
Front EndIngress
User
traffic
Tetrate Istio Cloud Map Operator
17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC 1 VPC 2
Peered
Amazon EKS
Amazon ECS
Backend
Instance
Backend
Instance
Backend
Instance
Istio Control Plane
Front End EnvoyIngress (Envoy)
User
Traffic
push configpush config
18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC 1 VPC 2
Peered
Amazon EKS
Amazon ECS
Backend
Instance
Backend
Instance
Backend
Instance
Istio Control Plane
Front End EnvoyIngress (Envoy)
User
Traffic
AWS Cloud Map
sync state
19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC 1 VPC 2
Peered
Amazon EKS
Amazon ECS
Backend
Instance
Backend
Instance
Backend
Instance
Istio Control Plane
Front End EnvoyIngress (Envoy)
User
Traffic
Tetrate Istio-
Cloud Map
Operator
sync statesync state
sync statepush config
AWS Cloud Map
20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
VPC 1 VPC 2
Peered
Amazon EKS
Amazon ECS
Backend
Instance
Backend
Instance
Backend
Instance
Istio Control Plane
Front End EnvoyIngress (Envoy)
User
Traffic
Tetrate Istio-
Cloud Map
Operator sync statepush config
push configpush config
AWS Cloud Map
sync statesync state
21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Unified service naming across Amazon EKS & ECS
Istio
23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes ExternalDNS Connector
• Read more: aws.amazon.com/blogs/opensource/unified-service-
discovery-ecs-kubernetes/
• Try it: github.com/kubernetes-incubator/external-dns
24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
● Read more: tetrate.io/blog/istio-cloud-map-operator
● Try it: github.com/tetratelabs/istio-cloud-map
Tetrate Istio Cloud Map operator
Service Mesh Company
25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
26. Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Alexandr Moroz
moroza@amazon.com
27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.