使用 Amazon Cloud Map - Amazon Cloud Map
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon Cloud Map

Amazon Cloud Map是一个托管解决方案,您可以使用它将逻辑名称映射到应用程序的资源。它还可以帮助您的应用程序使用Amazon开发工具包、REST 风格的 API 调用或 DNS 查询。Amazon Cloud Map仅提供运行状况良好的资源,这些资源可以是 Amazon DynamoDB (DynamoDB) 表、亚马逊简单队列服务 (Amazon SQS) 队列或使用亚马逊弹性计算云 (Amazon EC2) 实例或亚马逊弹性容器服务 (Amazon ECS) 任务构建的任何更高级应用程序服务。

Amazon Cloud Map 使用方式概述

下面概述了的使用方式Amazon Cloud Map:

  1. 创建一个作为服务的逻辑分组的命名空间。在创建命名空间时,您可指定希望应用程序用来发现实例的名称。您还可指定希望如何发现注册到 Amazon Cloud Map 的服务实例:使用 API 调用还是使用 DNS 查询。

    有关更多信息,请参阅以下主题:

    如果创建公共或私有 DNS 命名空间,Amazon Cloud Map自动创建一个与该命名空间同名的 Amazon Route 53 公有或私有托管区域。即使拥有公有和私有 DNS 命名空间,您仍可以使用 Amazon Cloud Map DiscoverInstances 请求来发现实例。

    有关可以提交的终端节点的列表Amazon Cloud MapAPI 请求,请参阅Amazon Cloud Map在”Amazon区域和终端节点” 一章Amazon Web Services 一般参考.

  2. 如果您创建了公共 DNS 命名空间,请执行以下步骤,将域注册的名称服务器更改为 Route 53 托管区域的名称服务器。Amazon Cloud Map创建命名空间时创建的:

    1. 如果您已注册与公有 DNS 命名空间同名的域,请跳至步骤 2b。

      如果尚未注册与命名空间同名的域,请注册该域。如果要使用 Route 53 进行域注册,请参阅注册新域中的Amazon Route 53 开发者指南. 然后,跳至步骤 3。

    2. 使用在您创建命名空间时返回的 OperationId 来获取命名空间 ID。有关更多信息,请参阅 GetOperation

      注意

      如果要使用编程方法执行这些步骤,您还应在流程的后面使用命名空间 ID 来创建服务。

    3. 使用在步骤 2b 中获取的命名空间 ID 来获取 Route 53 托管区域的 IDAmazon Cloud Map已创建。有关更多信息,请参阅 。GetNamespace中的Amazon Cloud MapAPI 参考.

    4. 使用在步骤 2c 中获取的托管区域 ID 来获取 Route 53 分配给您的托管区域的名称服务器的名称。有关更多信息,请参阅获取公有托管区域的名称服务器

    5. 更改分配到该域的名称服务器。如果此域已向 Route 53 注册,请参阅为域添加或更改名称服务器和粘附记录,了解更多信息。

  3. 创建一个服务,该服务包含标识如何联系应用程序资源(如 Web 服务器、DynamoDB 表或 Amazon S3 存储桶)的服务实例。

    如果您在步骤 1 中创建了一个公有或私有 DNS 命名空间,则为该服务指定的名称将成为 Route 53 公有或私有托管区域中记录名称的一部分。Amazon Cloud Map在步骤 1 中自动创建。当您在下一步中注册实例时,Amazon Cloud Map 会在托管区域中创建记录。记录名称是服务名称(如 backend)和命名空间名称(如 example.com)的组合:backend.example.com

    创建服务时,您还可以选择是否要检查服务实例指向的资源的运行状况:

    • 如果您选择不进行运行状况检查,Amazon Cloud Map或 Route 53 将返回服务实例,不管相应资源的运行状况如何。

    • 如果选择 Route 53 运行状况检查(仅适用于公共 DNS 命名空间),Amazon Cloud Map会自动创建 Route 53 运行状况检查,并将其与相应的 Route 53 记录相关联。Route 53 仅使用运行正常的资源记录来响应 DNS 查询。

    • 如果您选择自定义运行状况检查,则可使用第三方应用程序来确定资源的运行状况。根据第三方运行状况检查的结果,您将 UpdateInstanceCustomHealthStatus 请求发送到 Amazon Cloud Map 以更新服务实例的状态。

    如果配置运行状况检查,Amazon Cloud Map或 Route 53 仅返回运行正常的资源的服务实例,以响应DiscoverInstances请求或 DNS 查询。

    有关更多信息,请参阅以下主题:

  4. 注册一个或多个服务实例。每个服务实例都包含有关您的应用程序如何联系应用程序的一个资源的信息。

    有关更多信息,请参阅以下主题:

  5. 编写应用程序以使用 Amazon Cloud Map DiscoverInstances API 操作或使用 DNS 查询来发现实例:

    • 如果您的应用程序使用DiscoverInstances、Amazon Cloud Map将返回有关符合指定条件的可用实例的信息。

    • 如果您的应用程序使用 DNS 查询,Route 53 将返回一个或多个记录。

    如果您在创建服务时为运行状况检查指定了设置,则Amazon Cloud Map或 Route 53 仅返回运行状况良好的实例的值。

  6. 如果要停止使用某个资源,请取消注册相应的服务实例。Amazon Cloud Map将自动删除关联的 Route 53 记录和运行状况检查(如果有)。

    有关更多信息,请参阅以下主题:

  7. 如果您不再需要服务和命名空间,则可将其删除。请注意以下几点:

    • 必须先取消注册已使用服务注册的所有实例,然后才能删除服务。

    • 必须先删除已在命名空间中创建的所有服务,然后才能删除命名空间。

    有关更多信息,请参阅以下主题: