本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 Amazon Cloud Map?
Amazon Cloud Map 是一项完全托管服务,可供您用来创建和维护您的应用程序所依赖的后端服务和资源的映射。Amazon Cloud Map 运行方式如下:
-
您可以创建一个命名空间,该命名空间将标识要用于查找您的资源的名称并指定要所需的资源查找方法:使用 Amazon Cloud Map DiscoverInstances API 调用、VPC 中的 DNS 查询或公共 DNS 查询。大多数情况下,命名空间包含应用程序(如账单应用程序)的所有服务。
-
为要使用 Amazon Cloud Map 查找其终端节点的每种类型的资源创建一个 Amazon Cloud Map 服务。例如,您可以为 Web 服务器和数据库服务器创建服务。
服务是 Amazon Cloud Map 在您的应用程序添加其他资源(如其他 Web 服务器)时使用的模板。如果您已选择在创建命名空间时使用 DNS 查找资源,则服务包含有关要用于查找 Web 服务器的记录的类型的信息。服务还指示您是否要检查资源的运行状况,如果是,您是使用 Amazon Route 53 运行状况检查还是第三方运行状况检查程序。
-
当您的应用程序添加资源时,它会调用 Amazon Cloud Map RegisterInstance API 操作(该操作将创建服务实例)。服务实例包含有关应用程序如何查找资源(使用 DNS 还是使用 Amazon Cloud Map DiscoverInstances API 操作)的信息。
-
当您的应用程序需要连接到资源时,它会调用 DiscoverInstances 并指定与资源关联的命名空间和服务。Amazon Cloud Map 将返回有关如何查找一个或多个资源的信息。如果您在创建服务时指定了运行状况检查,则 Amazon Cloud Map 仅返回正常运行的实例。
Amazon Cloud Map 与 Amazon Elastic Container Service (Amazon ECS) 紧密集成。随着新的容器任务数的增加或减少,它们会自动注册到 Amazon Cloud Map。您可以使用 Kubernetes ExternalDNS 连接器将 Amazon Elastic Kubernetes Service 与 Amazon Cloud Map 集成。您还可以使用Amazon Cloud Map来注册和查找任何云资源,例如 Amazon EC2 实例、Amazon DynamoDB 表、Amazon S3 存储桶、Amazon Simple Queue Service (Amazon SQS) 队列或部署在 Amazon API Gateway 之上的 API 等。您可以指定服务实例的属性值,并且客户端可以使用这些属性来筛选 Amazon Cloud Map 返回的资源。例如,应用程序可以请求特定部署阶段中的资源,如 BETA 或 PROD。