相关疑难解决方法(0)

为什么我们在VPC中需要私有子网?

AWS VPC配置中有4个方案.但让我们看看这两个:

  • 场景1:1公共子网.
  • 场景2:1个公有子网和1个私有子网.

由于在公共子网中启动的任何实例都没有EIP(除非已分配),因此无法从Internet寻址.然后:

  • 为什么需要私有子网?
  • 私有子网和公共子网之间究竟有什么区别?

vpc amazon-web-services amazon-vpc

121
推荐指数
4
解决办法
4万
查看次数

Aws lambda描述实例超时

我有这个简单的描述实例函数,我试图通过AWS Lambda在nodejs中运行:

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';

exports.handler = function(event, context) {
    console.log("\n\nLoading handler\n\n");
    var ec2 = new AWS.EC2();
    ec2.describeInstances(function(err, data) {
        console.log("\nIn describe instances:\n");
      if (err) {
        console.log(err, err.stack); 
        context.done(null, 'Function Finished from error!');  // an error occurred
      }else {   
        console.log("\n\n" + data + "\n\n");
        context.done(null, 'Function Finished with data!');   // successful response 
      }
    });
};
Run Code Online (Sandbox Code Playgroud)

这不会给我带来任何错误,CloudWatch中唯一的输出是:

2016-03-21T17:01:59.085Z xxxxxxx-xx.... Task timed out after 3.00 seconds
Run Code Online (Sandbox Code Playgroud)

任何人都知道可能是什么问题?

timeout amazon-ec2 amazon-web-services node.js aws-lambda

13
推荐指数
2
解决办法
5162
查看次数

AWS API 网关访问私有子网

我的 VPC 中有公共和 Pvt 子网。我有一些服务在 Pvt 子网中的 EC2 上运行,需要通过外部/移动资源访问。我该怎么做 - VPCLink 和 NLB 是这样做的方式,还是其他方式,在公共子网 (??) 中创建一些访问点。Lambda 似乎是答案(现在几乎适用于 AWS 中的所有内容)——甚至不确定该访问如何对 Pvt 子网中的资源起作用。

同样的 Pvt 子网也可以访问外部资源(AWS 之外) - 如何使用 API 网关执行此操作?

不太了解 API 网关(和 Lambda)是如何相对于 VPC 和子网定位的,以及网络访问控制功能如何——它们是否可以直接访问 Pvt 子网。文档对此有些沉默,只谈论 IAM -如果有人可以解释这一点。在 Lambda 上找到了这个:AWS Lambda:如何为具有 VPC 访问权限的 lambda 函数设置 NAT 网关

文档说“API 网关允许您安全地连接……托管在 AWS 内部或外部的可公开寻址的Web 服务”。我在 Pvt 子网中的资源不可公开寻址 - 我想。

谢谢

amazon-web-services aws-vpc api-gateway

5
推荐指数
1
解决办法
8250
查看次数

AWS Lambda - NAT 网关 Internet 访问导致超时

我有一个 AWS Lambda 函数,它:

  • 检查 Redis Elasticache 实例,
  • 如果在缓存中找不到该项目,则转到 Google Places API 服务。

Redis 实例位于私有子网中;因此,为了获取它,我添加了 VPC 和实例所在的子网。我还指定了允许所有出站流量的安全组。网络 ACL 是默认的,它应该用于所有入站和出站流量。

像这样通过控制台向Lambda函数添加VPC时,提示:

当您启用 VPC 时,您的 Lambda 函数将失去默认的 Internet 访问权限。如果您的功能需要外部 Internet 访问,请确保您的安全组允许出站连接并且您的 VPC 具有 NAT 网关。

因此,在Route Table私有子网的 中,我也添加了一个NAT gateway。但是,在从 Lambda 函数进行 Google Places API 服务调用时,它总是注定会导致超时。

简而言之,我怀疑 NAT 网关是否正确允许 Lambda 函数的 Internet 访问。我怎样才能检查它出了什么问题?

NAT 网关是否会在 CloudWatch 等中以某种方式记录呼叫或尝试通过它尝试的呼叫?

nat amazon-web-services aws-lambda

3
推荐指数
1
解决办法
1140
查看次数