Skip To Content

在 AWS 上升级 ArcGIS Server 站点

升级方法取决于您以何种方式以及何时在 Amazon Web Services (AWS) 上创建 ArcGIS Server 站点。 包括 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 站点。

在升级之前

无论您使用哪种升级方法,请在升级部署之前查看以下信息:

  • 要升级到 11.0,您必须获取新的许可文件。
  • 升级 ArcGIS Server 站点前,为其创建备份。
  • 如果 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,则必须先升级门户,然后再升级此联合服务器。
  • 如果您使用手动过程或 Chef 脚本进行升级,必须先从 AWS 自动伸缩组中移除 ArcGIS Server 站点中的 Amazon Elastic Compute Cloud (EC2) 实例(如果其位于一个实例中),然后才能升级站点。 升级后,无法将实例放回自动伸缩组。 因此,您必须在需要时手动将实例添加到 ArcGIS Server 站点中或从该站点删除实例,并且不能使用通过 Esri 提供的 Amazon Web Services CloudFormation 模板创建的 Lambda 函数来停止和启动这些实例。

    如果不移除实例,或者在升级后将实例放回自动伸缩组中,则由自动伸缩组添加到 ArcGIS Server 站点的实例将正在运行该软件的旧版本。 您不能在站点中混合使用 ArcGIS Server 版本,因此这可能会破坏您的部署。

使用手动升级过程进行升级

AWS 上的 ArcGIS Server 站点的手动升级过程与在本地升级一个站点的过程类似。 AWS 上的差异在于,如果在 AWS 自动伸缩组中部署 ArcGIS Server 站点 Amazon Elastic Compute Cloud 实例,则必须在升级之前将其从自动伸缩组中移除。

请按照以下步骤从自动伸缩组中移除所有 EC2 实例。

  1. 登录 AWS Management Console 并查找与您的 ArcGIS Server 站点相关联的自动伸缩组。

    自动伸缩组包含 CloudFormation 堆栈的名称。 您还可以打开该组的实例管理,并确认该组中的 EC2 实例参与您的站点。

  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级 ArcGIS Server 站点后重新添加实例。

现在,您可以按照安装指南中的说明升级 ArcGIS Server 站点。 阅读您的 EC2 实例上特定于操作系统的说明:

使用 Chef 脚本升级

如果您使用 10.8 或 10.8.1 版本 Esri Amazon Web Services CloudFormation 模板创建了 ArcGIS Server 站点,则可以使用 Chef 脚本进行升级。

Microsoft WindowsUbuntu 上的部署的升级步骤不同。 请遵循适用于您的部署操作系统的说明。

升级 Windows 上的站点

请遵循这些步骤来使用 Chef 升级 Windows Amazon EC2 实例上的 ArcGIS Server 站点。

调整自动伸缩组设置

请按照以下步骤从自动伸缩组中移除所有 EC2 实例。

  1. 登录 AWS Management Console 并查找与您的 ArcGIS Server 站点相关联的自动伸缩组。
  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级 ArcGIS Server 站点后重新添加实例。

Chef 客户端和 ArcGIS Server 下载到所有 EC2 实例并进行升级

