使用java从具有专用子网的ec2实例访问amazon Dynamodb

使用java从具有专用子网的ec2实例访问amazon Dynamodb,java,amazon-web-services,spring-data,amazon-dynamodb,Java,Amazon Web Services,Spring Data,Amazon Dynamodb,我使用spring数据进行连接,如下所示: @Bean public AmazonDynamoDB amazonDynamoDB() { BasicAWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY); final AmazonDynamoDBClient client = new AmazonDynamoDBClient(credentials); client.with

我使用spring数据进行连接,如下所示:

@Bean
public AmazonDynamoDB amazonDynamoDB() {

BasicAWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, 

SECRET_KEY);

 final AmazonDynamoDBClient client = new 

AmazonDynamoDBClient(credentials);

    client.withEndpoint(END_POINT);

    //client.withRegion(Regions.AP_SOUTH_1);

    client.withRegion(Regions.US_WEST_2);
    return client;
}
但我面临的问题是:org.apache.http.conn.ConnectTimeoutException:Connect

致dynamodb.us-west-2.amazonaws.com:443

从带有公共子网的EC2实例来看,它工作正常


请建议如何从具有专用子网的ec2实例访问DynamoDB。

如果没有NAT网关或NAT实例,则无法从专用子网上的实例连接到DynamoDB或许多其他AWS服务(例如SQS或SNS)

NAT

您可以使用NAT设备使专用子网中的实例能够连接到Internet(例如,用于软件更新)或其他AWS服务,但阻止Internet启动与实例的连接。NAT设备将流量从专用子网中的实例转发到Internet或其他AWS服务,然后将响应发送回实例。当流量流向Internet时,源IP地址将替换为NAT设备的地址,类似地,当响应流量流向这些实例时,NAT设备将地址转换回这些实例的专用IP地址


另请参见

如果没有NAT网关或NAT实例,则无法从专用子网上的实例连接到DynamoDB或许多其他AWS服务(例如SQS或SNS)

NAT

您可以使用NAT设备使专用子网中的实例能够连接到Internet(例如,用于软件更新)或其他AWS服务,但阻止Internet启动与实例的连接。NAT设备将流量从专用子网中的实例转发到Internet或其他AWS服务,然后将响应发送回实例。当流量流向Internet时,源IP地址将替换为NAT设备的地址,类似地,当响应流量流向这些实例时,NAT设备将地址转换回这些实例的专用IP地址


另请参见

我是否可以访问RDS服务?因为我可以从专用子网计算机访问RDS服务。请建议。是的,@AnoopSinghal。RDS可以在没有NAT设备的情况下从私有实例访问,因为RDS实例具有连接到它们的弹性网络接口,并且只要安全组允许,这些接口可以从VPC内部访问。这与DynamoDB不同。我已将NATdevice与专用子网相关联,但DynamoDB无法访问。请提出建议。您需要验证它是否配置正确。您将可以从您的实例访问Internet(如果是)。例如,您将能够成功地
ping 8.8.8.8
curl-v google.com
。请注意,NAT设备是您的专用子网的默认(0.0.0.0/0)路由的目标,但NAT设备本身必须位于公用子网上。我是否可以访问RDS服务?因为我可以从专用子网计算机访问RDS服务。请建议。是的,@AnoopSinghal。RDS可以在没有NAT设备的情况下从私有实例访问,因为RDS实例具有连接到它们的弹性网络接口,并且只要安全组允许,这些接口可以从VPC内部访问。这与DynamoDB不同。我已将NATdevice与专用子网相关联,但DynamoDB无法访问。请提出建议。您需要验证它是否配置正确。您将可以从您的实例访问Internet(如果是)。例如,您将能够成功地
ping 8.8.8.8
curl-v google.com
。请注意,NAT设备是专用子网的默认(0.0.0.0/0)路由的目标,但NAT设备本身必须位于公用子网上。