Amazon web services 在EC2执行之前记录API网关事件
我们正在与AWS合作,希望将所有从API网关传入的http请求全部记录到EC2框中,即不截断为1024字节。正如我们所知,API网关的日志记录是不可配置的,我们的下一个想法是在API网关和EC2之间放置一个lambda,它将拦截请求,将它们记录到S3,然后将请求转发到EC2 我的问题有两个: 如何手动向EC2实例提交API网关“事件”?我已经阅读了boto3文档,但似乎没有一种开箱即用的好方法 这是一种完整记录请求的逻辑方法,还是我们缺少lambda->ec2之间的内置连接器,或者是一般的请求记录Amazon web services 在EC2执行之前记录API网关事件,amazon-web-services,amazon-ec2,boto3,Amazon Web Services,Amazon Ec2,Boto3,我们正在与AWS合作,希望将所有从API网关传入的http请求全部记录到EC2框中,即不截断为1024字节。正如我们所知,API网关的日志记录是不可配置的,我们的下一个想法是在API网关和EC2之间放置一个lambda,它将拦截请求,将它们记录到S3,然后将请求转发到EC2 我的问题有两个: 如何手动向EC2实例提交API网关“事件”?我已经阅读了boto3文档,但似乎没有一种开箱即用的好方法 这是一种完整记录请求的逻辑方法,还是我们缺少lambda->ec2之间的内置连接器,或者是一般的请求记
def lambda_handler(event, context):
#pass event to the ec2
#log event (done)
#return response
您可以为API网关启用CloudWatch日志记录。通过启用,您可以在cloud watch中找到请求的日志 创建一个IAM角色,该角色为API网关授予向cloud watch写入日志的权限 将IAM角色设置为API 设置所需的日志级别信息/错误 您还可以选择记录完整的请求/响应 要启用访问日志,还需要创建日志组并提供arn。 详细步骤可在以下参考资料中找到 希望这有帮助 参考:
我很想知道为什么您决定将API网关日志写入EC2。如果您成功地启用了iTunes,您可以配置API网关将日志写入cloud watch,我们在中遇到了记录的问题。无论选择1kb的选项,请求主体都会被截断。我们不可能将呼叫分步到1KB以下。感谢您的关注!抱歉,我现在明白了。