Skip To Content

在 AWS 上升级 ArcGIS Server 站点

您可以通过手动升级过程运行来在 Amazon Web Services (AWS) 上升级 ArcGIS Server 站点(其中包括 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 站点),或者,如果使用 10.8 或 10.8.1 Esri Amazon Web Services CloudFormation 模板创建了部署,则可以使用 Chef 脚本进行升级。

在升级之前

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

  • 升级之前,对于新版本 ArcGIS Enterprise Amazon 机器映像 (AMI),请接受 AWS Marketplace 条款
  • 要升级到 10.9,您需要新的许可文件。
  • 升级 ArcGIS Server 站点前,为其创建备份。
  • 如果 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,则必须先升级门户,然后再升级此联合服务器。
  • 您必须先从 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 脚本升级

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. 下载并安装 Chef 或 Cinc 客户端 15。 如果您安装的是 Chef 的旧版本,请将其更新到版本 15。
  3. My Esri 内的您的帐户中下载 ArcGIS Server 10.9 安装文件 (ArcGIS_Server_Windows_109_<BUILDNUM>.exe),并将文件上传到 EC2 实例上的文件夹中。
  4. 获取 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 10.9 授权文件,并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  5. 将 ArcGIS Cookbook 版本 3.7.0 (arcgis-3.7.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 版本设置为 10.9。
      "arcgis" : {
          "version": "10.9",
    • 指定放置 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. 使用以下命令之一下载并安装或安装 Chef 或 Cinc 客户端 15。 如果您安装的是 Chef 的旧版本,请将其更新到版本 15。
    • Chef 客户端:sudo curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -v 15.14.0
    • Cinc 客户端:sudo curl -L https://omnitruck.cinc.sh/install.sh | sudo bash -s -- -v 15.14.0
  4. My Esri 内的您的帐户中下载 ArcGIS Server 10.9 安装文件 ( ArcGIS_Server_Linux_109_177864.tar.gz),并将文件上传到 EC2 实例上的文件夹中。
  5. 获取 ArcGIS GIS ServerArcGIS GeoAnalytics ServerArcGIS Image Server 10.9 授权文件,并将其放置在 EC2 实例上的本地文件夹中或可从 EC2 实例访问的文件共享中。
  6. 将 ArcGIS Cookbook 版本 3.7.0 (arcgis-3.7.0-cookbooks.tar.gz) 下载EC2 实例中,解压并解压缩文件,然后将文件内容放置在 /var/chef 目录中。
  7. 创建原始 /etc/chef/node.json 文件的副本,然后将其重命名为 upgrade_server_linux.json
  8. 在文本编辑器中打开 upgrade_server_linux.json 文件。

    • 将 ArcGIS 版本设置为 10.9。
      "arcgis" : {
          "version": "10.9",
    • 指定放置 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,因为在实例之间进行通信不再需要这些端口。