本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 1:创建和配置 Auto Scaling 组
在此步骤中,您将创建一个包含单个亚马逊 Linux、RHEL 或 Windows Server 亚马逊 EC2 实例的 Auto Scaling 组。在稍后的步骤中,您将指示 Amazon EC2 Auto Scaling 再添加一个 Amazon EC2 实例,并且CodeDeploy会将你的修订版本部署到它。
创建和配置 Auto Scaling 组 (CLI)
-
打电话给create-launch-template用于创建 Amazon EC2 启动模板的命令。
在调用此命令之前,您需要适用于本教程的 AMI 的 ID (由占位符
image-id
表示)。您还需要 Amazon EC2 实例密钥对的名称才能访问由占位符表示的 Amazon EC2 实例密钥名称
。要获取适用于本教程的 AMI 的 ID,请执行以下操作:
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中的 Instances 下,选择 Instances,然后选择 Launch Instance。
-
在快速启动的选项卡选择亚马逊机器映像页面,记下旁边的 AMI 的 ID亚马逊 Linux 2 AMI,红帽企业 Linux 7.1,Ubuntu 服务器 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 实例类型创建。根据您的输入ImageId
,IamInstanceProfile
,以及KeyName
,启动模板还指定 AMI ID、与要在启动时传递给实例的 IAM 角色相关的实例配置文件的名称以及连接实例时使用的 Amazon EC2 密钥对。 -
-
打电话给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 代理时将使用该标签。 -
针对
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
请在返回的值显示
Healthy
和InService
之后继续。 -
您的 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 组(控制台)
-
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在全局导航栏中,确保列出了其中一个区域区域和终端节点在Amazon Web Services 一般参考被选中。Amazon EC2 Auto Scaling 资源与您指定的区域相关联,并且CodeDeploy仅在部分地区支持。
-
在导航栏中,在实例,选择启动模板。
-
选择Create launch template(创建启动模板)。
-
在启动模板名称和描述对话框,用于启动模板名称,输入
CodeDeployDemo-AS-Launch-Template
。保留其他字段的默认值。 -
在亚马逊机器映像 (AMI)对话框,点击下面的下拉列表阿米,请选择适用于本教程的 AMI:
-
在快速启动的选项卡阿米下拉列表中,选择以下选项之一:亚马逊 Linux 2 AMI,红帽企业 Linux 7.1,Ubuntu 服务器 14.04 LTS,或微软 Windows 服务器 2012 R2。
注意
如果您拥有与 CodeDeploy 兼容的 AMI 自定义版本,则在此选择它,而不用浏览快速启动选项卡。有关使用自定义 AMI 的信息CodeDeploy和亚马逊 EC2 自动扩展,请参阅将 自定义 AMI 与 CodeDeploy 和 Amazon EC2 Auto Scaling 一起使用。
-
-
在实例类型,选择下拉菜单并选择t1.micro。您可以使用搜索栏更快地找到它。
-
在密钥对(登录)对话框,选择选择现有的密钥对。在选择密钥对下拉列表中,选择您在之前的步骤中创建或使用的 Amazon EC2 实例密钥对。
-
在网络设置对话框,选择虚拟公有云 (VPC)。
在安全组下拉列表中,选择您在中创建的安全组教程的先决条件部分(
CodeDeployDemo-AS-SG
)。 -
扩展高级细节对话框。在IAM 实例配置文件下拉列表中,选择您之前创建的 IAM 角色 (
CodeDeployDemo-EC2-Instance-Profile
) 下IAM 实例配置文件。保留其余的默认值。
-
选择Create launch template(创建启动模板)。
-
在接下来的步骤对话框,选择创建自动伸缩组。
-
在选择启动模板或配置页面,用于自动伸缩组名称,键入
CodeDeployDemo-AS-Group
。 -
在启动模板对话框,您的启动模板 (
CodeDeployDemo-AS-Launch-Template
) 应填写,如果没有,请从下拉菜单中选择。保留默认值并选择下一步。 -
在选择实例启动选项页面页面,在网络部分,用于VPC,选择默认 VPC。然后对于可用区和子网,请选择默认子网。如果您无法选择默认 VPC,则必须创建 VPC。有关更多信息,请参见亚马逊 VPC 入门。
-
在 Instance type requirements(实例类型要求)部分中,使用默认设置简化此步骤。(请勿覆盖启动模板。) 在本教程中,您将仅使用启动模板中指定的实例类型启动按需实例。
-
选择 Next(下一步)转至 Configure advanced options(配置高级选项)页面。
-
保留默认值并选择下一步。
-
在配置群组规模和扩展策略页面,保持默认值团体规模值为 1。选择下一步。
-
跳过配置通知的步骤,然后选择下一步。
-
在添加标签页面,添加安装时使用的标签CodeDeploy稍后是特工。选择 Add tag (添加标签)。
-
在键中,输入
Name
。 -
在值中,输入
CodeDeployDemo
。
选择下一步。
-
-
在上查看您的 Auto Scaling 组信息点评页面,然后选择创建自动伸缩组。
-
在导航栏中,使用自动扩展组选中,选择
CodeDeployDemo-AS-Group
,然后选择实例管理选项卡。在值达到之前不要继续InService出现在生命周期列和的值健康出现在健康状况专栏。 -
安装CodeDeploy按照中的步骤进行代理安装CodeDeploy代理人并使用
Name=CodeDeployDemo
实例标签。