Skip To Content

使用 CloudFormation 在集群模式下部署 ArcGIS Data Store

Esri arcgis-datastore-cluster.template.json Amazon Web Services (AWS) CloudFormation 模板可在多个 Amazon Elastic Compute Cloud (EC2) 实例上创建切片缓存或时空 ArcGIS Data Store。 您可以使用实例集群对数据存储进行调整,以满足存储的要求。

此模板在 AWS 自动伸缩组中配置 ArcGIS Data Store 实例,可提供一定的优势,例如基于特定标准的容量规划、更强的容错性、更高的可用性以及更好的成本管理。

提示:
使用此模板作为使用 CloudFormation 在不同的计算机上部署 ArcGIS Enterprise 组件中描述的创建 ArcGIS Enterprise 部署的一部分。

使用此模板时,您具有以下备份存储选项:

  • Amazon Simple Storage Service (S3) 中存储备份文件。
  • 在单独的文件服务器(EC2 实例)上存储备份文件。

此模板可在 Amazon Web Services 中创建以下架构:

其计算机位于自动伸缩组中的切片缓存或时空大数据存储

在上图中,备份显示在 EC2 文件服务器或 S3 存储段中;备份不会同时在两个位置创建。

许可:

示意图中的某些图标需在得到 Amazon Web Services 权限后方可使用。

先决条件

先决条件可以按照您必须获取的项目(例如文件和帐户)以及在运行 CloudFormation 模板之前必须执行的任务来进行分组。

必需项目

运行此模板之前,您需要以下内容:

必需任务

运行此模板之前,请完成以下任务:

  • 您必须具有将作为 ArcGIS Enterprise 门户的托管服务器使用的 ArcGIS GIS Server 站点。 请确保此站点的类型与您将使用此模板创建的注册到此站点的 ArcGIS Data Store 类型不同。

    您可以使用单机 ArcGIS Server 站点模板多机 ArcGIS Server 站点模板创建此站点。

  • AWS Secrets Manager 中配置密码(此为可选项,但建议选择)。

    您可以在 AWS Secrets Manager 中配置帐户的密码,例如站点管理员用户名和 Windows arcgis 用户密码。 将为您提供密钥的 Amazon 资源名称 (ARN)。 启动堆栈时,在模板参数中使用 ARN 代替密码。 如果您不使用 AWS Secrets Manager 存储密码,则必须在启动堆栈时在模板参数中键入纯文本密码。

    注:

    当您在 AWS Secrets Manager 中创建一个密钥 ARN 以用于与 Esri CloudFormation 模板配合使用的密码时,必须使用其他密钥类型作为密钥类型,然后使用纯文本选项。 有关创建用于密码的 Amazon 资源名称的详细信息,请参阅 AWS CloudFormation 和 ArcGIS

提示:

默认情况下,如果堆栈创建失败,CloudFormation 将删除部分创建的资源。 这十分有用,因为此操作从帐户中移除了无法使用的部署,但是可能使故障排除变得困难。 要在失败状态下保留堆栈,请在启动堆栈之前禁用失败时回滚 CloudFormation 堆栈创建选项。 有关详细信息,请参阅 AWS 帮助中的设置 AWS CloudFormation 选项

参数

有关此 CloudFormation 模板中所使用参数的描述,请参阅下表。 已按参数类型对表进行分组。

Amazon EC2 Configuration

参数名称是否为必需项?参数说明

Platform Type

必填

选择操作系统平台。 支持的类型如下:

  • Windows
  • Linux

对于特定的操作系统版本,请参阅AWS 上个将 CloudFormation 用于 ArcGIS 时支持的操作系统

EC2 Instance AMI ID

可选

您可以将此参数值留空。 如果您这样做,CloudFormation 模板将基于您选择的平台类型使用 Microsoft Windows Server 2019 或 Ubuntu Server 18.04 LTS 的最新 Amazon Machine Image (AMI) ID。

注:

如果您在 Linux 平台上的 AWS GovCloud 中进行部署,则不可以将此参数留空。 有关从 Canonical 为基础 Ubuntu AMI 查找 ID 的说明,请参阅 Esri Amazon Web Services CloudFormation 模板。 如果您部署在除 Ubuntu 之外的受支持的 Linux 操作系统上,则可以使用 AWS Management Console 或在 AWS Marketplace 中找到 AMI ID。

