第 1 步:创建和配置 Amazon EC2 Auto Scaling 组 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

第 1 步:创建和配置 Amazon EC2 Auto Scaling 组

在此步骤中,您将创建一个包含单个 Amazon Linux、RHEL 或 Windows 服务器 Amazon EC2 实例的 Amazon EC2 Auto Scaling 组。在后面的步骤中,您将指示 Amazon EC2 Auto Scaling 再添加一个 Amazon EC2 实例,并且 CodeDeploy 会将您的修订部署到它。

创建和配置 Amazon EC2 Auto Scaling 组 (CLI)

  1. 调用create-launch-configuration命令创建 Amazon EC2 Auto Scaling 启动配置。

    在调用此命令之前,您需要适用于本教程的 AMI 的 ID (由占位符 image-id 表示)。您还需要 Amazon EC2 实例 key pair 的名称 (由占位符表示) 才能访问 Amazon EC2 实例密钥名称

    要获取适用于本教程的 AMI 的 ID,请执行以下操作:

    1. 打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    2. 在导航窗格中的 Instances 下,选择 Instances,然后选择 Launch Instance

    3. 在存储库的快速启动选项卡上的选择一个 Amazon 系统映像页面上,注意 AMI 的 IDAmazon Linux AMIRed Hat Enterprise Linux 7.1Ubuntu 服务器 14.04 LTS,或者Microsoft Windows Server 2012 R2

      注意

      如果您拥有与 CodeDeploy 兼容的 AMI 自定义版本,则在此选择它,而不用浏览快速启动选项卡。有关将自定义 AMI 用于 CodeDeploy 和 Amazon EC2 Auto Scaling 的信息,请参阅将自定义 AMI 与 CodeDeploy 和 Amazon EC2 Auto Scaling 结合使用

    对于 Amazon EC2 实例 key pair,请使用 Amazon EC2 实例 key pair 的名称。

    调用 create-launch-configuration 命令。

    在本地 Linux、macOS 或 Unix 计算机上:

    aws autoscaling create-launch-configuration \ --launch-configuration-name CodeDeployDemo-AS-Configuration \ --image-id image-id \ --key-name key-name \ --iam-instance-profile CodeDeployDemo-EC2-Instance-Profile \ --instance-type t1.micro

    在本地 Windows 计算机上:

    aws autoscaling create-launch-configuration --launch-configuration-name CodeDeployDemo-AS-Configuration --image-id image-id --key-name key-name --iam-instance-profile CodeDeployDemo-EC2-Instance-Profile --instance-type t1.micro

    这些命令创建 Amazon EC2 Auto Scaling 启动配置CodeDeployDemo-AS-Configuration(根据指定的映像 ID),同时应用指定的 IAM 实例配置文件和 Amazon EC2 实例 key pair。此启动配置基于 t1.micro Amazon EC2 实例类型。

  2. 调用create-auto-scaling-group命令创建 Amazon EC2 Auto Scaling 组。您将需要的区域之一中的某个可用区的名称 (在区域和终端节点中的Amazon一般参考,由占位符表示可用区

    注意

    要查看区域中的可用区列表,请调用:

    aws ec2 describe-availability-zones --region region-name

    例如,要查看美国西部(俄勒冈)区域中的可用区列表,请调用:

    aws ec2 describe-availability-zones --region us-west-2

    有关区域名称标识符的列表,请参阅按区域列出的资源工具包存储桶

    在本地 Linux、macOS 或 Unix 计算机上:

    aws autoscaling create-auto-scaling-group \ --auto-scaling-group-name CodeDeployDemo-AS-Group \ --launch-configuration-name CodeDeployDemo-AS-Configuration \ --min-size 1 \ --max-size 1 \ --desired-capacity 1 \ --availability-zones availability-zone \ --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true

    在本地 Windows 计算机上:

    aws autoscaling create-auto-scaling-group --auto-scaling-group-name CodeDeployDemo-AS-Group --launch-configuration-name CodeDeployDemo-AS-Configuration --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true

    这些命令将创建一个名为的 Amazon EC2 Auto Scaling 组CodeDeployDemo-AS-Group基于 Amazon EC2 Auto Scaling 启动配置CodeDeployDemo-AS-Configuration。此 Amazon EC2 Auto Scaling 组只有一个 Amazon EC2 实例,并且在指定可用区中创建。此 Amazon EC2 Auto Scaling 组中的每个实例都具有标签Name=CodeDeployDemo。稍后安装 CodeDeploy 代理时将使用该标签。

  3. 针对 CodeDeployDemo-AS-Group 调用 describe-auto-scaling-groups 命令:

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names CodeDeployDemo-AS-Group --query "AutoScalingGroups[0].Instances[*].[HealthStatus, LifecycleState]" --output text

    请在返回的值显示 HealthyInService 之后继续。

  4. Auto Scaling 组中的实例必须安装 CodeDeploy 代理才能在 CodeDeploy 部署中使用。安装 CodeDeploy 代理程序,方法是调用create-association命令来自Amazon Systems Manager,这些标签是在 Amazon EC2 Auto Scaling 组创建时添加的。

    aws ssm create-association \ --name AWS-ConfigureAWSPackage \ --targets Key=tag:Name,Values=CodeDeployDemo \ 
 --parameters action=Install, name=AWSCodeDeployAgent \ --schedule-expression "cron(0 2 ? * SUN *)"

    此命令在 Systems Manager 状态管理器中创建一个关联,这将在 Amazon EC2 Auto Scaling 组中的所有实例上安装 CodeDeploy 代理,然后尝试在每周日凌晨 2:00 更新它。有关 CodeDeploy 代理的更多信息,请参阅使用 CodeDeploy 代理。有关 Systems Manager 的更多信息,请参阅是什么Amazon Systems Manager

创建和配置 Amazon EC2 Auto Scaling 组(控制台)

  1. 打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在全局导航栏中,确保在中列出的某个区域。区域和终端节点中的Amazon一般参考处于选择状态。Amazon EC2 Auto Scaling 资源与您所指定的区域相关联,并且 CodeDeploy 仅在选定区域中受支持。

  3. 在导航栏中的下实例中,选择启动模板

  4. 选择创建启动模板

  5. 启动模板名称和描述对话框,用于启动模板名称输入,输入CodeDeployDemo-AS-Launch-Template。对其他字段保留默认值。

  6. Amazon 系统映像 (AMI)对话框中,单击下拉列表AMI中,选择适用于本教程的 AMI:

    1. 在存储库的快速启动选项卡上的AMI下拉列表中,选择以下选项之一:Amazon Linux AMIRed Hat Enterprise Linux 7.1Ubuntu 服务器 14.04 LTS,或者Microsoft Windows Server 2012 R2

      注意

      如果您拥有与 CodeDeploy 兼容的 AMI 自定义版本,则在此选择它,而不用浏览快速启动选项卡。有关将自定义 AMI 用于 CodeDeploy 和 Amazon EC2 Auto Scaling 的信息,请参阅将自定义 AMI 与 CodeDeploy 和 Amazon EC2 Auto Scaling 结合使用

  7. In实例类型,选择下拉菜单,然后选择t1.micro。您可以使用搜索栏更快地查找。

  8. 密钥对(登录)对话框中,选择选择现有 key pair。在选择一个密钥对下拉列表中,选择您在前面步骤中创建或使用的 Amazon EC2 实例 key pair。

  9. Network settings (网络设置)对话框中,选择Virtual Comvate Cloud (VPC)

    安全组下拉列表中,选择您在中创建的安全组教程的先决条件部分(CodeDeployDemo-AS-SG)。

  10. 展开高级详细信息对话框。在IAM 实例配置文件下拉列表中,选择您之前创建的 IAM 角色 (CodeDeployDemo-EC2-Instance-Profile) 在下IAM 实例配置文件

    保留其他默认值。

  11. 选择创建启动模板

  12. 后续步骤对话框中,选择创建 Auto Scaling 组

  13. 在存储库的选择启动模板或配置页面,用于Auto Scaling 组名称,键入CodeDeployDemo-AS-Group

  14. 启动模板对话框中,启动配置 (CodeDeployDemo-AS-Launch-Template),如果没有填写,请从下拉菜单中选择它。保留默认值,然后选择下一步

  15. 在存储库的配置设置页面上,在网络对话框中,选择默认 VPC 和默认子网。如果您无法选择默认值,则必须创建 VPC。有关更多信息,请参阅 。Amazon VPC 入门

  16. 选择下一步转至配置高级选项页.

  17. 保留默认值,然后选择下一步

  18. 在存储库的配置组大小和扩展策略页面上,请保留默认组大小值为 1。选择 Next (下一步)

  19. 跳过配置通知的步骤,然后选择下一步

  20. 在存储库的添加标签页面上,添加要在稍后安装 CodeDeploy 代理时使用的标签。选择 Add tag

    1. 中,输入 Name

    2. 中,输入 CodeDeployDemo

    选择 Next (下一步)

  21. 查看 Auto Scaling 组信息审核页面,然后选择创建 Auto Scaling 组

  22. 在导航栏中,使用Auto Scaling 组选定,请选择CodeDeployDemo-AS-Group,然后选择实例管理选项卡。请在 InService 的值出现在 Lifecycle 列中并且 Healthy 的值出现在 Health Status 列中之后继续。

  23. 安装 CodeDeploy 代理程序,方法是按照安装 CodeDeploy 代理并使用Name=CodeDeployDemo实例标签。