本指南将介绍如何在 AWS 上构建可扩展的地理空间数据存储库,并简化数据管道的设计以及帮助更快地访问原始数据。通过整合来自 Registry of Open Data on AWS 的 Earth on AWS 数据集,无需将这些数据存储在您自己的数据湖中,因此降低了成本和复杂性。本指南还提供了与多种分发机制的集成,并支持从基本空间查询到复杂分析的各种处理需求。使用这些功能,您可以简化地理空间工作流并提高数据的可访问性。
请注意:[免责声明]
架构图

[架构图描述]
步骤 1
基于新的场景检测功能,调用数据摄取管道。为具有适当筛选条件的托管式数据集订阅 Amazon Simple Notification Service(Amazon SNS)主题,并使用 Amazon CloudWatch 配置基于时间的摄取规则。
开始使用

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
CloudWatch 为您的应用程序提供了全面的监控和可观测性。它能够捕获和分析事件、日志和指标,以使您实时了解系统的运行状况和性能。使用 CloudWatch,您可以主动检测问题、更高效地解决问题并以更快的速度响应事件。这样的持续监控有助于确保更高的应用程序可靠性,同时使您能够在整个 AWS 基础设施中保持最佳性能。
-
安全性
AWS 提供了一整套安全服务和功能,以保护您的数据和资源。AWS Identity and Access Management(IAM)支持精细访问控制,并允许您设置权限策略,以限制哪些人员可以访问和管理 AWS 资源。通过多种方式提供数据保护:Amazon S3 对静态数据采用服务器端加密和存储桶策略,而 AWS Key Management Service(AWS KMS)提供客户管理的密钥,用于加密 Amazon S3、Amazon Relational Database Service(Amazon RDS)和 DynamoDB 中的数据。
本指南使用连接到容器任务网络接口的安全组来提高网络安全性,从而保护虚拟私有云(VPC)资源。本指南还将配置用来限制子网级访问权限的网络访问控制列表,并利用 VPC 端点将流量保持在 AWS 环境内,从而保护传输中数据。此外,使用 Amazon ECS、Lambda 和 SageMaker 等托管式服务,可以减轻您在责任共担模式下的安全维护负担。
-
可靠性
为本指南选择的服务可以为您的应用程序提供高可用性、持久性和可扩展性。Lambda 在多个可用区(AZ)上运行函数以提高可靠性,这样,即使一个可用区出现故障,也能继续执行事件处理。Aurora PostgreSQL 提供强大的高可用性选项,可跨三个可用区以六种方式复制数据,从而提高容错能力,即使使用单个数据库实例也是如此。
为了控制扩展和弹性,Step Functions 允许您管理处理速率,以防止下游服务过载并避免速率限制。它还协调无状态组件,这些组件本质上更具可扩展性、更强大、更易于管理。Amazon S3 支持数据持久性,可提供自动跨区域复制,而 DynamoDB 和 Aurora 都提供了用来执行时间点恢复的灵活备份功能。
-
性能效率
本指南使用 AWS 托管式服务,这些服务可针对工作负载需求自动进行调整。例如,Lambda 会根据传入的事件数量自动扩展,以执行查询和数据处理。Step Functions 可管理工作流编排,并对任务进行并行处理或排队,以针对增加的负载进行动态调整。
对于数据存储和访问,本指南使用了三项关键服务:
- Amazon S3 无需预置即可应对高吞吐量和大量请求,并针对各种访问模式进行优化。
- DynamoDB 提供了灵活的查询功能,可自动扩展。
- Aurora 会自动调整计算和内存资源,以满足工作负载需求。
这些服务共同提供了一个能够高效地处理不同工作负载的可扩展基础设施,因此,您的应用程序可以在需求波动时保持性能和响应能力,而无需手动干预或执行复杂的容量规划。
-
成本优化
本指南通过多种策略优化成本:
- 存储:使用来自 Registry of Open Data on AWS 的数据集,建议将原始文件下载到您的数据湖,以进行多次处理迭代。
- 计算:使用无服务器服务进行自动扩展,利用竞价型实例执行批处理和按需失效转移,并建议对 Amazon RDS for PostgreSQL 使用预留实例。
- 数据传输:使用 VPC 端点、在单个 VPC 内包含处理、消除对于在组件之间使用额外传输服务的需求。
这些方法最大限度地减少了存储、计算和联网方面的开支,同时保持了地理空间处理工作负载的性能。
-
可持续性
通过使用托管式无服务器服务,本指南对后端资源进行纵向扩展和横向扩展以满足需求,从而最大限度地减少后端资源对环境的影响。此外,您还可以监控 CloudWatch 指标,以确保不会过度预置扩展后的环境,从而进一步减少对环境的影响。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。