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

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

步骤 1:创建和配置 Auto Scaling 组

在此步骤中,您将创建一个包含单个亚马逊 Linux、RHEL 或 Windows Server 亚马逊 EC2 实例的 Auto Scaling 组。在稍后的步骤中,您将指示 Amazon EC2 Auto Scaling 再添加一个 Amazon EC2 实例,并且CodeDeploy会将你的修订版本部署到它。

创建和配置 Auto Scaling 组 (CLI)

  1. 打电话给create-launch-template用于创建 Amazon EC2 启动模板的命令。

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

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

    1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

    3. 快速启动的选项卡选择亚马逊机器映像页面,记下旁边的 AMI 的 ID亚马逊 Linux 2 AMI红帽企业 Linux 7.1Ubuntu 服务器 14.04 LTS,或微软 Windows 服务器 2012 R2

      注意

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

    对于 Amazon EC2 实例密钥对,请使用您的 Amazon EC2 实例密钥对的名称。

    调用 create-launch-template 命令。

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

    aws ec2 create-launch-template \ --launch-template-name CodeDeployDemo-AS-Launch-Template \ --launch-template-data file://config.json

    的内容config.json文件:

    { "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }

    在本地 Windows 计算机上:

    aws ec2 create-launch-template --launch-template-name CodeDeployDemo-AS-Launch-Template --launch-template-data file://config.json

    的内容config.json文件:

    { "InstanceType":"t1.micro", "ImageId":"image-id", "IamInstanceProfile":{ "Name":"CodeDeployDemo-EC2-Instance-Profile" }, "KeyName":"key-name" }

    这些命令以及config.json文件,创建一个名为的 Amazon EC2 启动模板CodeDeployDemo-as-launch-template 适用于您的 Auto Scaling 组,该模板将在后续步骤中基于 t1.micro 亚马逊 EC2 实例类型创建。根据您的输入ImageIdIamInstanceProfile,以及KeyName,启动模板还指定 AMI ID、与要在启动时传递给实例的 IAM 角色相关的实例配置文件的名称以及连接实例时使用的 Amazon EC2 密钥对。

  2. 打电话给create-auto-scaling-group用于创建 Auto Scaling 组的命令。您将需要中列出的其中一个区域的可用区域的名称区域和终端节点Amazon Web Services 一般参考,由占位符表示可用区

    注意

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

    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-template CodeDeployDemo-AS-Launch-Template,Version='$Latest' \ --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-template LaunchTemplateName=CodeDeployDemo-AS-Launch-Template,Version="$Latest" --min-size 1 --max-size 1 --desired-capacity 1 --availability-zones availability-zone --tags Key=Name,Value=CodeDeployDemo,PropagateAtLaunch=true

    这些命令创建了一个名为的 Auto Scaling 组CodeDeployDemo-AS-Group基于名为的亚马逊 EC2 启动模板CodeDeployDemo-AS-Launch-Template。此 Auto Scaling 组只有一个 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使用创建 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 *)"

    此命令在系统管理器状态管理器中创建一个关联,该关联将安装CodeDeploy在 Auto Scaling 组中的所有实例上执行代理,然后尝试在每周日早上 2:00 对其进行更新。有关该的更多信息CodeDeploy代理,参见与... 合作CodeDeploy代理人。有关系统管理器的更多信息,请参见什么是Amazon Systems Manager

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

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在全局导航栏中,确保列出了其中一个区域区域和终端节点Amazon Web Services 一般参考被选中。Amazon EC2 Auto Scaling 资源与您指定的区域相关联,并且CodeDeploy仅在部分地区支持。

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

  4. 选择Create launch template(创建启动模板)。

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

  6. 亚马逊机器映像 (AMI)对话框,点击下面的下拉列表阿米,请选择适用于本教程的 AMI:

    1. 快速启动的选项卡阿米下拉列表中,选择以下选项之一:亚马逊 Linux 2 AMI红帽企业 Linux 7.1Ubuntu 服务器 14.04 LTS,或微软 Windows 服务器 2012 R2

      注意

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

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

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

  9. 网络设置对话框,选择虚拟公有云 (VPC)

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

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

    保留其余的默认值。

  11. 选择Create launch template(创建启动模板)。

  12. 接下来的步骤对话框,选择创建自动伸缩组

  13. 选择启动模板或配置页面,用于自动伸缩组名称,键入CodeDeployDemo-AS-Group

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

  15. 选择实例启动选项页面页面,在网络部分,用于VPC,选择默认 VPC。然后对于可用区和子网,请选择默认子网。如果您无法选择默认 VPC,则必须创建 VPC。有关更多信息,请参见亚马逊 VPC 入门

  16. Instance type requirements(实例类型要求)部分中,使用默认设置简化此步骤。(请勿覆盖启动模板。) 在本教程中,您将仅使用启动模板中指定的实例类型启动按需实例。

  17. 选择 Next(下一步)转至 Configure advanced options(配置高级选项)页面。

  18. 保留默认值并选择下一步

  19. 配置群组规模和扩展策略页面,保持默认值团体规模值为 1。选择下一步

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

  21. 添加标签页面,添加安装时使用的标签CodeDeploy稍后是特工。选择 Add tag (添加标签)

    1. 中,输入 Name

    2. 中,输入 CodeDeployDemo

    选择下一步

  22. 在上查看您的 Auto Scaling 组信息点评页面,然后选择创建自动伸缩组

  23. 在导航栏中,使用自动扩展组选中,选择CodeDeployDemo-AS-Group,然后选择实例管理选项卡。在值达到之前不要继续InService出现在生命周期列和的值健康出现在健康状况专栏。

  24. 安装CodeDeploy按照中的步骤进行代理安装CodeDeploy代理人并使用Name=CodeDeployDemo实例标签。