【问题标题】:AWS Script bash on EC instance launchEC 实例启动时的 AWS Script bash
【发布时间】:2017-09-19 20:03:45
【问题描述】:

我想自动化这些步骤:

  • 解压 zip 包(是否可以将此 zip 加载到 S3 存储桶并在脚本期间下载?如果可以,如何?)
  • 编辑 apache 配置文件(port.conf、/etc/apache2/sites-available/example.com.conf)
  • 运行 apt-get 命令。

我真的不知道如何创建要在 EC2 实例启动时运行的脚本文件。

请大家帮帮我好吗?

非常感谢

【问题讨论】:

  • 您使用的是什么操作系统?如果你使用默认的 AWS-linux,你可以使用 CloudInit 来做这些事情
  • 如果您使用 CloudFormation,这提供了一个在实例启动时运行步骤的不错示例:docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…
  • @Exelian 我当然可以使用 CloudInit

标签: bash amazon-web-services amazon-s3 amazon-ec2 aws-cli


【解决方案1】:

您正在查看的是User Data,这将使您能够在启动 ec2 实例时运行您的脚本

当您创建您的 ec2 实例时,在第 3 步(配置实例详细信息)中,转到脚本底部并单击“高级详细信息”。从那里你可以输入你的脚本。

如果您使用的是 Amazon AMI,则 CLI 是内置的并且您可以使用它,请确保定义 ec2 IAM role 并对您的 AWS 资源具有必要的权限。

现在就您的脚本而言,这是模糊但粗略的:

  1. 你可以运行aws s3 cp s3_file local_file从实例上的s3下载一个zip文件,使用unzip linux命令解压内容

  2. 使用sedcat> 编辑您的文件,参见Q&A

  3. 使用apt-get运行命令

注意:您以 root 身份运行用户数据脚本,因此运行命令时不需要sudo

【讨论】:

  • 非常感谢,我会试试的,我会给你的答案打分。是否可以将这些命令作为脚本自动运行?
猜你喜欢
  • 2018-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多