如何配置已经运行的 EB 环境与 EB CLI

37

我接手了一个已经部署到弹性Beanstalk的项目。我想配置我的eb cli以在不修改该环境的情况下部署到现有环境。从我的研究中,我得出的印象是eb init是正确的命令,但当我开始进行交互式会话时,它似乎要使用我的条目作为配置设置(例如平台版本)。我想确保保留已经在使用的设置(我无法确定正在运行的环境使用哪个平台版本),并确保运行的ec2实例不会因任何原因被替换或终止。有没有人知道最好的做法?感谢您提前的帮助。

2个回答

34
在使用eb init时,请确保选择一个现有的应用程序和环境。只要这样做,它就会从环境中拉取设置。
然而,话虽如此,eb init创建的设置是用于未来环境的默认设置。它不会覆盖任何正在运行的环境上的设置。
关于实例,弹性Beanstalk可以根据健康状况和自动缩放随时终止或创建实例。但是,如果我们假设您的实例很健康,并且没有发生自动缩放事件,则eb deploy永远不会导致替换实例。
不过,我有点好奇为什么你如此担心你的实例被替换。
关于确定当前平台,您可以从eb status中获取该信息。

只要我们在执行 eb init 命令之前先将 .ppk 密钥放入 .ssh 文件夹中即可。 - Aminah Nuraini
1
对我来说,eb initeb init -i 没有显示孟买地区,可能的原因是什么? - Piyush S. Wanare
@PiyushSWanare,CLI 可能还没有为新区域添加支持。 - Nick Humrich
1
哇,一定要选择正确的区域。我是EB的新手,没想到这很重要!浪费了我一整天的时间和精力。 - Ken Aspeslagh

18
更好的方法是使用aws configure配置您的aws cli,或者手动创建~/.aws/config。
[profilename]
region = ap-south-1

~/.aws/credentials含有

[profilename]
aws_secret_access_key = abc
aws_access_key_id = pqr

然后使用 -

eb init --profile profilename

在我的 AWS EB CLI 上,我必须输入 [profile <my_profile_name>]。也就是说,必须有单词 "profile",后跟一个空格,再后面是配置文件名称,所有这些都在方括号中。 - Jason
配置文件必须包含前缀“profile”,即[profile profilename]。凭据文件没有此要求。“凭证文件使用与CLI配置文件不同的命名格式来命名配置文件中的命名配置文件。仅在配置配置文件中的命名配置文件时包括前缀词“profile”。创建凭据文件条目时,请勿使用单词配置文件。” https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html - digout
我该如何从AWS eb控制台中找到我的aws_access_key_id和aws_secret_access_key? - menepet
这对我不起作用。一切似乎都连接正确,但我在 eb list 中看不到任何我的应用程序或环境。 - Matt West

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接