Skip To Content

通过 Amazon 存储服务中的共享配置存储配置高可用性 ArcGIS Server

要获得真正具有高可用性的 ArcGIS Server 站点,您必须在具有高可用性的共享位置中存储 ArcGIS Server 配置存储。 您可以针对配置存储使用 Amazon 存储服务。

您需要 Amazon Web Services (AWS) 帐户,还需要帐户的访问密钥和保密密钥或预定义的 IAM 角色来完成以下工作流,以便配置使用 Amazon 存储服务作为配置存储的高可用性 ArcGIS Server 站点。

在此工作流中,您将启动三个 Amazon Elastic Compute Cloud (EC2) 实例;其中两个将用于 ArcGIS Server 站点,第三个将用于将存储 ArcGIS Server 目录的文件共享。 此外,将为配置存储创建 Amazon DynamoDBAmazon Simple Storage Service (S3) 存储段。

  1. 登录 AWS Management Console 并启动三个 EC2 实例。

    有关详细信息,请参阅启动运行 ArcGIS ServerEC2 实例

    如果您启动了 Amazon Virtual Private Cloud (VPC) 中的实例,请确保进行以下操作:

    1. 配置子网以自动分配公共 IP 地址。 有关详细信息,请参阅 AWS VPC IP 地址文档
    2. 打开您将与实例配合使用的安全组中的端口 6443。
  2. 连接到其中两个实例,然后在这些实例上安装 ArcGIS Server

    有关连接到 EC2 实例的说明,请参阅 AWS 帮助

  3. 请勿从 ArcGIS Server Manager 创建 ArcGIS Server 站点,请打开第一个 AWS 实例的 ArcGIS Server 管理员目录 URL (https://<public DNS>:6443/arcgis/admin),然后单击 createNewSite
  4. 主管理员名称密码字段中相应地提供 ArcGIS Server 主站点管理员的用户名和密码。
  5. 将以下内容之一复制到配置存储连接 (JSON) 字段,然后将变量信息替换为特定于帐户和实施的信息。
    • 如果配置了 IAM 角色,请将以下内容复制到配置存储连接 (JSON)

      {
      	    "type": "AMAZON",
           "connectionString": "NAMESPACE=<Name of your Bucket>;REGION=<AWS region>;"
      	}

    • 如果没有配置 IAM 角色,则请将以下内容复制到配置存储连接 (JSON)

      {
      	    "type": "AMAZON",
           "connectionString": "NAMESPACE=<Name of your Bucket>;REGION=<AWS region>",
      	    "connectionSecret": "ACCESS_KEY_ID=<Your AccessKey>;SECRET_KEY=<Your Secret Key>;"
      	}

    存储段所使用的命名空间必须对此 ArcGIS Server 站点唯一。 ArcGIS 将文本 arcgis-config-store- 附加到所提供的名称上;因此,您可以为存储段名称提供的最大字母数字字符数是

    <AWS 允许的最大字符数> – 20

    为了实现最佳性能,您所指定的 AWS 区域应该与站点中包含的所有实例一致。

  6. 将以下内容复制到服务器目录 (JSON) 字段,然后将变量信息替换为特定于实施的信息:

    {
    	  "directories": [
    	           {
    	             "name": "arcgisoutput",
    	             "physicalPath": "<arcgisoutput directory>",
    	             "directoryType": "OUTPUT",
    	             "cleanupMode": "TIME_ELAPSED_SINCE_LAST_MODIFIED",
    	             "maxFileAge": 10,
    	             "description": "Stores various information generated by services, such as map images.",
    	             "useLocalDir": "false",
    	             "localDirectoryPath": "",
    	             "virtualPath": "/rest/directories/arcgisoutput"
    	           },
    	           {
    	             "name": "arcgisjobs",
    	             "physicalPath": "<arcgisjobs directory>",
    	             "directoryType": "JOBS",
    	             "cleanupMode": "TIME_ELAPSED_SINCE_LAST_MODIFIED",
    	             "maxFileAge": 360,
    	             "description": "Stores results and other information from geoprocessing services.",
    	             "useLocalDir": "false",
    	             "localDirectoryPath": "",
    	             "virtualPath": "/rest/directories/arcgisjobs"
    	           },
    	           {
    	             "name": "arcgiscache",
    	             "physicalPath": "<arcgiscache directory>",
    	             "directoryType": "CACHE",
    	             "cleanupMode": "NONE",
    	             "maxFileAge": 0,
    	             "description": "Stores tile caches used by map, globe, and image services for rapid performance.",
    	             "useLocalDir": "false",
    	             "localDirectoryPath": "",
    	             "virtualPath": "/rest/directories/arcgiscache"
    	           },
    	           {
    	             "name": "arcgissystem",
    	             "physicalPath": "<arcgissystem directory>",
    	             "directoryType": "SYSTEM",
    	             "cleanupMode": "NONE",
    	             "maxFileAge": 0,
    	             "description": "Stores directories and files used internally by ArcGIS Server.",
    	             "useLocalDir": "false",
    	             "localDirectoryPath": "",
    	             "virtualPath": "arcgissystem"
    	           }
    	     ]
    	}

    提示:
    例如每种类型的 physicalPath 的值,请参阅 ArcGIS REST API 帮助中的创建站点的“使用示例”部分。

  7. 还可将以下内容复制到日志设置 (JSON) 字段,然后根据需要替换实例的值。

    如果不指定日志信息,ArcGIS 会使用默认的日志级别(警告)、目录(Windows 实例为 C:\\arcgisserver\\logs\\Ubuntu 实例为 /arcgis/server/usr/logs)、最大存储日志文件数 (10) 以及最大存储日志文件天数 (90)。

    注:

    JSON 将反斜杠字符 (\) 视为转义字符;因此,每当您提供包含反斜杠的文本时(例如在 Windows 目录路径中),您必须使用两个反斜杠。

    {
    		"logLevel": "<DEBUG | VERBOSE | FINE | INFO | WARNING | SEVERE>",
    		"logDir": "<directory>",
    		"maxErrorReportsCount": 10,
    		"maxLogFileAge": 90
    	}

    在以下示例中,将在 ArcGIS Server 计算机上的日志文件夹中创建多达 25 个调试日志文件,并且日志文件将保留 30 天。

    {
    		"logLevel": "DEBUG",
    		"logDir": "C:\\arcgisserver\\logs\\",
    		"maxErrorReportsCount": 25,
    		"maxLogFileAge": 30
    	}

  8. 集群 (JSON) 字段留空,以使用默认集群。
  9. 单击创建
  10. 创建 ArcGIS Server 站点后,请返回 AWS Management Console 并验证 S3 存储段和 DynamoDB 是否存在。
    1. 转至服务 > 存储和内容传递 > S3,然后验证是否存在名为 arcgis-config-store-<name you provided>S3 存储段。
    2. 转至服务 > 数据库 > Dynamo DB,然后验证以下项目是否存在:ArcGISConfigStore.<S3 bucket name>(其中包含容器项目)和 ArcGISConfigStores(其中包含命名空间项目)。
  11. 为第二个 AWS 实例打开 ArcGIS Server Manager

    URL 是 https://<public DNS>:6443/arcgis/manager

  12. 按照下方步骤将此第二个 AWS 实例连接到 ArcGIS Server 站点。
    1. 单击加入现有站点
    2. 提供您在第一个实例中创建的 ArcGIS Server 站点的 URL。
    3. 提供您在第一个实例中创建的主站点管理员用户名和密码。

现在您即拥有了包含两台计算机、一台用于存储 ArcGIS Server 共享目录的计算机以及 Amazon 存储服务上的共享配置存储的高可用性 ArcGIS Server 站点。