如何在 aws elastic beanstalk 环境实例上启动 运行 a shell 脚本
How ro run a shell script on aws elastic beanstalk environment instance launch
我正在使用 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")}"
}
}
这是抛出错误
Error applying plan:
1 error(s) occurred:
aws_elastic_beanstalk_environment.Environment: ConfigurationValidationException: Configuration validation exception: Invalid option specification (Namespace: 'aws:autoscaling:launchconfiguration', OptionName: 'user_data'): Unknown configuration setting.
status code: 400, request id: xxxxx-xxxxxx
请帮忙
我找不到任何关于 AWS Elastic Beanstalk 服务的信息,公开了修改实例 user_data
的方法。但是,您可以调整使用的 AMI,这样您就可以使用 Packer 之类的工具来为自己构建一个包含 user_data
的自定义 AMI。
感谢您的回答,我找到了解决方案
我创建了一个文件夹 .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>
A 并用 'Dockerrun.aws.json' 压缩我发送到 s3 并用于部署的这个 zip
工作正常:)
我正在使用 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")}"
}
}
这是抛出错误
Error applying plan:
1 error(s) occurred:
aws_elastic_beanstalk_environment.Environment: ConfigurationValidationException: Configuration validation exception: Invalid option specification (Namespace: 'aws:autoscaling:launchconfiguration', OptionName: 'user_data'): Unknown configuration setting. status code: 400, request id: xxxxx-xxxxxx
请帮忙
我找不到任何关于 AWS Elastic Beanstalk 服务的信息,公开了修改实例 user_data
的方法。但是,您可以调整使用的 AMI,这样您就可以使用 Packer 之类的工具来为自己构建一个包含 user_data
的自定义 AMI。
感谢您的回答,我找到了解决方案
我创建了一个文件夹 .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>
A 并用 'Dockerrun.aws.json' 压缩我发送到 s3 并用于部署的这个 zip
工作正常:)