Amazon web services AWS Beanstalk-如果没有来自CLI的负载平衡器,则无法在VPC中创建环境

Amazon web services AWS Beanstalk-如果没有来自CLI的负载平衡器,则无法在VPC中创建环境,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,我想用AWS Elastic Beanstalk创建一个简单的单实例环境。我可以从AWS控制台执行此操作,但当我尝试从CLI执行此操作时,它将为我创建一个负载平衡器-似乎不管我在选项设置中添加了什么 这是我放在.ebextensions文件夹中的配置文件: { "option_settings": [ { "namespace": "aws:autoscaling:launchconfiguration", "option_name": "InstanceTy

我想用AWS Elastic Beanstalk创建一个简单的单实例环境。我可以从AWS控制台执行此操作,但当我尝试从CLI执行此操作时,它将为我创建一个负载平衡器-似乎不管我在选项设置中添加了什么

这是我放在.ebextensions文件夹中的配置文件:

{
  "option_settings": [
    {
      "namespace": "aws:autoscaling:launchconfiguration",
      "option_name": "InstanceType",
      "value": "t2.micro"
    },
    {
      "namespace": "aws:elasticbeanstalk:environment",
      "option_name": "EnvironmentType",
      "value": "SingleInstance"
    },
    {
      "namespace": "aws:autoscaling:launchconfiguration",
      "option_name": "SecurityGroups",
      "value": "sg-XXXXXXX"
    },
    {
      "namespace": "aws:autoscaling:launchconfiguration",
      "option_name": "EC2KeyName",
      "value": "XXXXXXXX"
    },
    {
      "namespace": "aws:ec2:vpc",
      "option_name": "VPCId",
      "value": "vpc-XXXXXX"
    },
    {
      "namespace": "aws:ec2:vpc",
      "option_name": "Subnets",
      "value": "subnet-XXXXXXX"
    },
    {
      "namespace": "aws:autoscaling:asg",
      "option_name": "MinSize",
      "value": 1
    },
    {
      "namespace": "aws:autoscaling:asg",
      "option_name": "MaxSize",
      "value": 1
    }
  ],
  "packages": {
    "yum": {
      "postgresql94-devel": [],
      "git": []
    }
  }
}
我在EB environment configuration dashboard的Network Tier部分中看到了负载平衡器,并且我已经验证了它是在AWS控制台的EC2部分中创建的

在没有负载平衡器的情况下,如何从CLI启动Beanstalk环境?非常感谢您的帮助。

您使用的是哪种CLI或?我猜是的

除了您在ebextensions中指定的选项设置外,默认情况下,至少eb cli和AWS管理控制台将在API参数中传递一些选项设置。在web控制台中,您可以通过下拉菜单选择负载平衡或单实例环境。在EB CLI中,我想您会得到一个选择负载平衡环境的提示。您还可以将-single选项传递给eb create。如果不指定任何内容,它将假定默认值为负载平衡。因此,即使您在ebextension中指定了选项设置,也有一个选项设置正在API参数中传递。Elastic Beanstalk优先考虑使用API设置的值,而不是ebextension中的值

正如文件所说:

EB命令行界面CLI和Elastic Beanstalk控制台为某些配置选项提供了建议值。这些值可以不同于默认值,并在创建环境时在API级别设置。推荐值允许Elastic Beanstalk改进默认环境配置,而无需对API进行向后不兼容的更改。 例如,EB CLI和Elastic Beanstalk控制台都为aws:autoscaling:launchconfiguration命名空间中的EC2实例类型InstanceType设置了配置选项。每个客户端都提供了一种不同的方式来覆盖默认设置。在控制台中,您可以从“创建新环境”向导的“配置详细信息”页面上的下拉菜单中选择不同的实例类型。使用EB CLI,您可以为EB create使用-instance_type参数


在我的.ebextensions/options.config文件中,我设置了实例类型和VPC id等,但当我创建eb时,它不使用这些设置。为什么会这样?你能仔细检查一下你是否为这些文件添加了git吗?但是当我创建eb时,它不使用这些设置。为什么呢?因为选项优先。你可以在-