【发布时间】: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 。
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk aws-sdk