AWS Elastic Beanstalk:环境必须有一个与之关联的实例配置文件

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk:环境必须有一个与之关联的实例配置文件【英文标题】:AWS Elastic Beanstalk: Environment must have an instance profile associated with it 【发布时间】:2017-12-15 06:33:41 【问题描述】:

我正在尝试在 Elastic Beanstalk 中创建一个环境,这是我的代码:

AWSElasticBeanstalk client = AWSElasticBeanstalkClientBuilder.defaultClient(); 
    CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest()
                    .withApplicationName("MySampleApplicationFour")
                    .withEnvironmentName("MySampleApplicationFour-env")
                    .withCNAMEPrefix("MySampleApplicationFour")
                    .withSolutionStackName("64bit Amazon Linux 2017.03 v2.5.1 running Java 8")
                    ;

            CreateEnvironmentResult result = client.createEnvironment(createEnvironmentRequest);
            System.out.println(result);

以上代码执行成功,打印输出如下:


EnvironmentName: MySampleApplicationFour - env,
EnvironmentId: e - bt6ric3q8g,
ApplicationName: MySampleApplicationFour,
SolutionStackName: 64bit Amazon Linux 2017.03 v2.5.1 running Java 8,
PlatformArn: arn: aws: elasticbeanstalk: ap - south - 1::platform / Java 8 running on 64bit Amazon Linux / 2.5.1,
CNAME: MySampleApplicationFour.ap - south - 1.elasticbeanstalk.com,
DateCreated: Tue Jul 11 13: 29: 41 IST 2017,
DateUpdated: Tue Jul 11 13: 29: 41 IST 2017,
Status: Launching,
Health: Grey,
Tier: 
    Name: WebServer,
    Type: Standard,
    Version:
,
EnvironmentLinks: []

但是当我看到 AWS Beanstalk 控制台时,它显示环境为终止

这是我的 AWS 控制台:

谁能告诉我如何在 AWS Elastic Beanstalk 中创建运行环境?

【问题讨论】:

错误提示“环境必须有与之关联的实例配置文件”。这可能是相关的:Service Roles, Instance Profiles, and User Policies 当我使用 AWS 控制台时,它工作正常。当我通过 JAVA API 执行此操作时,我收到此错误。 我引用的页面建议您首先通过控制台创建环境,因为它会自动创建 IAM 角色和 EC2 实例配置文件。如果您完全通过 API 启动 Elastic Beanstalk 集群,则需要先创建角色和实例配置文件以使用 Beanstalk 环境。 @JohnRotenstein 感谢您的回复。即使我通过 AWS 控制台或 API 创建角色和实例配置文件,我如何将这些实例配置文件关联到我以编程方式创建的 Beanstalk 环境。我没有找到任何与此相关的方法,例如CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest().withInstanceProfile().etc...或其他。 我还创建了具有完全访问权限的实例配置文件和策略,但是当我尝试通过 API 创建环境时仍然得到相同的结果。是否有任何示例或示例代码 sn-p 。 【参考方案1】:

您只需尝试更改您用于 AWSClient 构建器的区域并尝试创建环境。

【讨论】:

它对我有用。以前我使用的是孟买地区,现在我将其更改为新加坡,并且可以正常工作。但为什么它不与孟买地区合作? @nithyananth m

以上是关于AWS Elastic Beanstalk:环境必须有一个与之关联的实例配置文件的主要内容,如果未能解决你的问题,请参考以下文章

AWS Elastic Beanstalk Docker 环境变量

终止 AWS Elastic Beanstalk 环境

无法在 AWS Elastic Beanstalk 中创建环境?

终止 AWS Elastic Beanstalk 环境并删除数据库

高级 AWS Elastic Beanstalk 环境配置

将 AWS Elastic beanstalk 部署到不同区域的环境