要获得真正具有高可用性的 ArcGIS Server 站点,您必须在具有高可用性的共享位置中存储 ArcGIS Server 配置存储。 您可以针对配置存储使用 Amazon 存储服务。
您需要 Amazon Web Services (AWS) 帐户,还需要帐户的访问密钥和保密密钥或预定义的 IAM 角色来完成以下工作流,以便配置使用 Amazon 存储服务作为配置存储的高可用性 ArcGIS Server 站点。
在此工作流中,您将启动三个 Amazon Elastic Compute Cloud (EC2) 实例;其中两个将用于 ArcGIS Server 站点,第三个将用于将存储 ArcGIS Server 目录的文件共享。 此外,将为配置存储创建 Amazon DynamoDB 和 Amazon Simple Storage Service (S3) 存储段。
- 登录 AWS Management Console 并启动三个 EC2 实例。
有关详细信息,请参阅启动运行 ArcGIS Server 的 EC2 实例。
如果您启动了 Amazon Virtual Private Cloud (VPC) 中的实例,请确保进行以下操作:
- 配置子网以自动分配公共 IP 地址。 有关详细信息,请参阅 AWS VPC IP 地址文档。
- 打开您将与实例配合使用的安全组中的端口 6443。
- 连接到其中两个实例,然后在这些实例上安装 ArcGIS Server。
有关连接到 EC2 实例的说明,请参阅 AWS 帮助。
- 请勿从 ArcGIS Server Manager 创建 ArcGIS Server 站点,请打开第一个 AWS 实例的 ArcGIS Server 管理员目录 URL (https://<public DNS>:6443/arcgis/admin),然后单击 createNewSite。
- 在主管理员名称和密码字段中相应地提供 ArcGIS Server 主站点管理员的用户名和密码。
- 将以下内容之一复制到配置存储连接 (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 区域应该与站点中包含的所有实例一致。
- 如果配置了 IAM 角色,请将以下内容复制到配置存储连接 (JSON):
- 将以下内容复制到服务器目录 (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" } ] }
- 还可将以下内容复制到日志设置 (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 }
- 将集群 (JSON) 字段留空,以使用默认集群。
- 单击创建。
- 创建 ArcGIS Server 站点后,请返回 AWS Management Console 并验证 S3 存储段和 DynamoDB 是否存在。
- 转至服务 > 存储和内容传递 > S3,然后验证是否存在名为 arcgis-config-store-<name you provided> 的 S3 存储段。
- 转至服务 > 数据库 > Dynamo DB,然后验证以下项目是否存在:ArcGISConfigStore.<S3 bucket name>(其中包含容器项目)和 ArcGISConfigStores(其中包含命名空间项目)。
- 为第二个 AWS 实例打开 ArcGIS Server Manager。
URL 是 https://<public DNS>:6443/arcgis/manager。
- 按照下方步骤将此第二个 AWS 实例连接到 ArcGIS Server 站点。
- 单击加入现有站点。
- 提供您在第一个实例中创建的 ArcGIS Server 站点的 URL。
- 提供您在第一个实例中创建的主站点管理员用户名和密码。
现在您即拥有了包含两台计算机、一台用于存储 ArcGIS Server 共享目录的计算机以及 Amazon 存储服务上的共享配置存储的高可用性 ArcGIS Server 站点。