AWS Lambda 服务增加VPC和Python支持
发布日期:2016-7-9 20:7:13
在AWS的re:Invent 2015大会上,亚马逊网络服务重点关注对其现有服务的改善和扩展,其中就包括了AWS Lambda。自从今年早先时候AWS推出Lambda服务以来,开发人员一直都在要求拥有在VPC后设置一个Lambda集群的能力,或最起码能够为 Lambda功能配置安全组。这仅只是Lambda服务近期新增AWS功能中的一项。 对于Lambda服务的普通用户来说,在AWS虚拟私有云计算(VPC)后部署服务的功能也许并不会让他们感觉有多么兴奋。但若您正在使用Lambda来访问被限制在防火墙(例如MySQL或者其他传统的关系型数据库)后的资源,那么这是一个巨大的进步。通过把AWS Lambda置于VPC之后,当在DynamoDB中检测到数据记录发生变化时,DynamoDB流就可以触发一个AWS Lambda功能,从而自动更新Aurora数据库。这也意味着用户可以限制访问Lambda功能,所以这些功能只能在内部网络中被调用——此举增加了额外的系统安全性。 虽然大部分的现代资源并非根据IP地址范围来进行过滤的,但更老的技术是这么做的。AWS Lambda中的VPC支持允许访问密钥身份验证框架来访问IP限制的资源。Lambda可通过VPC被部署在防火墙内,从而访问传统平台;开发人员可直接通过Lambda安全地使用新的外部客户端。 针对Lambda功能的调度功能 另一项改善就是提供了调度AWS Lambda功能的能力。这使得开发人员能定期允许后台任务以取代使用任务实例或者诸如Cloud Cron之类的工具来运行脚本程序。Lambda服务还增加了它的最长运行时间至五分钟。例如,若一家公司需定期从博客网站读取RSS订阅,那么他们即可在AWS Lambda中通过触发一个自动调度功能来排队读取博客列表中的所有待读取订阅内容,从而实现这一功能。该公司即可安排主机功能每隔若干个小时从 DynamoDB读取数据,然后针对每一个博客触发Lambda函数读取订阅。 因为目前Lambda对设置了100个并发函数调用的限制,该公司就需首先对这些调用进行排队处理。但一旦AWS取消了这一限制,那么用户即可通过主机调度函数触发这些调用。 使用MySQL、Lambda和浏览器应用程序 若开发人员正在使用Lambda 服务、AWS SDK及Java脚本程序来开发无服务器的网络应用程序,使用DynamoDB作为后端数据库,那么就不应该有任何问题。但为了使用一个诸如 MySQL或者Amazon Aurora这样的关系型数据库,可以创建一个桥型应用程序或打开RDS MySQL实例。这可打开MySQL,一个用于实现零日漏洞的臭名昭著目标以防进一步的攻击。通常情况下,在一个开发端口上运行MySQL实例是一个糟糕的安全措施。 但运行Lambda服务是一个伟大的方法,它去除了一个后端,用户就不需编写验证MySQL的中间层,并为在Lambda外进行访问提供了一个安全的方法。幸运的是,将Lambda功能置于VPC中可以让开发人员配置安全组并确保MySQL集群只使用特定Lambda功能。此举可显著减少曝光并确保 MySQL实例得到合适保护。确保只有授权用户能访问Lambda功能仍然是十分重要的,但非常幸运使用亚马逊Cognito和IAM角色可非常容易地确保其安全性。 支持Python AWS Lambda目前支持Python,若你正在现有环境中使用Python,那么这一点是十分重要的。但这也暗示AWS将在未来增加对额外编程语言的支持——甚至也许是对Docker的支持。 上一条: 是什么让容器扩容那么难的?
|