AWS Lambda - 第二部分

news2024/11/16 2:52:24

在这里插入图片描述

Hello大家好,我们今天继续讨论AWS Lambda的内容。

Lambda的网络

在这里插入图片描述

首先,我们来讨论一下Lambda的网络,联网相关的内容。

在部署Lambda时,在默认情况下,Lambda函数是部署和运行在AWS的一个安全的VPC中,是在您的VPC之外的。在这种环境下,Lambda函数是可以访问Internet 外部的API,以及通过Internet和AWS的服务进行通信,比如Lambda函数可以通过DynamoDB的公有Endpoint地址与其进行通信。

但是,注意,在这种情况下如果您有一个VPC,且在您的VPC内私有子网有一些资源,比如只能通过私有地址访问的RDS,那么在这种情况下,您的Lambda函数是无法访问到私有子网中的资源的,比如这个RDS。因为AWS的这个安全VPC和您的私有子网之间没有相关的路由。

那如何解决这个问题呢?方案就是将您的Lambda函数连接到您账户中的VPC,函数在运行时就可以访问VPC内的私有资源。

将Lambda函数连接到了VPC时,Lambda 在函数的 VPC 配置中会为VPC的每个子网和安全组组合创建一个ENI,然后通过在安全组配置相应访问规则,Lambda函数就可以通过私有子网访问RDS。

那现在还有一个问题,现在Lambda函数在VPC内,之前的外部API就无法访问了。如果需要访问外部的API,就需要通过公有子网的NAT网关或者实例,然后通过internet网关 访问外部的API。

最后,让我们看看函数如何访问DynamoDB,当然函数同样是可以通过NAT网关或者NAT实例,然后通过internet网关访问DynamoDB。但是这种方式不是通过私有网络访问的,而且我们可能需要为NAT网关/实例以及internet网关支付费用。所以这种方式是可行的,但是不是最佳实践。

最佳实践是通过创建DynamoDB的网关终端节点,然后私有子网的Lambda函数通过终端节点访问DynamoDB,这样的话访问都是通过私有网络,而不通过internet,当然前提是要您配置好相应的路由表。

好,如果在以后遇到Lambda函数部署的问题,您需要掌握上面讲的函数部署在VPC外,以及连接至VPC后,对应函数需要访问的资源,评估并确定方案 ;以及面对不同的业务场景,选择最佳的实现方案。

最后,无论您的Lambda函数是部署在VPC外还是连接到了VPC,都可以与CloudWatch Logs通信。也就是说这两种情况函数都是可以发送日志到CloudWatch Logs的。 这是AWS内部实现的,不需要我们考虑两者网络的情况。

Lambda 日志、监控以及追踪

在这里插入图片描述

好,接下来我们讨论Lambda 日志、监控以及追踪。

首先有CloudWatch,我们知道Lambda和CloudWatch服务集成,Lambda的执行日志都会发送并存储至Cloudwatch logs,而无论Lambda函数部署在您的VPC内还是VPC外。

可以通过Cloudwatch指标,查看Lambda的一些指标,如:成功调用、错误率、延迟、超时等等。

Lambda函数的日志写入Cloudwatch,需要分配函数执行角色,并添加相应的如写入Cloudwatch权限,这样才能够正常写入日志,这一点要注意。

接下来是X-Ray,X-Ray是用于分布式追踪,可以使用X-Ray来追踪Lambda函数。只需要在Lambda的配置中开启,AWS就会为您启动一个X-Ray守护进程;或者也可以在代码中使用AWS SDK添加X-Ray指针。同样,需要注意Lambda函数的执行角色要分配相应的与X-Ray访问的权限。

好的,以上就是我们今天课时的内容,我们讨论了AWS Lambda - 第二部分的内容,希望能够给大家带来帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/487396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“大运”有我丨智安网络护航大运,荣获成都市公安局感谢信!

近日,深圳市智安网络有限公司四川分公司(以下简称“智安网络”)荣幸受邀参与第31届世界大学生夏季运动会网络安全检查工作,对中和体育中心场馆安全漏洞检测进行现场技术支撑。 智安网络对此次网络安全检查工作高度重视&#xff0…

PySpark基础入门(2):RDD及其常用算子

更好的阅读体验:PySpark基础入门(2):RDD及其常用算子 - 掘金 (juejin.cn) 目录 RDD简介 RDD Coding RDD简介 RDD(Resilient Distributed Dataset),是一个弹性分布式数据集,是Sp…

带你快速入门光模块行业

一、行业介绍 光纤通信(简称光通信)是利用光导纤维传输光波信号的一种通信方式,于上世纪六七十年代由华裔科学家高锟博士等人率先提出。 光通信是以激光作为信息载体,以光纤作为传输媒介的通信方式,现已取代电通信成…

if __name__ == “__main__“: 理解

if __name__ "__main__": 是 Python 中常用的一种条件判断语句,主要作用是在当前模块作为程序入口时执行一些特定的代码,而在被其它模块引入时不执行这些特定的代码。 具体来说,当一个 Python 模块被导入时,Python 解…

关注度拉满,RSAC 2023 热门安全工具速览

