问:AWS 应用程序编译器是什么?
AWS 应用程序编译器是一种可视化生成器,借此开发人员可以在可视化画布中拖动、划分和连接 AWS 服务,从而更轻松地设计应用程序架构。开发人员可以从头开始创建新架构,也可以导入现有 AWS CloudFormation 或 AWS Serverless Application Model(SAM)模板,包括由 AWS 应用程序编译器生成的模板。AWS 应用程序编译器体验聚焦于常见无服务器服务(例如 AWS Lambda、AWS Step Functions 和 Amazon EventBridge),但它可以用于编译 AWS CloudFormation 资源支持的所有 AWS 服务。开发人员可以导出基础设施即代码(IaC)以纳入他们的现有流程,例如通过 AWS SAM 命令行界面(CLI)进行本地测试、通过版本控制进行同行评审,或者通过 CloudFormation 和持续集成与交付(CI/CD)管线进行部署。
问:为什么我应该使用 AWS 应用程序编译器?
AWS 应用程序编译器将构建无服务器基础设施的抽象猜测转化为更易于理解和快速迭代的可视化流程。您不必从学习 IaC 框架或浏览服务文档开始。您可以立即绘制解决方案图,与跟同事在白板上所做的一样,根据需要将解决方案概念化或具体化。当您在可视化编辑器中迭代时,AWS 应用程序编译器会为相关服务集成、资源之间的 AWS 身份和访问管理(IAM)策略操作准备配置,还会帮助您使用上下文相关的标签对资源进行分组,以便您的团队保持一致。
问:可视化编辑器提供哪些资源?
AWS 应用程序编译器可以导入并可视化 CloudFormation 中定义的所有 AWS 架构。AWS 应用程序编译器将帮助支撑您通过可视化生成器添加的所有服务的资源属性,许多无服务器资源使用最佳实践 IaC 进行配置,包括与其他服务的集成。
问:哪些 IaC 模板受支持?
您可以使用 CloudFormation 和 AWS SAM 模板进行导入和可视化。
问:AWS 应用程序编辑器如何将架构图转换为基础设施?
AWS 应用程序编译器维持可转换为 IaC 定义的整个架构的模型,从 CloudFormation 支持开始。您可以在可视化编辑器中查看这些定义的预览,也可以导出整个基础架构模板以纳入您的版本控制流程。当您使用编辑器关联所有资源时,AWS 应用程序编译器旨在将两项服务的集成意图转换为相应的 IaC 配置,以实现相关的服务集成和 IAM 权限,对此您可以随时检查或修改。例如,在可视化画布上添加 Amazon Simple Storage Service(S3)存储桶并将其连接到 Lambda 函数,这就需要对 IAM policy、事件订阅和函数本身的支持文件进行必要的配置。
问:AWS 应用程序编译器如何助力我遵循 AWS 最佳实践?
AWS 应用程序编译器旨在配置遵循 AWS 最佳实践的 IaC 定义。例如,当开发人员将 S3 存储桶添加到画布时,AWS 应用程序编译器旨在配置并集成 BucketEncryption 和 PublicAccessBlockConfiguration 属性,以便使用默认 AWS Key Management Service (KMS) 密钥激活加密功能并禁用公共访问。您可以在可视化编辑器中更改这些设置,而无需深入研究 CloudFormation,但如果您什么都不做,则可以部署遵循 AWS 最佳实践的 S3 存储桶,减少常见的配置错误或疏忽。
问:我是否可以使用 AWS Application Composer 编辑现有基础设施?
可以,借助 AWS 应用程序编译器,您可以导入现有 CloudFormation IaC 模板。AWS 应用程序编译器将快速提供模板的可编辑视图。
问:AWS 应用程序编辑器是否有助于我部署应用程序架构?
您可以借助 AWS 应用程序编辑器编辑和导出可部署的 CloudFormation 模板,其中内置了适用于几种 AWS 无服务器资源的 AWS 最佳实践。您可以通过 AWS SAM CLI 或与 CloudFormation 模板兼容的现有 CI/CD 工具,将此模板与 CloudFormation 工具一起部署。
问:AWS 应用程序编辑器如何收费?
使用 AWS Application Composer 不会额外产生任何费用。使用 AWS Application Composer 创建的 AWS 资源(例如 S3 存储桶或 Lambda 函数)的付费方式与手动创建的 AWS 资源相同。您只需按您的实际用量付费;既没有最低费用,也不要求预先承诺。