如何部署应用程序 - AWS Serverless Application Repository

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

如何部署应用程序

本节为您提供通过使用 AWS Management Console或 AWS CLI 从 AWS Serverless Application Repository 中部署无服务器应用程序的过程。

部署新应用程序(控制台)

本节介绍如何使用 AWS Management Console从 AWS Serverless Application Repository 部署新的应用程序。有关部署现有应用程序的新版本的说明,请参阅更新应用程序

浏览、搜索和部署应用程序

使用以下过程在 AWS Serverless Application Repository 中查找、配置和部署应用程序。

在 AWS Serverless Application Repository 中查找和配置应用程序
  1. 打开 AWS Serverless Application Repository 公有主页,或打开 AWS Lambda 控制台。选择 Create function (创建函数),然后选择 Browse serverless app repository (浏览无服务器应用程序存储库)

  2. 浏览或搜索应用程序。

    注意

    要显示包含自定义 IAM 角色或资源策略的应用程序,请选中 Show apps that create custom IAM roles or resource policies (显示创建自定义 IAM 角色或资源策略的应用程序) 复选框。有关自定义 IAM 角色和资源策略的更多信息,请参阅确认应用程序功能

  3. 选择应用程序以查看详细信息,例如其权限、功能以及AWS客户部署该应用程序的次数。

    显示了您尝试在其中部署应用程序的AWS区域的部署次数。

  4. 在应用程序详细信息页上,通过查看 AWS SAM 模板、许可证和自述文件查看应用程序的权限和应用程序资源。在此页上,您还可以找到公开共享的应用程序的 Source code URL (源代码 URL) 链接。如果应用程序包含任何嵌套应用程序,您还可以在此页面上查看嵌套应用程序的详细信息。

  5. Application settings (应用程序设置) 部分中配置应用程序。有关配置特定应用程序的指导,请参阅该应用程序的自述文件。

    例如,配置要求可能包括指定您希望应用程序有权访问的资源的名称。这样的资源可能是Amazon DynamoDB 表、Amazon S3 存储桶或Amazon API Gateway API。

  6. 选择 Deploy(部署)。这样做您会进入 Deployment status 页。

    注意

    如果应用程序具有需要确认的功能,您必须选中 I acknowledge this application creates custom IAM roles or resource policies (我确认此应用程序创建自定义 IAM 角色或资源策略) 复选框,然后才能部署应用程序。否则将导致出现错误。有关自定义 IAM 角色和资源策略的更多信息,请参阅确认应用程序功能

  7. Deployment status (部署状态) 页面上,您可以查看部署的进度。在等待部署完成时,您可以搜索和浏览其他应用程序,然后通过 Lambda 控制台返回此页面。

成功部署应用程序后,您可以查看和管理使用现有AWS工具创建的资源。

部署新应用程序 (AWS CLI)

本节介绍如何使用 AWS CLI 从 AWS Serverless Application Repository 部署新的应用程序。有关部署现有应用程序的新版本的说明,请参阅更新应用程序

查找并确认应用程序功能 (AWS CLI)

要使用 AWS CLI 确认应用程序的功能,请执行以下步骤:

  1. 查看应用程序的功能。使用以下AWS CLI命令查看应用程序的功能:

    aws serverlessrepo get-application \ --application-id application-arn

    requiredCapabilities 响应属性包含您需要确认然后才能部署应用程序的应用程序功能列表。您也可以使用AWS SDK 中的 GetApplication API 来获取这些数据。

  2. 创建变更集。创建AWS CloudFormation变更集时,必须提供一组必需的功能。例如,使用以下 AWS CLI 命令通过确认应用程序的功能来部署应用程序:

    aws serverlessrepo create-cloud-formation-change-set \ --application-id application-arn \ --stack-name unique-name-for-cloud-formation-stack \ --capabilities list-of-capabilities

    成功执行此命令后,将返回更改集 ID。下一步需要更改集 ID。您也可以使用AWS SDK 中的 CreateCloudFormationChangeSet API 来创建变更集。

    例如,以下AWS CLI命令确认包含具有自定义名称的AWS::IAM::Role资源和一个或多个嵌套应用程序的应用程序:

    aws serverlessrepo create-cloud-formation-change-set \ --application-id application-arn \ --stack-name unique-name-for-cloud-formation-stack \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
  3. 执行变更集。执行更改集将实际执行部署。提供在上一步中创建更改集时返回的更改集 ID。

    以下示例 AWS CLI 命令执行应用程序更改集以部署应用程序:

    aws cloudformation execute-change-set \ --change-set-name changeset-id-arn

    您也可以使用AWS SDK 中的 ExecuteChangeSet API 来执行变更集。

删除应用程序堆栈

要删除您以前使用 AWS Serverless Application Repository 部署的应用程序,请按照删除 AWS CloudFormation 堆栈的相同过程操作: