【问题标题】:How ro run a shell script on aws elastic beanstalk environment instance launch如何在 aws elastic beanstalk 环境实例启动上运行 shell 脚本
【发布时间】:2017-09-15 04:30:16
【问题描述】:

我正在使用 Terraform 脚本创建 aws elastic beanstalk 环境,我需要在实例启动时启动一个 shell 脚本

我已经尝试了以下

resource "aws_elastic_beanstalk_environment" "Environment" {
    name = "${var.ebs_env_name}"
    application = "${var.ebs_app_name}"
    ---
    ---
    ---
    setting = {
      namespace = "aws:autoscaling:launchconfiguration"
      name = "user_data"
      value = "${file("user-data.sh")}"
   }
}

这是抛出错误

应用计划时出错:

发生了 1 个错误:

aws_elastic_beanstalk_environment.Environment:ConfigurationValidationException:配置验证异常:无效的选项规范(命名空间:'aws:autoscaling:launchconfiguration',选项名称:'user_data'):未知的配置设置。 状态码:400,请求ID:xxxxx-xxxxxx

请帮忙

【问题讨论】:

    标签: amazon-web-services terraform user-data launch-configuration


    【解决方案1】:

    感谢您的回答,我找到了解决办法

    我创建了一个文件夹 .ebextensions 并在文件夹中创建了一个名为 99delayed_job.config 的文件(您可以提供任何名称)

    commands: 
      create_post_dir: 
        command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/pre"
        ignoreErrors: true
    files: 
      /opt/elasticbeanstalk/hooks/appdeploy/pre/99_restart_delayed_job.sh: 
        group: root
        mode: "000755"
        owner: root
        content: |-
            #!/usr/bin/env bash
            <My shell script here>
    

    一个并用 'Dockerrun.aws.json' 压缩的这个 zip 我发送到 s3 并用于部署

    工作正常:)

    【讨论】:

    • 如果您想在不阻塞部署的情况下运行长期任务怎么办。在我的情况下,在尝试您建议 eb 部署程序在此步骤中是堆栈并且永远不会将节点状态更改为绿色
    • !!警告 !! “自定义平台挂钩是 Amazon Linux AMI 平台上的一项遗留功能。在 Amazon Linux 2 平台上,/opt/elasticbeanstalk/hooks/ 文件夹中的自定义平台挂钩已完全停用。Elastic Beanstalk 不会读取或执行它们。亚马逊Linux 2 平台支持一种新的平台挂钩,专门设计用于扩展 Elastic Beanstalk 托管平台。” - docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
    【解决方案2】:

    我找不到任何有关 AWS Elastic Beanstalk 服务的信息,其中公开了修改实例上的 user_data 的方法。但是,您可以调整使用的 AMI,因此您可以使用 Packer 之类的工具为自己构建一个自定义 AMI,其中包含 user_data。

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 2016-04-20
      • 2014-04-29
      • 2015-11-11
      • 1970-01-01
      • 2017-03-11
      • 2014-04-16
      • 2018-08-23
      • 2017-03-15
      相关资源
      最近更新 更多