Skip To Content

AWS CloudFormation 和 ArcGIS for Server

可以使用 Amazon Web Services (AWS) CloudFormation 功能,在 AWS 上部署不同的 ArcGIS for Server 架构。这些架构包括以下内容:

AWS CloudFormation 服务可帮助您定义您所使用的 Amazon Web 服务的架构。它是一种代码形式的基础架构示例,这表示您编写可以在云环境中部署特定硬件基础架构的代码。对于 CloudFormation,可以使用 JavaScript 对象表示法 (JSON) 模板来定义以预先确定的方式结合使用的资源堆栈。CloudFormation 可确保您始终只需维护站点中最少量的计算机,因而,可在其中一台计算机不可用时实现无缝恢复。

请使用 Esri 示例 AWS CloudFormation 模板帮助您在 AWS 上配置 GIS 服务器或 web GIS。自定义这些模板或创建您自己的模板,以实施您自己的部署模式。如果不使用 CloudFormation,则可手动设置部署(通过使用 AWS 管理控制台或 API);但使用 CloudFormation 模板能够使启动和维护架构比手动操作更简单。CloudFormation 模板还可使您在不同 AWS 帐户或区域中设置相同架构变得更加轻松。

您还可使用 CloudFormation 来启动和维护 web GIS 部署。Web GIS 允许您利用 ArcGIS for Server 平台的所有组件。

使用 CloudFormation 部署高可用性 GIS 服务器

Esri 提供的示例 CloudFormation 模板可使您在 AWS 上使用单机架构 GIS 服务器(每一服务器都有自己的配置存储)或高可用性 GIS 服务器站点(使用共享的配置存储)时实现高可用性。

部署单机(活动-活动)GIS 服务器站点

单机(活动-活动)GIS 服务器站点(之前称为筒仓架构)包含多个相同但独立的 ArcGIS Server 计算机,这些计算机在负载均衡器下运行,以便相互分配作业。每个 GIS 服务器站点均在单机上自成体系,拥有自己的配置存储。此类架构的一个主要优势在于即便丢失任何 GIS 服务器实例,ArcGIS Server 仍可继续运行,这意味着在一台计算机故障的情况下,您的服务仍然可用。

AWS 上的高可用性单机架构 GIS 服务器

但是,您无法使用 ArcGIS Server Cloud Builder 构建单机架构;必须使用 AWS 管理控制台或 API 手动对其进行创建。为便于创建高可用性单机 GIS 服务器,可使用 AWS CloudFormation,arcgis-siloed-server-VPC.template 和使用 AWS CloudFormation 中的步骤来定义站点和将 ArcGIS Server 计算机保存在一起的负载均衡器。arcgis-siloed-server-VPC.template 使用自动伸缩,这可确保您始终只需维护站点中最少量的计算机,但仍可根据 GIS 服务器的使用情况添加或移除计算机,以便在无法使用某计算机时实现无缝恢复。

部署使用共享配置存储的高可用性 GIS 服务器站点

GIS 服务器站点包括 web 服务器、web 适配器、数据服务器以及可在多台计算机间分布以便提高计算能力的一个或多个 ArcGIS Server 安装程序(包括配置存储和服务器目录)。在对分配给一组服务的资源进行管理的过程中,站点中的各个组件都有着明确的分工。

可使用一个 arcgis-server-<os>-haconfigstore 模板使用 AWS CloudFormation 中的步骤定义包含两个或更多 ArcGIS Server 安装程序的高可用性 GIS 服务器站点,并针对配置存储使用 Amazon 简单存储服务 (S3) 和 DynamoDB。使用此模板时,系统会向 ArcGIS Server 目录设置自动恢复;因此,即使一台计算机故障,您的服务仍然可用。

下图所示的 ArcGIS Server 站点中含有存储 ArcGIS Server 目录的文件服务器计算机,以及存储 ArcGIS Server 配置的 DynamoDB:

将 AWS DynamoDB 和 S3 用于 ArcGIS Server 配置存储的高可用性 GIS 服务器

为了在整个 Amazon 可用性区域均不可用时仍能够访问服务,可在发布所需服务后将 GIS 服务器站点置于只读模式。这样您就能够恢复 ArcGIS Server 目录了。

配置存储

使用 Amazon S3 和 DynamoDB 存储配置时,多数服务为高可用性服务,但以下服务例外:

  • 无法将地理处理服务处理为高可用性服务。
  • 缓存服务不会自动处理为高可用性服务,但可单独对其进行配置,使其具有高可用性

使用 arcgis-server-<os>-haconfigstore 模板之一创建高可用性 GIS 服务器站点时,系统会在您的 AWS 帐户内创建以下内容:

  • 在您部署 GIS 服务器站点的 AWS 区域内创建一个名为 ArcGISConfigStores 的 DynamoDB 域,并为其配置 5 个读取容量单位和 1 个写入容量单位
  • 为每个命名空间创建的,名为 ArcGISConfigStores 的 DynamoDB 域。<命名空间>,创建时配置有 250 个读取容量单位和 25 个写入容量单位
  • 每个命名空间配有名为 arcgis-config-store-<命名空间>-<唯一 ID>] 的 S3 存储段

