使用 aws-sdk 通过 Application Load Balancer 创建 AWS Elastic Beanstalk 应用程序

Create AWS Elastic Beanstalk app with Application Load Balancer using aws-sdk

我刚刚使用 aws-sdk(nodejs) 创建了 AWS Elastic Beanstalk 应用程序。默认情况下,它是使用应用程序负载均衡器创建的。我到处搜索,找不到任何选项来告诉我使用 ALB 创建 eb 应用程序。请在下面找到用于创建 eb 环境的代码。

const params = {
    ApplicationName: "my-app",
    CNAMEPrefix: "my-app",
    EnvironmentName: "my-env-test",
    VersionLabel: "v1",
    OptionSettings: [
        {
            Namespace: 'aws:autoscaling:launchconfiguration',
            OptionName: 'InstanceType',
            Value: 't2.micro'
        },
        {
            Namespace: 'aws:autoscaling:launchconfiguration',
            OptionName: 'IamInstanceProfile',
            Value: 'aws-elasticbeanstalk-ec2-role-2'
        },
        {
            Namespace: 'aws:elbv2:loadbalancer',
            OptionName: 'CrossZone',
            Value: 'false'
        },
        {
            Namespace: 'aws:elbv2:listener:listener_port',
            OptionName: 'Protocol',
            Value: 'HTTPS'
        }
    ],
    SolutionStackName: '64bit Amazon Linux 2 v5.3.0 running Node.js 14',
};
return await elasticbeanstalk.createEnvironment(params).promise();

我找到了可以在配置模板中传递负载均衡器类型的解决方案,如下所示。

Namespace: 'aws:elasticbeanstalk:environment',
OptionName: 'LoadBalancerType',
Value: 'application'