登录到 ArcGIS Server 站点中的每个 EC2 实例以安装 Chef 客户端、安装 ArcGIS Server 的最新版本,并进行升级。

  1. ArcGIS Server 站点中的第一个 EC2 实例创建远程桌面连接。
  2. 下载并安装 ChefCinc 客户端 16.16.13。 如果您安装的是 Chef 的旧版本,请将其更新到版本 16.16.13。
  3. My Esri 中从您的帐户下载 ArcGIS Server 11.0 安装文件 (ArcGIS_Server_Windows_110_182874.exe),并将文件上传到 EC2 实例上的文件夹中。
  4. 获取 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 11.0 授权文件,并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  5. 将 ArcGIS Cookbook 版本 4.0.0 (arcgis-4.0.0-cookbooks.zip) 下载EC2 实例中,解压缩文件,然后将解压缩后的文件内容放置在 C:\chef 文件夹中。
  6. 删除 C:\chef\nodes 文件夹。
  7. 创建原始 C:\chef\node.json 文件的副本,然后将其重命名为 upgrade_server_windows.json
  8. 在文本编辑器中打开 upgrade_server_windows.json 文件。

    • 将 ArcGIS 版本设置为 11.0
      "arcgis" : {
          "version": "11.0",
    • 指定放置 ArcGIS Server 授权文件的位置。
      "arcgis" : {
          "server": {
          "authorization_file" : "<drive>\\<folder>"
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	   "archives": "<drive>\\<folder>"
    • 修改运行列表以仅使用以下资源:
      "recipe[arcgis-enterprise::server]"

  9. 如果要升级 ArcGIS GeoAnalytics Server 站点,请添加 configure_windows_firewall 参数并将其设置为 true 以更新用于在实例之间进行通信的端口。

    "arcgis" : {
        "configure_windows_firewall": true,

  10. 保存并关闭 upgrade-server_windows.json 文件。
  11. 以管理员身份打开一个命令行窗口、将目录更改为 C:\chef,并运行以下命令:chef-client -z -j c:\chef\upgrade-server_windows.json
  12. 如果 ArcGIS Server 站点中有多个 EC2 实例,请与下一个 EC2 实例建立远程桌面连接,然后重复步骤 2 至 11,直到所有实例都升级为止。
  13. 升级 ArcGIS GeoAnalytics Server 站点后,可以根据需要关闭每个实例上的端口 2181、2182 和 2190,因为在实例之间进行通信不再需要这些端口。

升级 Ubuntu 上的站点

请遵循这些步骤来使用 Chef 升级 Ubuntu Amazon EC2 实例上的 ArcGIS Server 站点。

调整自动伸缩组设置

请按照以下步骤从自动伸缩组中移除所有 EC2 实例。

  1. 登录 AWS Management Console 并查找与您的 ArcGIS Server 站点相关联的自动伸缩组。
  2. 将堆栈的自动伸缩组的最小容量和最大容量属性更改为 0。
  3. 从自动伸缩组中移除所有 EC2 实例。
  4. 将自动伸缩组的所需容量属性更改为 0。

移除所有 EC2 实例后,删除自动伸缩组,以防止任何人在升级 ArcGIS Server 站点后重新添加实例。

Chef 客户端和 ArcGIS Server 下载到所有 EC2 实例并进行升级

登录到 ArcGIS Server 站点中的每个 EC2 实例以安装 Chef 客户端、安装 ArcGIS Server 的最新版本,并进行升级。

  1. 如果要升级 ArcGIS GeoAnalytics Server 站点,请在该站点的 EC2 实例上打开以下端口,以允许它们相互通信:12181、12182 和 12190。
  2. 以 ubuntu 用户身份建立与 ArcGIS Server 站点中的第一个 EC2 实例的 SSH 连接。
  3. 使用以下命令之一下载并安装 ChefCinc 客户端 16.16.13。 如果您安装的是 Chef 的旧版本,请将其更新到版本 16.16.13。
    • Chef 客户端:sudo curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -v 16.16.13
    • Cinc 客户端:sudo curl -L https://omnitruck.cinc.sh/install.sh | sudo bash -s -- -v 16.16.13
  4. My Esri 中从您的帐户下载 ArcGIS Server 11.0 安装文件 (ArcGIS_Server_Linux_110_182973.tar.gz),并将文件上传到 EC2 实例上的文件夹中。
  5. 获取 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 11.0 授权文件,并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  6. 将 ArcGIS Cookbook 版本 4.0.0 (arcgis-4.0.0-cookbooks.tar.gz) 下载EC2 实例中,解包并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
  7. 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgrade_server_linux.json
  8. 在文本编辑器中打开 upgrade_server_linux.json 文件。

    • 将 ArcGIS 版本设置为 11.0
      "arcgis" : {
          "version": "11.0",
    • 指定放置 ArcGIS Server 授权文件的位置。
      "arcgis" : {
          "server": {
          "authorization_file" : "/<folder>/<subfolder>"
    • 将 ArcGIS 存档存储库设置为您在 EC2 实例上放置软件文件的文件夹。
      "arcgis" : {
          "repository": {
      	   "archives": "/<folder>/<subfolder>"
    • 修改运行列表以仅使用以下资源:
      "recipe[arcgis-enterprise::server]"

  9. 保存并关闭 upgrade-server_windows.json 文件。
  10. 以 ubuntu 用户身份将目录更改为 /var/chef,并运行以下命令:chef-client -z -j /etc/chef/upgrade-server_linuxs.json
  11. 如果 ArcGIS Server 站点中有多个 EC2 实例,请与下一个 EC2 实例建立 SSH 连接,然后重复步骤 2 至 9,直到所有实例都升级为止。
  12. 升级 ArcGIS GeoAnalytics Server 站点后,可以根据需要关闭每个实例上的端口 2181、2182 和 2190,因为在实例之间进行通信不再需要这些端口。

使用 CloudFormation 模板升级

如果您使用 Esri 提供的 10.9 版本部署 CloudFormation 模板创建了 ArcGIS Server 站点,则可以使用对应的 11.0 升级模板进行升级。

下表列出了对应的部署和升级模板,并提供了升级模板使用说明的链接。

10.9 或 10.9.1 版本部署模板11.0 升级模板升级模板使用说明

arcgis-server-singlemachine.template.json

arcgis-server-singlemachine-upgrade.template.json

使用 CloudFormation 升级单机 ArcGIS Server 站点

arcgis-server-ha.template.json

arcgis-server-ha-upgrade.template.json

使用 CloudFormation 升级高可用性 ArcGIS Server 站点