Nik*_*kla 16 github amazon-web-services autoscaling aws-code-deploy
我想在负载变高时自动调整基础架构.我正在运行我的基础设施AWS.我有一个要求,我需要从Github何时发出应用程序代码autoscaling.由于代码经常更改,我们无法从中获取AMI并启动实例AMI.所以我想从中提取最新的代码repositories.AWS刚刚推出了一项名为的服务AWS CodeDeploy.如何在实例启动时使用此服务自动执行代码拉取过程?
PS我已经编写了一个init script自动附加EIP白名单的白名单,将IP放在不同的安全组上,并load-balancer在实例启动时将实例放在a 下,并在实例在autoscaling中终止时撤销所有内容.
Jon*_*pie 25
CodeDeploy是解决您问题的绝佳方案.如果配置正确,它可以自动部署到由Autoscaling旋转的新EC2实例.要实现这一点,您需要做三件事:
以下是可用于帮助入门的教程:教程:使用AWS CodeDeploy将应用程序部署到Auto Scaling组.该教程将指导您在安装代理的情况下烘焙AMI并设置部署组以将代码部署到新实例.
如果您在预安装代理的情况下烘焙AMI,则需要定期使用代理版本更新该映像.安装代理程序后,它将自行更新,但如果代码部署不再支持代理程序版本,则Auto Scaling可能会使实例启动失败.对于实际的生产用途,我建议不要烘焙AMI,而是在启动实例时安装最新的代理.(应该更新教程以尽快使用此方法.)
您可以设置实例以在引导时自动下载并运行最新的安装程序.实际上,在创建Auto Scaling组时,您将shell脚本粘贴为用户数据.
例如,我在Amazon Linux上测试了以下脚本(取自设置新的Amazon EC2实例以使用AWS CodeDeploy):
#!/bin/bash
yum -y update
yum install -y aws-cli
cd /home/ec2-user
aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1
chmod +x ./install
./install auto
Run Code Online (Sandbox Code Playgroud)
您可以将其粘贴到user data创建Auto Scaling组时.对于Auto Scaling,您可以在配置详细信息 - >高级详细信息下创建启动配置时进行设置.
要设置部署组并设置目标修订:
Auto Scaling组中Auto Scaling启动的新实例将自动部署部署组的目标修订版.手动部署失败的修订不会自动自动部署.
| 归档时间: |
|
| 查看次数: |
7557 次 |
| 最近记录: |