javascript - 如何分离 Elastic Beanstalk 环境?
问题描述
我正在 EB 之上构建一个服务,它将托管几个不同的应用程序。我希望能够分离每个应用程序,以便它们之间没有冲突。
例如,我的 app1 和 app2 都带有暂存环境。当我尝试将 staging env 部署到 app2 时,我收到一个错误Environment staging already exists
,因为它存在于 app1 下。
有没有办法为每个应用程序创建一个完全独立的实例,以避免此类冲突,也可能使事情更安全,以便应用程序无法访问彼此的环境?
如果有任何帮助,我正在使用 Javascript aws-sdk 来创建这样的环境:
const createElasticBeanstalkEnvironment = async ({
applicationName,
versionLabel,
environmentName
}) => {
const describeEnvironmentsCommand = new DescribeEnvironmentsCommand({
EnvironmentNames: [environmentName],
ApplicationName: applicationName,
IncludeDeleted: false
});
const { Environments = [] } = await elasticBeanstalkClient.send(describeEnvironmentsCommand);
const isExistingEnvironment = Environments.length > 0;
if( isExistingEnvironment ) {
const updateEnvironmentCommand = new UpdateEnvironmentCommand({
ApplicationName: applicationName,
EnvironmentName: environmentName,
VersionLabel: versionLabel,
// ...
});
return elasticBeanstalkClient.send(updateEnvironmentCommand);
}
const createEnvironmentCommand = new CreateEnvironmentCommand({
ApplicationName: applicationName,
EnvironmentName: environmentName,
VersionLabel: versionLabel,
// ...
});
return elasticBeanstalkClient.send(createEnvironmentCommand);
}
你可以看到我正在检查环境是否存在,如果不存在,那么我创建它。我的代码describeEnvironments
返回 false,因为该应用程序不存在它,但是当我调用时,CreateEnvironmentCommand
我得到它已经存在的错误(尽管在另一个环境下)
解决方案
推荐阅读
- javascript - 将 InnerHTML 导出为 HTML 文件 - 内联 CSS 样式哈希问题
- git - 从拉取请求的压缩提交中获取分支名称
- php - 如何在 PHP 中编辑我的博客的作者格式?
- r - 如何根据日期拆分具有重复信息的数据集
- c - 如何使用 C 结构字符串数组避免缓冲区溢出
- twitter-bootstrap - 根据断点设置 Bootstrap 4 折叠默认隐藏或显示
- opengl - 将立方体从相机空间带到剪辑空间,我的数学错误?
- java - 在java中为selenium设置firefox和chrome驱动程序?
- sql - 有没有办法以 .txt 格式从 BigQuery 导出查询或表格?
- r - 在 ggplot 中创建辅助图例