RSAConference2023于当地时间4月24日在旧金山正式拉开帷幕。自上届RSAC以来,网络安全行业发生了巨大的变化,尤其是以OpenAI聊天机器人为代表的内容生成型AI的兴起,对网络防御和攻击的影响比以往任何时候都更加明显。 今年,与RSAC相…

数据结构之第十章、Java对象的比较

目录 一、PriorityQueue(堆)中插入对象 二、元素的比较 2.1基本类型的比较 2.2对象比较的问题 三、对象的比较 3.1覆写基类的equals 3.2基于Comparble接口类的比较 3.3基于比较器比较 3.4三种方式对比 3.5代码实现 四、集合框架中PriorityQu…

大型医院影像PACS系统三维重建技术(获取数据、预处理、配准、重建和可视化)

PACS(Picture Archiving and Communication System)系统作为医学图像的存储和传输平台,为医生和患者提供了便捷高效的诊疗服务支持。近年来,三维重建技术在PACS系统中的应用越来越广泛。 一、三维重建技术的基本原理 在PACS系统…

JS 中的 performance,测量web应用性能

文章目录 属性和方法performance.memory 内存performance.navigation 页面的来源信息performance.timing 时间消耗相关时间计算Performance.mark()performance.now() Web Performance API 允许网页访问某些函数来测量网页和 Web 应用程序的性能 performance 包含如下属性和方法…

Linux基础IO【软硬链接与动静态库】

✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌇前言🏙️正文1、软硬链接1.1、基本认知1.2、实现原理1.3、应用场景1.4、取消链接1.5、ACM时…

JavaWeb ( 一 ) HTTP协议

1.http协议 1.0.Web Web指的是World Wide Web,也称为万维网,是一种基于互联网的信息系统,由全球数百万个网站组成。它允许用户通过使用网页浏览器访问和交互信息,例如阅读新闻、购物、发送和接收电子邮件、社交媒体等。 Web使用…

解密.[support2022@cock.li].faust后缀勒索病毒加密的文件:拯救您的企业数据的完整指南!

引言: 您的企业数据是您业务的核心。但是,当.[support2022cock.li].faust后缀勒索病毒突袭您的系统时,您的数据将遭受沉重打击。这种恶意软件利用高级加密算法,将您的文件锁定在无法访问的状态。在这篇详细的指南中,9…

tcp/ip

这里写自定义目录标题 线程 防止阻塞 123 windows下4 https://zhuanlan.zhihu.com/p/139454200 https://www.bilibili.com/video/BV1eg411G7pW/?spm_id_from333.337.search-card.all.click&vd_sourcee7d12c9f66ab8294c87125a95510dac9 with socket.socket() as s:s.bind(…

xcode Swift Log CocoaLumberjack

参考【iOS】CocoaLumberJack日志库集成 - 简书 logging - How to capture Device Logs in iOS during Runtime into a file in Documents Directory from iPhone? - Stack Overflow GitHub - apple/swift-log: A Logging API for Swift 如何导出日志 方法一发邮件&#xf…

Vue——Elementui案例实现

需求分析: 对于上面要仿照的页面先新建一个页面组件EmpView.vue组件在views文件夹下 基本页面布局 对于上面页面的布局其实在Element当中也可以找到相应可以实现的组件, 成功找到一个符合要求的布局,直接复制粘贴到项目里面 此时页面相应的位置已经有了对应的占位单…

自动化运维工具 Ansible

目录 Puppet 自动运维工具特点: Saltstack 自动运维工具特点: Ansible 自动运维工具特点: Ansible 运维工具原理 Ansible 管理工具安装配置 Ansible 工具参数详解 Ansible ping 模块实战 Ansible command 模块实战 Ansible copy 模块实战 Ansib…

uboot第二阶段 start_armboot函数代码分析

1.1、start_armboot函数简介 这个函数整个构成了uboot启动的第二阶段。 1.2、uboot第二阶段做的事情 uboot第一阶段主要就是初始化了SoC内部的一些部件(譬如看门狗、时钟、串口…),然后初始化DDR并且完成重定位。那么,uboot的第…

数字化转型导师坚鹏:企业数字化营销能力提升

企业数字化营销能力提升 课程背景: 很多企业存在以下问题: 不清楚数字化营销对企业发展有什么影响? 不知道如何提升企业数字化营销能力? 不知道企业如何开展数字化营销工作? 课程特色: 原创企业数…

vcruntime140.dll无法继续执行代码?vcruntime140.dll如何修复?只需要3步即可

vcruntime140.dll是用于Microsoft Visual C Redistributable(可再发行组件)的一部分,它是一个动态链接库文件,包含了该软件包提供的运行库。在许多应用程序和游戏中,vcruntime140.dll文件经常被使用。如果该文件缺失或…

Tkinter正则表达式工具

文章目录 🏳️‍🌈 1. 导入tkinter和re模块🏳️‍🌈 2. 设置窗口居中🏳️‍🌈 3. 设置lable、text、button布局🏳️‍🌈 4. 设置下拉列表框🏳️‍🌈 5. 清空文…

Scrum敏捷开发和项目管理流程及工具

Scrum是全球运用最广泛的敏捷管理框架,Leangoo基于Scrum框架提供了一系列的流程和模板,可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理,单团队敏捷开发主要是针对10-15人以下,只有一…