在 Standard 或 Advanced 许可等级下可用。
在 Amazon Elastic Compute Cloud (EC2) 实例上创建 ArcGIS 地图或影像服务缓存与在云之外创建缓存具有以下区别:
- 有大量不同的实例大小和价格可供您选择。
- 您可以将卷添加到 EC2 实例,用于放置缓存。
以下部分将更加详细地讨论上述因素。
选择实例大小和价格
Amazon EC2 提供多种实例大小和规格。 每种实例均按使用的小时数进行收费,价格各有不同。 实例越大,特别是对于拥有很大内存的实例,则生成切片的速度越快。 实例越小,则生成切片的速度越慢,但成本越低。
您可以使用一个强大的实例在附加的 Amazon 弹性块存储 (EBS) 卷上创建缓存。 缓存创建完毕之后,可分离 EBS 卷并将其附加到普通实例(可能比较小且价格低廉)。 然后,您可终止用于缓存的高性能实例。 通过这种方式,您可以在云端进行缓存,而不会在不必要的情况下提交到相对昂贵的实例。
您必须在价格和速度之间作出决定。 使用价格低、性能弱的实例并非总是最经济的选择,因为缓存的总成本取决于创建切片所花费的时间。 另一方面,性能最强大的实例所产生的缓存总成本也可能更高:尽管缓存所花费的时间更短,但每小时使用该实例的价格会更高。
借助较小的测试缓存(可能相当于一个中等城市的大小)以及自定义 Amazon Machine Image (AMI) 或站点模板,您可以使用不同的实例类型来执行相对经济的测试,以确定对您的缓存最经济的实例类型。
强大的 EC2 实例类型非常适合计划缓存更新,因为许多更新工作流对时间敏感。
选择缓存时所使用的地图服务实例数
每个 EC2 实例都有特定数量的虚拟 CPU 内核。 在 Amazon Web Services (AWS) Management Console 中选择实例类型时,可看到 CPU 内核的数量。 该核数可帮助您确定用于缓存的缓存工具 (CachingTools) 地理处理服务的实例数。 使用过多的服务实例将导致 CPU 超载,而使用过少的服务实例将导致 CPU 利用率不足。
虽然可通过反复试验达到最佳数量,但一个好的起点是允许 CachingTools 服务的最大实例数 n + 1,其中 n 是站点中单个 EC2 实例上的虚拟内核数。
自动调整
当构建较大的缓存时,您可能希望设置 EC2 自动调整触发器,这些触发器会随着 CPU 使用率的提高而增加用于处理缓存的 EC2 实例数量。 但是,“自动调整”更适用于处理流量中的异常峰值。 可以在构建缓存之前启动所需的所有 EC2 实例,而非使用“自动调整”。 由此可避免必须等待实例按顺序启动,在使用“自动调整”时会出现这种情况。
选择缓存的放置位置
如向 Amazon Web Services 传输数据的策略中所述,可将数据放置在多种类型的位置上。 创建缓存时,可将其写入附加到 EC2 实例上的 EBS 卷,或将其写入 Amazon Simple Storage Service (S3) 存储段。
如果您在 EBS 卷上创建缓存,请确保该卷足够大。 如果该卷过小,可将其替换为根据现有数据卷快照创建的更大的卷,并在其中注册服务器缓存目录。 请勿在 C 或 EC2 实例的根驱动器上构建缓存。 如果实例终止,则缓存将丢失。
要将地图和图像缓存存储到 S3 存储段中,请执行以下步骤:
- 在 AWS 上 ArcGIS Server 站点所在的同一区域创建 Amazon S3 存储段。
- 在 S3 存储段中创建一个文件夹。 将文件夹命名为 arcgiscache。
- 登录到 Amazon Elastic Compute Cloud (EC2) 上您希望发布缓存地图或影像服务的站点的 ArcGIS Server Manager,并将 S3 存储段注册为云存储和缓存目录。
可以使用 AWS Identity and Access Management (IAM) 角色或访问密钥作为凭据来注册云存储。
在注册云存储时,S3 存储段名称或文件夹字段中不得包含文件夹名称 arcgiscache。
可以使用访问密钥或者您提供的 IAM 角色帐户确保 ArcGIS Server 帐户具有存储段的读写权限。
注册云存储后,您可以创建缓存方案,将其放置在 S3 存储段中,然后使用 S3 存储段中的缓存来发布缓存地图或影像服务。 您还可以在 S3 中更新缓存切片和删除缓存切片。
S3 中的缓存注意事项
如果缓存位于 S3 中,则以下工具不受支持:
- 管理地图服务器缓存状态地理处理工具
- 转换地图缓存存储格式地理处理工具
- 按需启用缓存