请注意,删除 GIS 服务器站点后,ArcGIS Server 会删除各个命名空间的 DynamoDB 域和 S3 存储段。如果不将 GIS 服务器站点部署到该 AWS 区域,则必须手动删除 DynamoDB 域。

另请注意,必须管理 DynamoDB 表格中配置的吞吐量设置,以确保 GIS 服务器配置存储的操作能够可靠、快速地进行。Esri 建议您配置 CloudWatch 度量警报,以便在这些 DynamoDB 表格的容量超过指定等级时收到通知。

服务器目录

系统将使用 ArcGIS Server 高可用性模板部署的站点配置为自动恢复。如果目录所在的实例发生故障或无法使用,AWS 会将实例的状态替换为发生故障前的状态。如果整个 Amazon 可用性区域在长时间内均不可用,则 GIS 服务器站点将无法使用。如果您希望站点在 Amazon 可用性区域故障时仍能使用,可将 GIS 服务器站点置于只读模式,此操作会复制 GIS 服务器站点中各个计算机的服务器目录。您可以访问这些副本来恢复站点。但请注意,启用只读模式后,系统将无法发布新服务,并且会阻止大部分的管理操作。

如果将 GIS 服务器站点置于只读模式,则您可遵循这些步骤,在 Amazon 可用性区域发生故障时恢复 GIS 服务器站点。

  1. 在新的可用性区域中,重新创建与故障可用性区域相关联的 VPC 子网。
  2. 使用 ArcGIS 10.4.1 Server Amazon 机器映像,在重新创建的 VPC 子网内启动 Amazon EC2 实例。实例的专用地址必须为 10.0.0.4。
  3. 运行并登录实例,然后更改 ArcGIS 管理员帐户密码,使其与最初使用 CloudFormation 创建站点时指定的密码一致。
  4. 确保共享服务器目录位置的根路径可用。

    无法为共享服务器目录指定新位置。

  5. 登录到 ArcGIS Server 管理员目录。
  6. 转至系统 > 目录 > 恢复
  7. 单击恢复。本地资料档案库的内容或文件夹结构将会复制到共享服务器目录中。

在单机上部署 web GIS

Esri 提供的示例 CloudFormation 模板允许您在 AWS 上部署 web GIS。Web GIS 部署包括以下 ArcGIS 产品:

  • ArcGIS for Server
  • Portal for ArcGIS
  • ArcGIS Web Adaptor
  • ArcGIS Data Store

示例 arcgis-allinone-<OS>-vpc CloudFormation 模板将对全部产品进行配置,以使其在单机上作为统一的 web GIS 使用。

  • Portal for ArcGIS 已使用上下文 portal 注册到 ArcGIS Web Adaptor。例如,注册的门户 URL 的格式为 http://<domain name>/portal/home
  • ArcGIS Server 站点已创建且已使用上下文 server 注册到 ArcGIS Web Adaptor。例如,ArcGIS Server Manager URL 的格式为 http://<domain name>/server/manager
  • 创建 ArcGIS Data Store 并注册到 ArcGIS Server 站点。允许 ArcGIS Server 站点为门户存储托管要素图层数据。
  • 联合 ArcGIS Server 站点与门户,并将其设置为门户的托管服务器。

运行 CloudFormation 模板之前,您需要拥有以下内容来部署 web GIS:

  • 站点的有效域名称
  • 从证书颁发机构获得的,域的 TLS (SSL) 证书
  • 将与 EC2 实例相关联的弹性 IP 地址;您必须将域名称映射到此弹性 IP 地址

在 AWS 上的一台计算机上部署的 web GIS

使用 web GIS 模板和使用 AWS CloudFormation 中的步骤在 AWS 上定义 web GIS。

使用 CloudFormation 部署高可用性 web GIS

Esri 还提供了 CloudFormation 模板,可用于在 AWS 上部署高可用性 web GIS。此模板将安装并配置前一部分中列出的产品,并对每个组件进行配置,以确保即使部署中的一台计算机出现故障,数据和服务仍然可用。其中包括使用 AWS 自动恢复进行配置的文件服务器实例,用于存储门户内容、ArcGIS for Server 的配置存储和目录,以及相关数据存储的备份文件。

一个高可用性 web GIS 至少包含三台机器。下图显示了 AWS 上每台高可用性 web GIS 计算机的软件组件:

AWS 上的高可用性 web GIS

可选择将一个时空大数据存储集群包括在此配置中。

请注意,只能将此实例恢复到相同的可用性区域中。如果整个可用性区域均无法使用,除非在另一 AWS 区域内设置了相同的次要部署,否则无法恢复 web GIS 部署。设置次要部署后,您可使用与 Portal for ArcGIS 一起安装的 webgisdr 工具导出主要部署。此部署如下图所示:

使用 webgisdr 工具复制的高可用性 web GIS 部署

本主题图中的某些图标需在得到 Amazon Web Services 权限后方可使用。