gpt4 book ai didi

java - 使用公共(public)IP启动ec2实例

转载 作者:行者123 更新时间:2023-12-01 09:38:32 25 4
gpt4 key购买 nike

我需要从我的 java 代码启动 ec2 中的新实例。我可以通过以下方式做到这一点:

    RunInstancesRequest runInstancesRequest = new RunInstancesRequest();

runInstancesRequest
.withImageId(myImageId)
.withInstanceType(myInstanceType)
.withMinCount(INSTANCES_COUNT)
.withMaxCount(INSTANCES_COUNT)
.withKeyName(myKeyName)
.withSubnetId(mySubnetId)
.withSecurityGroupIds(mySecurityGroupId)
.withPlacement(myPlace)
;

RunInstancesResult runInstancesResult = amazonEC2Client.runInstances(runInstancesRequest);

它创建了一个新实例。但此实例有空字段“公共(public) DNS”和“公共(public) IP”。

我不需要弹性IP。如果所有新实例都有新地址就可以了。

那么,如何更改我的请求?

最佳答案

谢谢!我找到了解决办法:

RunInstancesRequest runInstancesRequest = new RunInstancesRequest();

InstanceNetworkInterfaceSpecification interfaceSpecification = new InstanceNetworkInterfaceSpecification()
.withSubnetId(mySubnetId)
.withAssociatePublicIpAddress(true)
.withGroups(mySecurityGroupId)
.withDeviceIndex(0);

runInstancesRequest
.withImageId(myImageId)
.withInstanceType(myInstanceType)
.withMinCount(INSTANCES_COUNT)
.withMaxCount(INSTANCES_COUNT)
.withKeyName(myKeyName)
//.withSubnetId(mySubnetId)
//.withSecurityGroupIds(mySecurityGroupId)
.withPlacement(myPlace)
.withNetworkInterfaces(interfaceSpecification)
;

RunInstancesResult runInstancesResult = amazonEC2Client.runInstances(runInstancesRequest);

我不知道什么是“DeviceIndex”,也不知道为什么它是“0”,但它可以工作。

关于java - 使用公共(public)IP启动ec2实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38633243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com