要使 ArcGIS Server 站点真正具备高可用性,您需要将 ArcGIS Server 配置存储存储在高可用性的共享位置中。您可以使用 Amazon Web Services (AWS) 存储服务作为配置存储。
您需要 AWS 帐户,还需要帐户的访问密钥和保密密钥或预定义的 IAM 角色来完成以下工作流,以便配置使用 AWS 存储服务作为配置存储的高可用性 ArcGIS Server 站点。
在此工作流中,您将启动三个实例;其中两个将用于 ArcGIS Server 站点,第三个将用于将存储 ArcGIS Server 目录的文件共享。此外,将为配置存储创建 AWS DynamoDB 和简单存储服务 (S3)。
- 如果这是首次使用特定 AMI,请接受 AWS 条款。
- 登录到 AWS 管理控制台并从 ArcGIS AMI 启动三个实例。
有关详细信息,请参阅启动运行 ArcGIS Server 的 EC2 实例。
如果您启动了 VPC 中的实例,请确保进行以下操作:
- 将子网配置为启动自动分配公共 IP。有关详细信息,请参阅 AWS VPC IP 地址文档。
- 打开您将与实例配合使用的安全组中的端口 6080。
- 连接到其中两个实例,然后为这些实例授权 ArcGIS Server。
- 请勿从 ArcGIS Server Manager 创建 GIS 服务器站点,请打开其中一个实例的 ArcGIS Server 管理员目录 URL (http://<public DNS>:6080/arcgis/admin),然后单击 createNewSite。
- 在 ArcGIS Server 主站点管理员的主管理员名称和密码字段中输入相应的用户名和密码。
- 将以下内容之一复制到配置存储连接 (JSON) 字段,然后将变量信息替换为特定于帐户和实施的信息。
- 如果配置了 IAM 角色,则请将以下内容复制到配置存储连接 (JSON):
{ "type"="AMAZON","connectionString"="NAMESPACE=<Name of your Bucket>;REGION=<AWS region e.g us-west-2>;" }
- 如果没有配置 IAM 角色,则请将以下内容复制到配置存储连接 (JSON):
{ "type"="AMAZON","connectionString"="NAMESPACE=<Name of your Bucket>;REGION=<AWS region e.g us-west-2>", "connectionSecret"="ACCESS_KEY_ID=<Your AccessKey>;SECRET_KEY=<Your Secret Key>;" }
存储段所使用的命名空间必须对此 ArcGIS Server 站点唯一,且命名空间中可包含最多 50 个字母数字字符。
为了实现最佳性能,您所指定的 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": "" }, { "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": "" }, { "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": "" }, { "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": "" } ] }
- 还可将以下内容复制到日志设置 (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 }
- 将集群 (JSON) 字段留空,以使用默认集群。
- 单击创建。
- 创建 GIS 服务器站点后,请返回 AWS 管理控制台并验证 S3 存储段和 DynamoDB 是否存在。
- 转至服务 > 存储和内容传递 > S3 并验证是否存在名为 arcgis-config-store-<name you provided> 的 S3 存储段。
- 转至服务 > 数据库 > Dynamo DB并验证以下项目是否存在:ArcGISConfigStore.<S3 bucket name>(其中包含容器项目)和 ArcGISConfigStores(其中包含命名空间项目)。
- 打开第二个 AWS 实例的 ArcGIS Server。URL 是 http://<public DNS>:6080/arcgis/manager。
- 将此实例加入到 ArcGIS Server 站点。
- 单击加入现有站点。
- 提供您在第一个实例中创建的 ArcGIS Server 站点的 URL。
- 提供您在第一个实例中创建的主站点管理员用户名和密码。
现在您即拥有了包含两台计算机、一台存储 ArcGIS Server 共享目录的计算机、以及 AWS 存储服务上的共享配置存储的高可用性 ArcGIS Server。