[英]AWS DotNet SDK Error: Unable to get IAM security credentials from EC2 Instance Metadata Service
[英]How to connect other AWS cloud service from an EC2 instance using AWS Javascript SDK?
我已將應用程序部署在附加了 IAM 角色的 EC2 實例上。 在私有 su.net 中運行的實例。 我在嘗試列出來自 S3 服務的存儲桶時遇到 .networking 錯誤。
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)
看來你的情況是:
有兩種方法可以實現這一點:
選項 1:Internet 訪問
Amazon S3 駐留在 Inte.net 上。 由於 EC2 實例位於私有 su.net 中,因此需要使用NAT 網關來訪問 Inte.net 和 Amazon S3。
NAT 網關應在公共 su.net中啟動,並且應更新私有 su.net 的路由表以將目的地為0.0.0.0/0
的流量發送到 NAT 網關。
選項 2:VPC 端點
或者,您可以為 S3 添加一個 VPC 端點,它提供了一個與 Amazon S3 通信的“捷徑”,而無需通過 Inte.net。
試試這個。
sudo npm install -g @aws-amplify/cli
amplify configure
amplify init
amplify push
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.