You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Auto Scaling创建配置一致的EC2新实例?

问题解答

1. Auto Scaling新实例的配置继承问题

Auto Scaling默认只会按照你定义的启动模板/启动配置创建新实例,不会自动同步你手动在第一个实例上做的修改——也就是说第二个实例是“干净”的空实例,不会有你克隆的代码、迁移的文件。

你手动完成的这些操作属于实例的自定义配置,Auto Scaling不会自动复用这类修改,必须通过用户数据、自定义AMI或配置管理工具来让新实例自动完成这些步骤。

2. 是否需要在用户数据中处理手动步骤?

是的,最直接的方式就是把这些手动步骤写成脚本,放到Auto Scaling启动配置/模板的用户数据里。实例启动时会自动执行这段脚本,完成代码克隆、文件迁移等操作。

3. 转换为Auto Scaling可用的Bash脚本

下面是适配用户数据的脚本,已考虑依赖安装、权限处理和基础错误检查:

#!/bin/bash
set -e  # 遇到错误立即终止脚本执行

# 1. 安装依赖(以Amazon Linux 2为例,若用Ubuntu/Debian请替换为apt-get命令)
yum update -y
yum install -y git httpd

# 2. 启动Apache并设置开机自启
systemctl start httpd
systemctl enable httpd

# 3. 克隆代码仓库到临时目录
git clone https://github.com/rais24/simple-html-landing-page.git /tmp/landing-page

# 4. 迁移指定文件到Apache根目录
mv /tmp/landing-page/index.html /var/www/html/
mv /tmp/landing-page/assets /var/www/html/
mv /tmp/landing-page/README.md /var/www/html/

# 5. 调整文件权限,确保Apache能正常读取
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html

脚本说明:

  • set -e:避免脚本在出错后继续执行,防止实例处于半配置状态
  • 依赖安装部分:如果你的AMI已经预装了git和Apache,可以删除对应安装命令
  • 临时目录/tmp:用来存放克隆的代码,避免污染系统其他路径
  • 权限调整:保证Apache服务能正常读取网站文件,避免出现403权限错误

使用方式

把这段脚本复制到Auto Scaling启动模板/配置的用户数据字段(选择“文本模式”输入),后续Auto Scaling创建的所有实例都会自动执行这些操作,和你手动配置的第一个实例保持一致。

内容的提问来源于stack exchange,提问作者Rehan CH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 09:50:17