【发布时间】:2014-11-03 11:01:51
【问题描述】:
我们是否需要互联网连接才能在 AWS 的实例中使用 AWS Java SDK?
我有一个在 VPC 中运行的实例,我没有为其分配任何公共 IP 地址。
根据我最初的调查发现,我发现要从亚马逊的这个实例运行基于 AWS Java 开发工具包的 Java 程序,该实例需要有互联网连接。
运行AWS Java SDK自带的示例程序AwsConsoleApp,看到如下错误:
[javac] /home/ubuntu/aws-java-sdk-1.8.9.1/samples/AwsConsoleApp/build.xml:12:警告:“includeantruntime”未设置,默认为 build.sysclasspath=last;为可重复构建设置为 false [java] ============================================= [java] 欢迎使用 AWS Java 开发工具包! [java] =============================================
[java] Sep 09, 2014 9:26:49 PM com.amazonaws.http.AmazonHttpClient executeHelper
[java] INFO: Unable to execute HTTP request: Connect to ec2.us-east-1.amazonaws.com:443 timed out
[java] org.apache.http.conn.ConnectTimeoutException: Connect to ec2.us-east-1.amazonaws.com:443 timed out
[java] at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:551)
[java] at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
[java] at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
[java] at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:645)
[java] at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:480)
[java] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
[java] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
[java] at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:464)
[java] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:273)
[java] at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:9320)
[java] at com.amazonaws.services.ec2.AmazonEC2Client.describeAvailabilityZones(AmazonEC2Client.java:359)
[java] at com.amazonaws.services.ec2.AmazonEC2Client.describeAvailabilityZones(AmazonEC2Client.java:8045)
[java] at AwsConsoleApp.main(Unknown Source)
[java]
我发现这与亚马逊提供访问其 EC2Metadata 服务的方式相反。
有什么方法可以在不提供 AWS 实例公共 IP 的情况下运行这些 Java 程序?
【问题讨论】:
标签: java amazon-web-services amazon-ec2 amazon-vpc