Skip To Content

在 Amazon EC2 中创建缓存

在 Amazon 弹性计算云 (EC2) 中创建 ArcGIS 地图或影像服务缓存与在云之外创建缓存具有以下区别:

  • 有大量不同的实例大小和价格可供您选择。
  • 您可以将卷添加到您的实例,用于放置缓存。

本主题将详细介绍以上因素。

选择实例大小和价格

Amazon EC2 为您提供了多种实例大小和规格。每种实例均按使用的小时数进行收费,价格各有不同。实例越大,特别是对于拥有很大内存的实例,生成切片就越快。实例越小,生成切片的速度会越慢,但价格也会相对低廉。

您可以使用一个强大的实例在附加的 Amazon 弹性块存储 (EBS) 卷上创建缓存。缓存创建完毕之后,可分离 EBS 卷并将其附加到普通实例(可能比较小且价格低廉)。然后,您可终止用于缓存的高性能实例。通过这种方式,您可使用云的强大功能进行缓存,而无需在使用完毕后仍然需要对这一相对昂贵的实例支付费用。

您需要在价格和速度之间作出决定。使用价格低、性能弱的实例并非总是最经济的选择,因为缓存的总成本取决于创建切片所花费的时间。另一方面,性能最强大的实例所产生的缓存总成本也可能更高:尽管缓存所花费的时间更短,但每小时使用该实例的价格会更高。

通过使用较小的测试缓存(大概中等城市的大小)以及一个自定义的 Amazon 机器映像 (AMI) 或站点模板,您可对不同的实例类型执行相对价廉的测试以找到一种最经济的缓存方式。

性能强大的 EC2 实例类型非常适用于定期缓存更新,因为许多更新工作流程都有严格的时间限制。

选择缓存时所使用的地图服务实例数

每个 EC2 实例都有特定数量的虚拟 CPU 内核。当从 Amazon Web Services 管理控制台中选择实例类型时,可看到 CPU 内核的数量。该核数可帮助您确定用于缓存的缓存工具 (CachingTools) 地理处理服务的实例数。使用太多的服务实例会导致 CPU 过载,而服务实例太少则会导致 CPU 利用率不足。

虽然可通过反复试验达到最佳数量,但一个好的起点是允许 CachingTools 服务的最大实例数 n + 1,其中 n 是站点中单个 EC2 实例上的虚拟内核数。

自动伸缩

构建大缓存时,您可能希望设置自动伸缩触发器,这些触发器会随着 CPU 使用率的提高而自动增加用于处理缓存的 EC2 实例数。但是,自动伸缩更适用于处理流量中的异常峰值。创建缓存时,您已知道将需要巨大的计算能力,因此,在构建缓存前便启动所有必要实例(而不是等待它们通过自动伸缩触发器按顺序启动)更有意义。

选择缓存的放置位置

向 Amazon Web Services 传输数据的策略中所述,可将数据放置在多种类型的位置上。创建缓存时,可将其写入附加到 EC2 实例上的 EBS 卷,或将其写入 S3 存储段。

如果您在 EBS 卷上创建缓存,请确保该卷足够大。如果该卷过小,可将其替换为根据现有数据卷快照创建的更大的卷,并在其中注册服务器缓存目录。请勿在 EC2 实例的 C 或根驱动器上构建缓存。如果终止实例,缓存将丢失。

如果要将地图和图像缓存存储到 S3 存储段中,请执行以下步骤:

  1. 在 AWS 上 ArcGIS Server 站点所在的同一区域创建 Amazon S3 存储段。
  2. 在 S3 存储段中创建一个文件夹。将文件夹命名为 arcgiscache
  3. 登录到 AWS 上您希望发布缓存地图或影像服务的站点的 ArcGIS Server Manager,并将 S3 存储段注册为云存储和缓存目录

    您可以使用 IAM 角色或访问密钥作为凭据来注册云存储。

    在注册云存储时,S3 存储段名称文件夹字段中不得包含文件夹名称 arcgiscache

    使用访问密钥或者您提供的 IAM 角色帐户确保 ArcGIS Server 帐户具有存储段的读写权限。

注册云存储后,您可以使用 S3 存储段发布缓存地图或影像服务。您可以在 S3 中创建缓存方案更新缓存切片删除缓存切片

S3 中的缓存注意事项

如果缓存位于 S3 中,则以下工具不受支持: