使用部署在 AWS 上的专用端点创建自定义域名和逻辑 URL
本指南展示了如何在 AWS 上创建私有 REST API 并简化对其的访问。通过使用 Amazon API Gateway,您可以确保所有通往您的私有 API 的流量都使用安全连接,并且保持在 AWS 网络和您的虚拟私有云(VPC)之内。这种方法可保护您的 API 不受公共互联网的影响,并保持传输流量的机密性,从而帮助您满足监管和安全要求。此外,虽然 API Gateway 仅支持公共 API 端点的自定义域名,但此解决方案为私有 API 实现了自定义域名,因此您可以为 API 用户提供易于记忆的逻辑 URL。
请注意:[免责声明]
架构图

[架构图描述]
第 1 步
AWS Certificate Manager(ACM)针对“example.com”域的 Amazon Route 53 公共托管区使用 DNS 验证,为自定义域(*.example.com)签发通配符证书。
Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
该指南使用基础设施即代码和 bash 脚本来自动部署和更新部署配置,帮助您避免人为错误并快速做出改进。此外,您还可以将这些元素集成到现有的持续集成和持续交付(CI/CD)流程中。
本指南使用变量和配置文件来存储设置,并由随附的 bash 脚本处理部署。您可以将脚本、变量和配置文件合并到现有的 CI/CD 流程中。
-
安全性
您可以使用细粒度的 API Gateway 资源策略来限制可使用的方法、路径、阶段和 VPC 端点,从而帮助您控制对私有资源的访问。 本指南不存储敏感数据。但是,对于传输中的敏感数据,ACM 为客户端应用程序提供了可信证书,用于连接到 ELB。此外,PrivateLink 和托管在 Amazon ECS 中的 NGINX 容器有助于确保传输中的数据保持加密状态。
-
可靠性
本指南跨多个可用区部署 ELB、Amazon ECS 和 PrivateLink 工作负载。默认情况下,Amazon ECS 部署有两个任务,而 ELB 运行状况检查可确保 Amazon ECS 任务正常运行。此外,ACM 的实现使用 DNS 验证,这要求自定义域或父域有可用的公共 Route 53 区。您还可以启用跨账户私有 API 端点访问;本指南不支持跨 AWS 区域访问。
-
性能效率
本指南使用按需服务和自动扩缩来根据需求进行调整并优化资源利用率。调用扩缩的指标值是可自定义的,因此您可以针对特定应用场景,对其进行配置,以获得最佳性能。
-
成本优化
本指南将 Fargate 用于 Amazon ECS 计算,并使用可自动扩展以满足需求的任务。这有助于优化资源,最大限度地降低计算成本。此外,这些 Amazon ECS 任务可根据可配置的使用指标进行扩展,因此您可以根据自己的需求匹配最小和最大资源。
-
可持续性
本指南使用按需服务和自动扩缩来根据需求进行调整。因此,资源使用量将得以减少,从而最大限度地降低工作负载的能耗。此外,您可以将扩展指标配置为应用场景所需的最小容量,从而进一步避免过度配置。
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。