在 Amazon Web Services (AWS) 上部署 ArcGIS Server 或 ArcGIS Enterprise 使您得以在托管 web 服务时享受到云环境的便利和可扩展性。web 服务的最终用户通常不会需要或希望通过登录到 AWS 中的实例来完成工作;他们仍会使用本地设备上的应用程序,通过服务来使用数据。
作为 AWS 上的 ArcGIS 部署管理员,您需要确保发布者能够创建最终用户所需的服务。某些服务可从本地或 web 客户端进行发布,并在发布的同时复制数据。然而在某些情况下,您可能需要通过 Internet 将 GIS 数据传输到云中的各个位置。本主题列举出了一些可用来发布和复制数据的选项、根据需要将数据传输到 AWS 的方法,以及 AWS 上可以存储数据的位置。其中还讨论了会对数据传输时间造成影响的一些因素。
利用 web 界面
ArcGIS Server Manager 和 Portal for ArcGIS 网站均可通过 web 浏览器进行访问。也就是说,您可以从本地桌面登录这些应用程序,而无需登录 AWS 上的 EC2 实例。
您可以在本地 ArcMap 安装程序中创建服务定义文件,文件中包含您希望用于服务的数据。创建该文件后,可通过 Manager 登录到 AWS 上的独立或联合 ArcGIS Server 站点,随后从服务定义文件进行发布。
如果您在 AWS 上部署了 ArcGIS Enterprise,则能够以具有权限的用户身份登录到门户网站,从而创建内容和发布托管要素图层、将数据源(例如压缩 shapefile、压缩文件地理数据库或逗号分隔值 (CSV) 文件)上传到门户,并发布可与门户组织中的其他成员共享的托管要素图层。
如果您在 EC2 实例上配置了 ArcGIS GeoEvent Server,则可以流动式接收实时数据源。有关详细信息,请参阅 ArcGIS GeoEvent Server 帮助。
通过地理数据服务复制数据
在本地计算机上的 ArcMap 中,您可以连接到 AWS 上的 ArcGIS Server 站点,然后注册本地企业级地理数据库和 AWS 上的企业级地理数据库,在 AWS 上发布地理数据库的地理数据服务,以及通过此服务将数据从本地地理数据库复制到 AWS 上的地理数据库。
有关详细信息,请参阅使用地理数据服务复制到 Amazon EC2 实例和使用地理数据服务和连接的复本。
将数据移动到 AWS
在某些情况下,您可能需要将数据移动到 AWS,允许发布者登录到您根据 Esri AMI 创建的 AWS 实例以及在 ArcGIS Desktop 上配置的 AWS 实例,以及允许发布者在其中创建地图和发布数据。在以下情形中,您需要执行上述操作:
- 您将源数据存储在 AWS 上。
- 您将源数据的子集移动到 AWS 上进行发布,由于将数据从本地源发布到云中的 ArcGIS Server 站点可能比较缓慢,因此在很多情况下不推荐这样做。
注:
当您在重启 AWS 实例时,计算机名称会发生更改,这可能会造成 ArcGIS Desktop 许可管理器停止工作。如果有可能的话,应避免在云中使用此许可机制。
在 AWS 上存储数据的位置
如果您需要将数据传输到 AWS,则有多个位置可用于存储 GIS 数据。所有下列选项都需要向 Amazon 缴纳一定的费用,但具体的费用值会有所不同,因此在选择之前应进行一些研究。将数据存储到 AWS 中 ArcGIS Server 站点所在的同一区域。
- EBS 卷 - Amazon 弹性块存储 (EBS) 卷是虚拟的磁盘驱动器,可附加到您的 EC2 实例以增加更多存储。作为从 Esri Amazon 机器映像 (AMI) 启动的实例的一部分,总是会附加 EBS 卷。构建站点时,可以配置该附加卷的大小。当您使用 CloudFormation 或 ArcGIS Server Cloud Builder on Amazon Web Services 时,ArcGIS Server 目录会配置在此驱动器上,因此当您使用用于将数据复制到该 ArcGIS Server 站点的选项发布服务时,数据将保存在该 EBS 卷中。您也可以通过在该卷上创建其他目录来保存数据。
- Amazon S3 - Amazon 简单存储服务 (S3) 是专为在云中的数据存储设计的一项 Amazon 服务。此存储选项可将出现数据故障或丢失的概率降至最低。可使用 S3 作为数据备份的位置,作为一个用于在本地部署和 EBS 卷之间传输数据的中间地带,或作为您注册到 AWS 上的 ArcGIS Server 站点的,基于文件的数据位置。
- EC2 实例 - 可将数据直接传输到 EC2 实例;但如果该实例被终止,那么您在 Windows 的 C: 驱动器或 Linux 的根驱动器上的数据将立即丢失。根据 Esri AMI 创建的实例在 C: 驱动器上分配了相对较小的空间,以限制在此驱动器中存储数据。相反,该实例终止时附加的 EBS 卷(如 Windows 实例上的 D: 驱动器)将保留,因此这可作为存储数据的更加安全的选择。
警告:
请不要将 GIS 数据或地图缓存存储在 C: 盘或生产部署 EC2 实例的根驱动器中。
用于将数据传输到云中的选项
将数据从本地部署传输到云中需要耗费一定的时间,在某些情况下还需要与 IT 安全人员进行协调。与本地网络中的常见数据传输相比,将数据导出到 Internet(即云)中的位置在速度和安全性方面通常都较为逊色。
将数据传输到云中的方法很多,但如果要传输的是敏感数据,您应与 IT 工作人员进行协调以确保传输方法的安全性,并需要获得组织的批准。下面介绍了若干选项:
- 在发布服务时复制数据 - 在发布服务时,您可以将该服务的数据复制到 ArcGIS Server 站点。这些数据将被打包到服务定义文件 (.sd) 中,而后传输至 ArcGIS Server 站点上传目录,最后解包到 ArcGIS Server 输入目录,或者,您发布要素服务时已将数据放入 GIS Server 站点的托管数据库。请注意,如果您不对地图或其他资源中所使用的空间范围以及数据集进行限制,可能需要花费大量时间并导致大量的数据传输。
此选项不支持在服务之间共享数据,或者在云和本地部署之间进行数据同步。
- 远程桌面连接复制和粘贴 - Windows 远程桌面连接支持文件系统的重定向,其中可将本地驱动器映射至远程计算机。通过远程桌面登录至 Windows 的 EC2 实例时,您可打开 Windows 资源管理器并将数据从本地驱动器复制到 EBS 卷。
要启用文件系统重定向,请在远程桌面连接窗口中单击本地资源选项卡,并选中该复选框使驱动器可用。根据所使用的 Windows 版本,其文字内容也会有所不同。
如果您选择使用远程桌面连接来传输敏感数据,则应确保部署了额外的安全层。对于较早版本的远程桌面连接,我们发现其中存在一些安全漏洞,可导致伪装成服务器的计算机能够访问您的数据(即所谓的中间人攻击)。
注:
通过复制粘贴来传输数据往往需要花费一定的时间。粘贴过程完成之前,不要复制其他任何文件或数据。否则,粘贴将终止,导致您需要重新操作。
- S3 客户端实用程序 - Amazon S3 可用作将数据从本地部署移动到 EBS 卷的中间区域。要将数据传输到 S3,可使用 AWS 管理控制台或任意一种用于在 S3 和您自己的计算机之间轻松移动文件的多种专用第三方应用程序。将数据传输到 S3 中之后,您可使用 EC2 实例上的同一实用程序将数据从 S3 中传输到该实例上。或者,您可将基于文件的数据加载到 S3,并将 S3 存储段注册到您在 AWS 上的 ArcGIS Server 站点。
- 您自己的 Web 服务器 - 通过您的 EC2 实例,可使用 HTTP 访问 Web 中可用的任何数据。如果组织中具有一个面向 Web 的服务器,您可将数据放置在该服务器上,然后从您的 EC2 实例进行下载。这种方法的优势在于您可以在 Web 服务器上配置安全性,从而限制可下载数据的用户以及通过 SSL 对事务进行加密。
- FTP - 通过启用文件传输协议 (FTP),可将文件直接上传到 EC2 实例中。注意,标准的 FTP 不会对信息进行加密,而且密码也以明文的方式发送。要安全地使用 FTP,您需要采取一些额外的安全措施,例如使用 SSL 加密 FTP 会话、限制可通过 FTP 将数据传输到实例的用户,以及在初始数据传输后禁用 FTP。一些第三方产品旨在帮助您设置安全的 FTP 连接
- AWS 导入/导出 - 如果您需要将大量数据传输到 Amazon,请使用便携式存储设备将数据送至 Amazon 并付费,由 Amazon 将数据直接加载到 S3 中,这样可能会使传输过程更加快捷,或者更具有成本效益。Amazon 提供的这项服务称为 AWS 导入/导出。
如果您考虑使用 AWS 导入/导出,还需要根据组织信息的敏感度来决定这种方式是否合适。无论何时,如果选择邮寄设备,您都会面临不同程度的物理损坏或数据被窃取的风险。可通过备份和加密数据来降低这些风险。如果您仍不确定 AWS 导入/导出方式对您的数据是否合适,请直接与 Amazon 取得联系。
Amazon 与许多提供数据传输、存储和安全性解决方案的解决方案供应商都有合作。请参阅 AWS 帮助中的查找 AWS 解决方案供应商,了解这些企业中能否有一家可帮助您解决云策略的问题。Esri 就是其中一家提供商,可提供在 Amazon 云中部署 ArcGIS 的不同工程和实施服务。
影响数据传输时间的因素
根据与 Amazon 云的物理接近情况、时间段以及 Internet 连接质量,上述数据传输选项的性能会有所不同。
GIS 数据集,尤其是影像与地图缓存会占用大量的空间,因此在传输之前可能需要进行压缩以降低文件大小或总文件数量,从而提高传输效率(尤其对于地图缓存)。某些 S3 客户端实用程序会限制可传输的单个文件的大小或可存储的单独文件的数量。另外,某些压缩程序还会限制可压缩的数据量。选择数据传输选项时,应将压缩时间与工作量考虑在内。
最后,如果使用 S3,请注意可创建的存储段的数量限制以及关于 S3 存储段的其他限制。Amazon 在存储段限制和局限性中介绍了这些内容。
维护数据路径的完整性
无论何时,要将数据移至一个新的位置时,均应注意对引用该数据的相应路径进行更新。这里需要特别注意的是地图文档,地图文档往往可能会引用数十个位于不同路径中的数据图层。
将 Amazon EC2 数据位置注册到 ArcGIS Server 站点有助于减少在发布后修复损坏的数据路径的工作量。有关详细信息,请参阅 ArcGIS Server 帮助中的使用 Manager 将数据注册到 ArcGIS Server。
减少修复数据连接需求的另一种方式为,在地图文档中使用相对路径并将地图和数据存储在一个通用文件夹中。