相关疑难解决方法(0)

允许AWS Lambda访问RDS数据库

我正在尝试从AWS Lambda(Java)连接到RDS数据库.

我应该从RDS安全组规则中启用哪个IP?

amazon-web-services amazon-vpc aws-lambda aws-security-group

23
推荐指数
3
解决办法
3万
查看次数

AWS Lambda中的Python请求超时

我正在尝试从我的AWS Lambda发出http请求,但它超时了.

我的代码看起来与此类似:

import requests

def lambda_handler(event, context):
    print('Im making the request')
    request.get('http://www.google.com')
    print('I recieved the response')
Run Code Online (Sandbox Code Playgroud)

但是当我测试这个时,我会超时.

输出是

Im making the request
END RequestId: id
REPORT RequestId: id    Duration: 15003.25 ms   Billed Duration: 15000 ms   Memory Size: 128 MB Max Memory Used: 18 MB  
2016-04-08T20:33:49.951Z id Task timed out after 15.00 seconds
Run Code Online (Sandbox Code Playgroud)

所以我知道问题不是找不到请求包,而是运行我的python代码.我只想弄清楚为什么它会超时.

python amazon-web-services aws-lambda

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

AWS Lambda 从 VPC 内访问 Secrets Manager

我有一个需要与私有 VPC 中的 EC2 实例“本地”通信的 lambda。API 密钥存储在 Secrets Manager 中。

使用 Secrets Manager 提供的默认代码和必要的 IAM 角色,我可以从我的 Lambda 中的 Secrets Manager 读取 API 密钥:

# Use this code snippet in your app.
# If you need more information about configurations or implementing the sample code, visit the AWS docs:   
# https://aws.amazon.com/developers/getting-started/python/

import boto3
import base64
from botocore.exceptions import ClientError

def get_secret():

    secret_name = "MYSECRET"
    region_name = "ap-southeast-2"

    # Create a Secrets Manager client
    session = boto3.session.Session()
    client = session.client(
        service_name='secretsmanager',
        region_name=region_name …
Run Code Online (Sandbox Code Playgroud)

amazon-ec2 amazon-web-services amazon-vpc aws-lambda aws-secrets-manager

7
推荐指数
1
解决办法
4423
查看次数

外部呼叫上的Lambda函数超时

我有一个Lambda函数,我需要从中进行外部API调用.我已将Lambda函数添加到安全组,VPC和2个子网,它为我提供了以下文本:

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

我进入VPC,创建一个NAT网关(我让AWS创建一个EIP),将它附加到我的lambda函数的一个子网上.

出于调试目的,我的安全组出站功能设置为所有流量/所有目的地(0.0.0.0/0).此VPC的网络ACL也设置为此(具有5个子网,包括具有NAT网关的子网):

100 | ALL Traffic | ALL | ALL | 0.0.0.0/0 | ALLOW
Run Code Online (Sandbox Code Playgroud)

具有相同2个子网的路由表位于VPC上,0.0.0.0/0路由设置为以NAT网关为目标.

VPC上还有一个带有3个其他子网的不同路由表,0.0.0.0/0路由设置为目标Internet网关.

两个路由表都具有相同的local目标IP(VPC的IP).

我得到的错误是:

{ Error: connect ETIMEDOUT x.x.x.x:443
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: 'x.x.x.x',
port: 443 }
Run Code Online (Sandbox Code Playgroud)

我正在运行的节点代码在我的桌面节点环境中工作,POST调用在postman中工作,所以我很确定这是我的AWS配置的问题.

我一直在使用这种情况作为资源:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

amazon-web-services node.js amazon-vpc aws-lambda

4
推荐指数
1
解决办法
1088
查看次数