您可以根据用户需求调整 ArcGIS Server 站点。可以向部署中添加多个实例,并在 Amazon 负载均衡器下连接这些实例。随着需求的增加,您可以采用手动或编程的方式添加更多的实例。
提示:
使用 ArcGIS Server Cloud Builder on Amazon Web Services 构建站点时,您可以选择设置站点中包含的最大实例数和最小实例数,以及将触发站点自动伸缩的 CPU 使用级别。由于已为您配置了负载均衡器,而且您也无需写入自动伸缩命令,因此这种自动伸缩配置方法十分简便。
如果不使用云构建器,则必须自行创建实例并通过 AWS 管理控制台或 Amazon Auto Scaling API 手动将其添加到负载均衡器中。
负载均衡器和伸缩
如果 EC2 实例所具备的能力不足以满足您的要求,您可以创建新的实例作为附加 GIS 服务器,并将其置于负载均衡器之下,从而扩展您的部署范围。所有服务器请求都会经过该负载均衡器,然后它会将这些请求平均分配至可用的 EC2 实例。
AWS 管理控制台包含一个负载均衡器链接,通过该链接可查看现有的负载均衡器并使用向导添加新的负载均衡器。您可以通过查看负载均衡器属性并更新实例名称列表旁的一系列复选框,随时在负载均衡器中添加和删除实例。
您使用 AWS 管理控制台启动并放置在负载均衡器下的 ArcGIS for Server 实例相互之间毫无关联,因此无法用于异步地理处理或分布式地图缓存等操作。为了充分利用支持 GIS 服务器相互通信的架构,必须使用 ArcGIS Server Cloud Builder on Amazon Web Services 构建站点。
监控部署
假设您有一个面向公众的 Web 地图应用程序,其中显示来自省/自治区/直辖市政府的自然灾害信息。该站点每小时的访问量通常为 500 次;但是,当发生重大天气事件(例如龙卷风或洪水)时,其每小时的访问量将多达 10,000 次。您并不想维护一套自始至终都可以支持每小时 10,000 次访问量的硬件系统(甚至是实例),但您的站点需要能够在偶然情况下处理这一负载而不会变慢。
扩展部署的第一步是监控服务器上的负载。如果您能够非常准确地预测到将发生巨大流量的时间,那么这一步骤并不是必须的。尽管如此,如果出现类似龙卷风这样的突发情况,则很可能无法获得足够的警告预兆。您可以使用 Amazon 云监控 (CloudWatch) 服务来了解实例所执行的工作量。云监控为您提供一个有关实例使用情况的图表,并且还可通过可选的 API 提供各种度量方案。
必须在您手动创建的实例中明确启用云监控选项。在所有由 ArcGIS Server Cloud Builder on Amazon Web Services 启动的实例中均已启用了云监控选项。
Amazon 将对云监控的某些特定功能收取一定的费用。如果在支付费用上存在问题,您可以设计自己的方案来追踪针对实例的特定度量,例如 CPU 和内存使用量。
调整实例数
如果检测到您的部署目前已超负荷作业,则可创建更多的 AWS 实例以添加到您的部署中。反之,如果部署未得到充分利用,则可删除一些实例来降低成本。您可以采用手动或自动的方式调整实例的数量。
如果要自动添加和删除实例,则可以使用 ArcGIS Server Cloud Builder on Amazon Web Services 建立一些规则,用以根据 CPU 使用级别添加或删除实例。或者,如果要手动构建站点,则可使用 Amazon Auto Scaling API 建立自有规则。
由 Amazon 的自动伸缩功能创建的所有计算机均已启用云监控选项,并将收取相应的费用。
在终止实例后删除 EBS 卷
终止一个实例时,附加在该实例上的 Amazon 弹性块存储 (EBS) 卷不会自动删除,具体取决于创建实例后向其添加存储时所选择的选项。如果您没有选择在终止实例时删除所有 EBS 卷并且不打算重新使用这些卷,您应该对其进行手动删除,以避免产生不必要的费用。实现的方法之一是使用 EC2 API 来检查状态为“可用”的 EBS 卷,并删除所找到的任何可用卷。您可以定期执行此项检查。
提高 Amazon 实例的限制
如果计划在部署中运行很多 AWS 实例,应检查 Amazon 帐户以了解所允许的实例数量。多数帐户被限定为每个区域 20 个按需实例或保留实例,以及 100 个现货实例。Amazon 提供了一份 Web 表单,可以用来请求不同的帐户限制。