代码之家  ›  专栏  ›  技术社区  ›  Brian

在使用cli创建弹性Beanstalk环境时,如何指定自定义Amazon机器映像(AMI)ID?

  •  1
  • Brian  · 技术社区  · 6 年前

    我从中学习了如何使用带有弹性Beanstalk控制台的自定义AMI ID。 tutorial .

    我怎么能做同样的事呢 aws elasticbeanstalk eb 命令?

    我找不到怎么做 AWS CLI Command Reference .

    我觉得 PlatformArn 如果要使用自定义AMI ID,则必须更改保存的配置文件中的值。

    有人知道如何用命令行指定自定义AMI ID吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   John Hanley    6 年前

    为了指定AMI ID,您需要管理更多Beanstalk环境。当您开始使用这些特性时,我建议您开始使用一个与Beanstalk一起工作的现有AMI(选择一个您已经测试过的AMI)。

    关键是ami id是 launch configuration .

    CLI:

    aws elasticbeanstalk create-environment --region us-west-2 --application-name my-app --environment-name my-env --version-label v1 --solution-stack-name "64bit Windows Server 2016 v1.2.0 running IIS 10.0" --option-settings Namespace=aws:autoscaling:launchconfiguration,OptionName=ImageId,Value="ami-xxxxxxx"

    SDK:

    您可以通过 OptionSettings 在createEnvironment()调用中。

    样例代码:

    var var params = {
      ApplicationName: "my-app", 
      CNAMEPrefix: "my-app", 
      EnvironmentName: "my-env", 
      SolutionStackName: "64bit Windows Server 2016 v1.2.0 running IIS 10.0", 
      VersionLabel: "v1",
      OptionSettings: [
        {
          Namespace: 'aws:autoscaling:launchconfiguration',
          OptionName: 'ImageId',
          Value: 'ami-xxxxxxx'
        },
      ],
     };
     elasticbeanstalk.createEnvironment(params, function(err, data) {
       if (err) console.log(err, err.stack); // an error occurred
       else     console.log(data);           // successful response
     });
    

    本文详细讨论了上述方法:

    Using a custom AMI with Elastic Beanstalk