gpt4 book ai didi

configuration - 将环境属性与弹性 beantalk 配置文件中的文件一起使用

转载 作者:行者123 更新时间:2023-12-04 07:35:50 25 4
gpt4 key购买 nike

使用 Elastic Beanstalk .config文件有点……有趣。我正在尝试将环境属性与 files: 一起使用Elastc Beanstalk 中的配置选项 .config文件。我想做的是:

files:
"/etc/passwd-s3fs" :
mode: "000640"
owner: root
group: root
content: |
${AWS_ACCESS_KEY_ID}:${AWS_SECRET_KEY}

创建 /etc/passwd-s3fs文件内容如下:
ABAC73E92DEEWEDS3FG4E:aiDSuhr8eg4fHHGEMes44zdkIJD0wkmd

IE。使用 AWS 控制台 ( Elastic Beanstalk/Configuration/Software Configuration/Environment Properties) 中定义的环境属性来初始化系统配置文件等。

我发现可以在 container-command: 中使用环境属性。 s,像这样:
container_commands:
000-create-file:
command: echo ${AWS_ACCESS_KEY_ID}:${AWS_SECRET_KEY} > /etc/passwd-s3fs

但是,这样做需要我手动设置所有者、组、文件权限等。在处理更大的配置文件时也比 Files: 更麻烦。配置选项...

有人对此有任何提示吗?

最佳答案

这样的事情怎么样。我将使用“上下文”一词来表示 dev 与 qa。

每个上下文创建一个文件:

开发环境变量

export MYAPP_IP_ADDR=111.222.0.1
export MYAPP_BUCKET=dev

qa 环境变量
export MYAPP_IP_ADDR=111.222.1.1
export MYAPP_BUCKET=qa

将这些文件上传到私有(private) S3 文件夹 S3://myapp/config。

在 IAM 中,向 aws-elasticbeanstalk-ec2-role 角色添加一个允许读取 S3://myapp/config 的策略。

将以下文件添加到您的 .ebextensions 目录:

envvars.config
files:
"/opt/myapp_envvars" :
mode: "000644"
owner: root
group: root
# change the source when you need a different context
#source: https://s3-us-west-2.amazonaws.com/myapp/dev-envvars
source: https://s3-us-west-2.amazonaws.com/myapp/qa-envvars

Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: myapp

commands:
# commands executes after files per
# http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
10-load-env-vars:
command: . /opt/myapp_envvars

根据 AWS Developer's Guide , 命令“在设置应用程序和 Web 服务器以及提取应用程序版本文件之前运行”,以及在容器命令之前运行。我想问题是在启动过程中是否足够早,以便在需要时使环境变量可用。实际上,我最终编写了一个 init.d 脚本来启动和停止我的 EC2 实例中的操作。我使用上面的技术来部署脚本。

允许从安全 S3 下载的“资源”部分归功于 Joshua@AWS 于 2014 年 5 月 7 日发给 this thread 的帖子。 .

关于configuration - 将环境属性与弹性 beantalk 配置文件中的文件一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21258870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com