使用 AMS SSP 在您的 AMS 账户中配置 AMS 代码服务 - AMS 高级用户指南

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

使用 AMS SSP 在您的 AMS 账户中配置 AMS 代码服务

使用 AMS 自助服务配置 (SSP) 模式,直接在您的 AMS 托管账户中访问 AMS Code 服务功能。AMS Code 服务是 AWS 代码管理服务的专有捆绑包,详见下文。您可以选择使用 AMS Code 服务在 AMS 中部署所有服务,也可以在 AMS 中单独部署这些服务。

AMS 代码服务包括以下服务:

  • AWS CodeCommit:一种完全托管的源代码控制服务,用于托管基于 Git 的安全存储库。它使团队可以在安全且高度可扩展的生态系统中协作处理代码。 CodeCommit 无需操作自己的源代码控制系统或担心扩展其基础架构。您可以使用 CodeCommit 将源代码中的内容安全地存储到二进制文件中,并且它可与您现有的 Git 工具无缝协作。要了解更多信息,请参阅 AWS CodeCommit

    要将其独立于 AMS Code 服务部署到您的 AMS 账户中,请参阅使用 AMS SSP AWS CodeCommit 在您的 AMS 账户中进行配置

  • AWS CodeBuild:一种完全托管的持续集成服务,用于编译源代码、运行测试和生成随时可以部署的软件包。使用 CodeBuild,您无需预置、管理和扩展自己的构建服务器。 CodeBuild 持续扩展并同时处理多个构建,因此您的构建不会在队列中等待。您可以使用预先打包的构建环境快速开始,也可以创建使用您自己的构建工具的自定义构建环境。使用 CodeBuild,按分钟计费所使用的计算资源。要了解更多信息,请参阅 AWS CodeBuild

    要将其独立于 AMS Code 服务部署到您的 AMS 账户中,请参阅使用 AMS SSP AWS CodeBuild 在您的 AMS 账户中进行配置

  • AWS CodeDeploy:一项完全托管的部署服务,可自动将软件部署到各种计算服务,例如 Amazon EC2 和您的本地服务器。 AWS CodeDeploy 帮助您快速发布新功能,帮助您避免应用程序部署期间的停机,并处理更新应用程序的复杂性。您可以使用 AWS CodeDeploy 自动化软件部署,无需进行容易出错的手动操作。该服务可根据您的部署需求进行扩展。要了解更多信息,请参阅 AWS CodeDeploy

    要将其独立于 AMS Code 服务部署到您的 AMS 账户中,请参阅使用 AMS SSP AWS CodeDeploy 在您的 AMS 账户中进行预配置

  • AWS CodePipeline:一项完全托管的持续交付服务,可帮助您实现发布管道的自动化,从而实现快速可靠的应用程序和基础设施更新。 CodePipeline 每次发生代码更改时,都会根据您定义的发布模型自动执行发布过程的构建、测试和部署阶段。这让您可以快速而可靠地交付各种功能和更新。您可以轻松地 AWS CodePipeline 与第三方服务集成,例如 GitHub 或与您自己的自定义插件集成。使用 AWS CodePipeline,您只需为实际用量付费。无前期费用,无长期承诺。要了解更多信息,请参阅 AWS CodePipeline

    要将其独立于 AMS Code 服务部署到您的 AMS 账户中,请参阅使用 AMS SSP AWS CodePipeline 在您的 AMS 账户中进行预配置

AWS Managed Services 常见问题解答中的 AMS 代码服务

问:如何使用我的 AMS 账户申请访问 AMS Code 服务?

通过提交管理 | AWS 服务 | 自配置服务 | 添加(需要审核)(ct-3qe6io8t6jtny) 更改类型来申请访问权限。此 RFC 为您的账户配置以下 IAM 角色:customer_code_suite_console_role. 在您的账户中配置后,您必须在联合解决方案中加入该角色。此时,AMS Operation customer_codebuild_service_role s 还将在您的账户中为 CodeDeploy 和aws_code_pipeline_service_role服务部署 CodeBuild、、 CodePipeline 服务角色。customer_codedeploy_service_role如果需要其他 IAM 权限,请提交 AMS 服务请求。customer_codebuild_service_role

问:在我的 AMS 账户中使用 AMS 代码服务有哪些限制?

  • AWS CodeCommit:如果具有创建 SNS 主题的相关权限, CodeCommit 则开启的触发器功能已禁用。直接进行身份验证受到限制;用户应使用 Cre CodeCommit dential Helper 进行身份验证。某些 KMS 命令也受到限制: kms:加密、 kms:解密、 kms:ReEncrypt、 kms:GenereteDataKey kms:GenerateDataKeyWithoutPlaintext、和。 kms: DescribeKey

  • CodeBuild:对于 AWS CodeBuild 控制台管理员访问权限,权限在资源级别受到限制;例如,对特定资源的 CloudWatch 操作受到限制,iam:PassRole权限受到控制。

  • CodeDeploy:目前仅 CodeDeploy 支持在 Amazon EC2 /本地部署。不支持通过 CodeDeploy ECS 和 Lambda 进行部署。

  • CodePipeline: CodePipeline 功能、阶段和提供者仅限于以下内容:

    • 部署阶段:亚马逊 S3 和 AWS CodeDeploy

    • 来源阶段:Amazon S3、 AWS CodeCommit、Bit Bucket 和 GitHub

    • 建造阶段: AWS CodeBuild 还有 Jenkins

    • 批准阶段:亚马逊 SNS

    • 测试阶段: AWS CodeBuild、Jenkins、、Ghost Inspector UI 测试、Micro Focus Loa StormRunner d、Runscope BlazeMeter

    • 调用阶段:Step Functions 和 Lambda

    注意

    AMS Operations customer_code_pipeline_lambda_policy 在您的账户中部署;它必须与 Lambda 调用阶段的 Lambda 执行角色相关联。提供您想要添加此策略的 Lambda service/execution 角色名称。如果没有自定义 Lambda service/execution 角色,则 AMS 会创建一个名为的新角色customer_code_pipeline_lambda_execution_role,该角色是和的 customer_lambda_basic_execution_role副本。customer_code_pipeline_lambda_policy

问:在我的 AMS 账户中使用 AMS Code 服务的先决条件或依赖条件是什么?

  • CodeCommit:如果 S3 存储桶使用 AWS KMS 密钥加密, AWS KMS 则必须使用 AWS CodeCommit S3 和。

  • CodeBuild:如果定义的 AWS CodeBuild 服务角色需要其他 IAM 权限,请通过 AMS 服务请求请求这些权限。

  • CodeDeploy: 无。

  • CodePipeline: 无。 AWS 支持的服务 AWS CodeDeploy—AWS CodeCommit AWS CodeBuild、、— 必须在发布之前或同时启动。 CodePipeline但是,这是由 AMS 工程师完成的。