首次使用特定版本的默认 AMI 时,您必须接受 AWS Marketplace 条款

如果您想要使用自己的自定义 AMI,可以使用以下方式之一输入 AMI ID。

  • 'ami-xxxxx' 格式提供 AMI ID。
  • 如果您将 AMI ID 存储在 AWS SSM 参数存储中,请以 AWS'{{resolve:ssm:[a-zA-Z0-9_.-/]+:\d+}}' 格式提供 SSM 参数名。

如使用自定义 AMI,请确保其满足以下要求:

  • 必须已激活 EC2 实例元数据服务(版本 V2 或 V1)。
  • 必须安装最新版本的 AWS Systems Manager (SSM)。
  • 如果自定义 AMI 具有 Windows 操作系统,则必须安装用于 PowerShellAWS

EC2 Instance Keypair Name

必填

选择 EC2 密钥对名称以允许远程访问 EC2 实例。

Elastic IP Address Allocation ID

可选

采用 eipalloc-XXXXXXXX 格式提供弹性 IP 地址的分配 ID。

如果您想要将站点域名映射到弹性 IP 地址,并通过 AWS 环境外部的 RDP/SSH 访问 EC2 实例,则需要弹性 IP 地址。

如果您不想将弹性 IP 地址分配到 EC2 实例,请将此参数值留空。

Amazon VPC Configuration

参数名称是否为必需项?参数说明

VPC ID

必填

选择 VPC ID。

注:

此参数的 VPC 必须与您要将此数据存储添加到的 ArcGIS GIS Server 站点相同。

Subnet ID 1

必填

选择子网 ID。 您选择的子网 ID 必须在您在上方选择的 VPC 中。

如果您已使用 Esri CloudFormation 模板来创建 VPC,则可以从模板输出参数获取子网 ID。

Subnet ID 2

必填

选择第二个子网 ID。 此 ID 必须是与子网 ID 1 参数不同的子网 ID。 您选择的子网 ID 必须在您为此部署指定的 VPC 中。

如果您已使用 Esri CloudFormation 模板来创建 VPC,则可以从模板输出参数获取子网 ID。

ArcGIS Server Configuration

参数名称是否为必需项?参数说明

Site Administrator User Name

必填

提供将用作门户托管服务器的 ArcGIS GIS Server 站点的 ArcGIS Server 主站点管理员的用户名。

Site Administrator User Password

必填

提供 ArcGIS Server 主站点管理员的密码。 您可以输入纯文本密码或 AWS Secrets Manager 中您的密钥 ID 的 ARN。 有关创建用于密码的 Amazon 资源名称的详细信息,请参阅 AWS CloudFormation 和 ArcGIS

您所提供的密码或密钥 ID 必须与现有的主站点管理员匹配。

ArcGIS Server EC2 Instance ID

必填

选择配置 ArcGIS Server 站点的 EC2 实例 ID。

注:
如果要将数据库注册到多机 ArcGIS Server 站点,可以从 ArcGIS Server 站点选择任意 EC2 实例 ID。 请勿选择文件服务器 EC2

ArcGIS Data Store Configuration

参数名称是否为必需项?参数说明

Type

必填

选择要在集群模式下部署的 ArcGIS Data Store 类型。 有效值为 spatiotemporal 或 tileCache。

提示:

要创建关系数据存储,请使用单击数据存储主-备用数据存储模板。

Number of EC2 instances

必填

选择要在数据存储集群中包含的 EC2 实例数。 默认值为 3。

有效值为 1、3 或 5。

注:

如果您需要更多 EC2 实例,使用 AWS Management Console 修改 AWS 自动伸缩组,使其包含所需数量的实例。 在时空大数据存储中,您所拥有的实例数必须为奇数,并且建议您在切片缓存数据存储集群中也拥有奇数个实例。

EC2 Instance Type

必填

选择要为 ArcGIS Data Store 实例使用的 EC2 实例类型。 默认值为 m5.2xlarge。

实例将配置在 AWS 自动伸缩组中。

EC2 Instance Root Drive Disk Space

必填

提供根驱动器的大小(以 GB 为单位)。 默认值为 100 GB。 最小值为 100 GB。 最大值为 1024 GB。

Windows arcgis user password

条件分析

提供 arcgis 用户的密码。 arcgis 用户是用于运行 ArcGIS 软件服务的本地 Windows 登录帐户;因此,仅当您在 Windows 上部署时需要此密码。

您可以输入纯文本密码或 AWS Secrets Manager 中您的密钥 ID 的 ARN。

最佳做法是在 AWS Secrets Manager 中管理您的密码。 有关创建用于密码的 Amazon 资源名称的信息,请参阅 AWS CloudFormation 和 ArcGIS

Backup Store Type

必填

选择 ArcGIS Data Store 备份存储类型。 默认类型为 FileSystem

  • FileSystem - ArcGIS Data Store 备份存储在 ArcGIS 文件服务器 EC2 实例中。
  • CloudStore - ArcGIS Data Store 备份存储在此堆栈创建的 Amazon S3 存储段中。

Backup Store EC2 Instance Type

条件分析

ArcGIS Data Store 备份计算机选择 EC2 实例类型。 默认实例类型为 m5.2xlarge。

注:

仅当您指定 FileSystem 作为备份存储类型时,才需要此项。

Backup Store EC2 Instance Root Drive Disk Space

条件分析

提供根驱动器的大小(以 GB 为单位)。 默认值为 100 GB。 最小值为 100 GB。 最大值为 1024 GB。

注:

仅当您指定 FileSystem 作为备份存储类型时,才需要此项。

输出

当您的堆栈成功创建后,可以在 AWS Management Console 中的 CloudFormation 堆栈的输出选项卡看到以下输出参数。

输出名称输出描述

DeploymentLogsURL

这是 Amazon CloudWatch 日志的 URL,其中存储了所有部署日志。 如果部署失败,您可以参考这些日志以进行故障排除。

StopStackFunctionName

这是停止堆栈 Lambda 函数 URL。 您可以使用此 lambda 函数停止堆栈中的所有 EC2 实例。

StartStackFunctionName

这是开始堆栈 Lambda 函数 URL。 您可以使用此 lambda 函数开始堆栈中的所有 EC2 实例。

注意事项

创建包含 ArcGIS 部署的 CloudFormation 堆栈后,需要考虑以下几项重要内容:

  • 当您使用此模板在 AWS 上部署 ArcGIS Data Store 时,EC2 实例将配置在 AWS 自动伸缩组中。 创建此堆栈后,您可以通过调整 AWS 自动伸缩组的大小来向 ArcGIS Data Store 集群添加更多计算机(EC2 实例)。 使用 AWS Management Console 增加自动伸缩组的容量以添加计算机。 要移除计算机,请减少容量。 请参阅关于更改自动伸缩组容量限制的 AWS 说明文档以将计算机添加到 ArcGIS Data Store 集群或从中移除。

    提示:

    要查找为 CloudFormation 堆栈创建的 AWS 自动伸缩组,请查看相关 CloudFormation 堆栈的资源选项卡。 资源的逻辑 ID 为 AutoScalingGroup

    虽然在技术上可以将 AWS 自动伸缩组的大小更改为零,但是在自动伸缩组中,至少要使一个实例保持运行,否则,ArcGIS Data Store 将无法运行。

  • 请勿删除此 CloudFormation 模板创建的任何 AWS 资源。 如果您想要了解此模板创建了哪些 AWS 资源,请在 AWS Management Console 中查看此堆栈的资源选项卡。 Esri CloudFormation 模板创建的每个资源还具有元数据标签。 但是,一些资源不会在 AWS Management Console 中显示标签。
  • 您可以使用堆栈输出中显示的 AWS Lambda 函数(在此页面的“输出”部分中列出)在不使用时停止此堆栈中的 EC2 实例,并在需要时重新启动。 此函数对于帮助您管理成本十分有用。

    当您运行 Lambda 函数以停止部署中 EC2 实例时,函数将返回消息提示实例已停止。 但是如果实例已加入自动伸缩组,函数还必须将实例从组中分离。 此过程可能需要花费 10 分钟才能完成。 因此,在您运行 Lambda 启动函数以重新启动部署之前,请至少等待 10 分钟。

  • 如果您对密码(例如站点管理员用户密码或 Windows arcgis 用户密码)使用 AWS Secrets Manager ,则可以稍后(创建部署后)更改这些密码,并确保使用更新的密码更新相应的 AWS Secrets Manager ARN。

疑难解答

如果您在创建此 CloudFormation 堆栈时发现任何故障,请参阅 AWS 上的 ArcGIS 部署疑难解答