You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Java SDK获取EC2实例时遇HTTP请求执行失败求助

问题解决:调用EC2 describeImages接口时的连接重置错误

核心原因

describeImages()接口默认会返回所有公开镜像+你的账户自有镜像,数据集规模极大,远超默认HTTP连接的处理能力,导致连接被重置,进而触发XML解析失败。而S3的listBuckets返回数据量小,所以能正常执行。

解决方案

1. 缩小查询范围(最直接有效)

通过添加过滤条件,只查询你自己账户的镜像,大幅减少返回数据量:

// 导入必要类
import com.amazonaws.services.ec2.model.DescribeImagesRequest;
import com.amazonaws.services.ec2.model.Filter;
import java.util.Collections;

// 修改EC2查询代码
AmazonEC2 amazonEC2 = AmazonEC2ClientBuilder
        .standard()
        .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
        .withRegion("us-east-1")
        .build();

// 只查询自己账户的镜像
DescribeImagesRequest request = new DescribeImagesRequest()
        .withFilters(new Filter("owner-alias", Collections.singletonList("self")));
// 或者用账户ID过滤:.withFilters(new Filter("owner-id", Collections.singletonList("你的AWS账户ID")))

List<Image> listEc2s = amazonEC2.describeImages(request).getImages();
listEc2s.stream().forEach(image -> {
    System.out.println("Image id : " + image.getImageId() + ", Image owner : " + image.getImageOwnerAlias());
});

2. 升级AWS Java SDK版本

你当前使用的SDK版本1.11.379非常老旧,存在HTTP客户端处理大响应的已知问题。升级到较新的1.11.x稳定版本:
修改pom.xml中的BOM版本:

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-bom</artifactId>
    <version>1.11.1024</version> <!-- 可替换为最新1.11.x稳定版 -->
    <type>pom</type>
    <scope>import</scope>
</dependency>

3. 调整HTTP客户端超时配置

如果必须查询大量数据,可增大连接和读取超时时间,避免连接被提前截断:

import com.amazonaws.ClientConfiguration;

// 配置超时参数
ClientConfiguration clientConfig = new ClientConfiguration()
        .withConnectionTimeout(10000)  // 连接超时10秒
        .withSocketTimeout(60000);     // 读取超时60秒

AmazonEC2 amazonEC2 = AmazonEC2ClientBuilder
        .standard()
        .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
        .withRegion("us-east-1")
        .withClientConfiguration(clientConfig)
        .build();

4. 检查网络环境

如果上述方法无效,排查是否有代理、防火墙或VPN截断了长连接,确保你的服务器/本地能正常访问AWS EC2的API端点(ec2.us-east-1.amazonaws.com)。

内容的提问来源于stack exchange,提问作者Oluchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 08:15:35