Lambda Vpc

Amazon Redshift
Amazon VPC
Amazon Lambda
技领云博主
0
0
> 文章作者:亚马逊云科技加油站/罗技123 Amazon Lambda 是 Amazon Web Services 提供的[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)计算服务,允许你运行代码而不需要预配置或管理服务器。当你在 Amazon Lambda 中使用 VPC,你可以确保 Lambda 函数可以访问在 VPC 内的资源,例如 RDS 数据库、ElastiCache、[EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例等。 以下是关于 Amazon Lambda 和 VPC 的一些重要概念和详细信息: 1. **Lambda 在 VPC 内的执行**:默认情况下,Lambda 函数在亚马逊云科技的管理环境中执行,并且可以直接访问公共互联网。但是,当你配置 Lambda 函数以在 VPC 内执行时,该函数无法直接访问公共互联网,只能访问 VPC 内的资源。 2. **ENI (Elastic Network Interface)**:当 Lambda 函数在 VPC 中执行时,Lambda 在背后创建一个或多个 ENI 以连接到 VPC 子网。每个 ENI 提供一个 VPC 内的 IP 地址。Lambda 使用这些 ENI 来访问 VPC 内的资源。当然在 Lambda 的子网和安全组配置一样的时候,会使用一张ENI。 3. **子网和安全组**:当你配置 Lambda 函数以在 VPC 中执行时,你需要指定至少一个 VPC 子网和一个安全组。子网决定了函数在 VPC 内的位置,而安全组则定义了网络流量规则。虽然 Lambda 函数本身不监听任何端口(因此不接受传统意义上的入站连接),但与其关联的安全组的入站规则仍然适用于 VPC 内的其他资源。例如,你可以设置一个规则,只允许特定的 [EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例访问与 Lambda 关联的 RDS 数据库。 4. **冷启动时间**:当在 VPC 中执行 Lambda 函数时,由于需要创建 ENI 以及环境运行时安装,所以函数的冷启动时间可能会增加。 5. **访问公共互联网**:Lambda 函数本身没有固定的公共 IP 地址,如果 Lambda 函数需要在 VPC 内执行并访问公共互联网(例如调用其他亚马逊云科技服务或者调用外部 API),你需要在 VPC 中设置一个 NAT 网关或 NAT 实例,并确保 Lambda 函数与能够路由到 NAT 的子网相关联。 6. **连接的资源**:一旦 Lambda 函数配置为在 VPC 中运行,它可以直接与 VPC 内的其他资源通信,例如 [Amazon RDS](https://aws.amazon.com/cn/rds/?trk=cndc-detail)、[Amazon Redshift](https://aws.amazon.com/cn/redshift/?trk=cndc-detail)、ElastiCache、[EC2](https://aws.amazon.com/cn/ec2/?trk=cndc-detail) 实例等。 7. **IAM 角色和权限**:要在 VPC 中运行 Lambda 函数,相应的 IAM 角色需要有权创建 ENI 和进行其他网络操作。 总的来说,当你需要从 Amazon Lambda 函数访问 VPC 内的资源时,将 Lambda 函数配置为在 VPC 中运行是非常有用的,但这也引入了附加的配置考虑和可能的性能影响。 [![3.png](https://dev-media.amazoncloud.cn/269a7c09a09547ca98865562ffeb85d6_3.png "3.png")](https://summit.amazoncloud.cn/2024/register.html?source=DSJAVfG2GS7gEk2Osm6kYXAa+8HnSEVdbCVjkuit7lE= )
0
目录
关闭