要获取AWS实例的公共IP地址,可以使用AWS SDK for Java。以下是一个使用AWS SDK for Java获取AWS EC2实例公共IP地址的示例代码:
首先,确保已经在项目中导入了AWS SDK for Java的依赖。
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.ec2.AmazonEC2;
import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
import com.amazonaws.services.ec2.model.DescribeInstancesRequest;
import com.amazonaws.services.ec2.model.DescribeInstancesResult;
import com.amazonaws.services.ec2.model.Instance;
public class GetPublicIP {
public static void main(String[] args) {
// 认证信息
BasicAWSCredentials awsCreds = new BasicAWSCredentials("ACCESS_KEY", "SECRET_KEY");
// 创建AmazonEC2客户端
AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion("REGION")
.build();
// 创建DescribeInstancesRequest请求
DescribeInstancesRequest request = new DescribeInstancesRequest();
// 发送请求并获取结果
DescribeInstancesResult result = ec2Client.describeInstances(request);
// 遍历每个实例并打印公共IP地址
for (Reservation reservation : result.getReservations()) {
for (Instance instance : reservation.getInstances()) {
String publicIp = instance.getPublicIpAddress();
System.out.println("Instance ID: " + instance.getInstanceId());
System.out.println("Public IP: " + publicIp);
}
}
}
}
在上面的代码中,你需要将ACCESS_KEY
和SECRET_KEY
替换为你的AWS访问密钥。同时,将REGION
替换为你希望操作的AWS区域。
通过上述代码,你可以获取到每个EC2实例的公共IP地址。