AWS CodeDeploy
User Guide (API Version 2014-10-06)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

配置用于 AWS CodeDeploy 的 Amazon EC2 实例

下面的说明显示如何配置运行 Amazon Linux、Ubuntu Server、Red Hat Enterprise Linux (RHEL) 或 Windows Server 的 Amazon EC2 实例供在 AWS CodeDeploy 部署中使用。

注意

如果您没有 Amazon EC2 实例,可以使用 AWS CloudFormation 模板启动一个运行 Amazon Linux 或 Windows Server 的实例。我们不提供适用于 Ubuntu Server 或 RHEL 的模板。

要在此页上执行下述步骤,必须满足下列条件:

  • 有权参与 AWS CodeDeploy 部署的 IAM 实例配置文件必须附加到实例。

    有关如何创建 Amazon EC2 实例的信息,请参阅使用实例

  • 必须已标记 Amazon EC2 实例。

  • Amazon EC2 实例上必须已安装且正在运行 AWS CodeDeploy 代理。

    如果该代理未在运行,则部署将显示为停滞在挂起状态。

步骤 1:验证 IAM 实例配置文件是否已附加到 Amazon EC2 实例

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中的 Instances 下,选择 Instances

  3. 浏览并在列表中选择您的 Amazon EC2 实例。

  4. 在详细信息窗格中的 Description 选项卡上,记下 IAM role 字段中的值,然后继续下一部分。

    如果此字段为空,则您无法使用 Amazon EC2 实例。使用使用实例中的信息停止并创建 Amazon EC2 实例。

步骤 2:验证附加的 IAM 实例配置文件是否具有正确的访问权限

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Roles

  3. 浏览并选择您在前一部分的步骤 4 中记下的 IAM 角色名称。

    注意

    如果您希望使用由 AWS CloudFormation 模板生成的服务角色,而不使用您通过按照步骤 3:创建服务角色中的说明创建的服务角色,则请注意以下事项:

    在一些版本的 AWS CloudFormation 模板中,生成并附加到 Amazon EC2 实例的 IAM 实例配置文件的显示名称与 IAM 控制台中的显示名称不相同。例如,IAM 实例配置文件的显示名称可能为 CodeDeploySampleStack-expnyi6-InstanceRoleInstanceProfile-IK8J8A9123EX,而 IAM 控制台中的 IAM 实例配置文件的显示名称可能为 CodeDeploySampleStack-expnyi6-InstanceRole-C5P33V1L64EX

    为帮助您标识 IAM 控制台中的实例配置文件,您会看到二者的前缀 CodeDeploySampleStack-expnyi6-InstanceRole 是相同的。有关这些显示名称可能不同的原因的信息,请参阅实例配置文件

  4. 选择 Trust Relationships 选项卡。如果 Trusted Entities 中没有显示 The identity provider(s) ec2.amazonaws.com 的条目,则您无法使用此 Amazon EC2 实例。使用使用实例中的信息停止并创建 Amazon EC2 实例。

    如果有显示 The identity provider(s) ec2.amazonaws.com 的条目,并且您仅将应用程序存储在 GitHub 存储库中,则向前跳到步骤 3:标记 Amazon EC2 实例

    如果有显示 The identity provider(s) ec2.amazonaws.com 的条目,并且您将应用程序存储在 Amazon S3 存储桶中,则选择 Permissions 选项卡。

  5. 如果 Managed Policies 区域中有一个策略,则选择该策略的名称,然后选择 Edit。如果 Inline Policies 中有一个策略,则在 Actions 下选择 Edit Policy

  6. 如果您将应用程序存储在 Amazon S3 存储桶中,请在 Policy Document 框中,确保 "s3:Get*""s3:List*" 位于指定操作列表中。

    它可能如下所示:

    Copy
    {"Statement":[{"Resource":"*","Action":[ ... Some actions may already be listed here ... "s3:Get*","s3:List*" ... Some more actions may already be listed here ... ],"Effect":"Allow"}]}

    也可能如下所示:

    Copy
    { "Version": "2012-10-17", "Statement": [ { "Action": [ ... Some actions may already be listed here ... "s3:Get*", "s3:List*" ... Some more actions may already be listed here ... ], ... } ] }

    如果 "s3:Get*""s3:List*" 不在指定操作列表中,请选择 Edit 添加它们,然后选择 Save。(如果 "s3:Get*""s3:List*" 都不是列表中的最后一个操作,请确保在操作后添加逗号,以便策略文档将进行验证。)

步骤 3:标记 Amazon EC2 实例

有关如何标记 Amazon EC2 实例以便 AWS CodeDeploy 可以在部署期间找到它的说明,请参阅在控制台中使用标签,然后返回到此页。

注意

您可以使用任何所需的密钥和值标记 Amazon EC2 实例。只需确保在部署到此实例时指定此密钥和值即可。

步骤 4:在 Amazon EC2 实例上安装 AWS CodeDeploy 代理

有关如何在 Amazon EC2 实例上安装 AWS CodeDeploy 代理并验证其是否运行的说明,请参阅管理 AWS CodeDeploy 代理操作,然后继续创建应用程序