Amazon web services 如何使用AWS Javascript SDK从EC2实例连接其他AWS云服务?

Amazon web services 如何使用AWS Javascript SDK从EC2实例连接其他AWS云服务?,amazon-web-services,amazon-ec2,amazon-iam,amazon-javascript-sdk,Amazon Web Services,Amazon Ec2,Amazon Iam,Amazon Javascript Sdk,我已经将应用程序部署在一个附加了IAM角色的EC2实例上。在专用子网内运行的实例。我在尝试列出S3服务中的存储桶时遇到网络错误 Error: connect ETIMEDOUT 10.100.20.30:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) { errno: -110, code: 'NetworkingError', syscall: 'connect', address: '10.100.20.

我已经将应用程序部署在一个附加了IAM角色的EC2实例上。在专用子网内运行的实例。我在尝试列出S3服务中的存储桶时遇到网络错误

Error: connect ETIMEDOUT 10.100.20.30:443
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16) {
errno: -110,
code: 'NetworkingError',
syscall: 'connect',
address: '10.100.20.30',
port: 443,
region: 'us-east-1',
hostname: 'mybucket.s3.us-east-1.amazonaws.com',
retryable: true,
time: 2020-07-28T05:44:13.678Z
} Error: connect ETIMEDOUT 10.100.20.30:443
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1144:16)

您的情况似乎是:

  • 私有子网中的Amazon EC2实例
  • 实例上的应用程序需要访问AmazonS3
有两种方法可以实现这一点:

选项1:互联网接入

AmazonS3驻留在互联网上。由于EC2实例位于私有子网中,因此需要使用NAT网关来访问Internet和Amazon S3

NAT网关应在公共子网中启动,并且应更新专用子网的路由表,以将目的地为
0.0.0/0
的流量发送到NAT网关

选项2:专有网络端点


或者,您可以添加一个,它提供了一条与Amazon S3通信的“捷径”,而无需通过Internet。

您的情况似乎是:

  • 私有子网中的Amazon EC2实例
  • 实例上的应用程序需要访问AmazonS3
有两种方法可以实现这一点:

选项1:互联网接入

AmazonS3驻留在互联网上。由于EC2实例位于私有子网中,因此需要使用NAT网关来访问Internet和Amazon S3

NAT网关应在公共子网中启动,并且应更新专用子网的路由表,以将目的地为
0.0.0/0
的流量发送到NAT网关

选项2:专有网络端点


或者,您可以添加一个,它提供了一条与Amazon S3通信的“捷径”,而无需通过Internet。

请确保您的实例能够连接到S3端点。AWS列出了验证EC2到S3之间网络连接的步骤。由于您的实例正在专用子网内运行,请确保您具有以下任一项:

  • 具有通过NAT网关的默认路由的路由表
  • A

请确保您的实例能够连接到S3端点。AWS列出了验证EC2到S3之间网络连接的步骤。由于您的实例正在专用子网内运行,请确保您具有以下任一项:

  • 具有通过NAT网关的默认路由的路由表
  • A
    • 试试这个

      sudo npm install -g @aws-amplify/cli
      amplify configure
      amplify init
      amplify push
      
      试试这个

      sudo npm install -g @aws-amplify/cli
      amplify configure
      amplify init
      amplify push