Ronan 向您演示如何使用 VPC 中的 Lambda 函数
连接到 Internet

ronan_internet_access_lambda_function

我想授予自己启用 VPC 的 AWS Lambda 函数以 Internet 访问权。我该如何操作?

如果您的 Lambda 函数需要访问私有 VPC 资源 (例如,Amazon RDS 数据库实例或 Amazon EC2 实例),则必须将该函数与 VPC 关联。如果您的函数还需要 Internet 访问权 (例如,为了访问 Amazon DynamoDB 等公有服务),则您的函数必须使用 NAT 网关或实例。

要将 VPC 配置添加到 Lambda 函数,您必须将其与至少一个子网相关联。如果该函数需要 Internet 访问权,则需要遵循两条规则:

  • 该函数仅应与私有子网相关联。
  • 您的 VPC 应该在公有子网中包含 NAT 网关或实例。

子网是公有还是私有取决于其路由表。每个路由表都有一个默认路由,它可决定具有公有目的地的数据包的下一跳。

  • 私有子网:指向 NAT 网关 (nat-...) 或 NAT 实例 (eni-...) 的默认路由。
  • 公有子网:指向 Internet 网关 (igw-...) 的默认路由。

如果您的 VPC 已经具有公有子网 (使用 NAT),并且 Lambda 函数具有一个或多个私有子网,则仅需要按照“配置您的函数”中的步骤操作即可。

配置您的函数

确定您的私有和公有子网:

  1. VPC 控制台中,从导航窗格中选择 子网
  2. 选择一个子网,然后选择路由表选项卡。验证默认路由:
    公有子网:目标网段:0.0.0.0/0,目标:igw-…
    私有子网:目标网段:0.0.0.0/0,目标:nat-… 或 eni-…

将函数与私有子网相关联:

  1. Lambda 控制台中,选择您的函数,然后选择配置
  2. 展开高级设置,展开 VPC,然后选择您的 VPC。
  3. 展开子网,并仅选择私有子网。
  4. 展开 Security Groups (安全组),选择一个安全组,然后选择保存

创建公有或私有子网的步骤

  1. VPC 控制台中,从导航窗格中选择 子网
  2. 要创建新子网,请选择创建子网。否则,请选择现有子网。
  3. 选择路由表选项卡,然后选择编辑
  4. Change to: (更改为:) 下拉菜单中选择一个适当的路由表:

对于私有子网,默认路由应指向 NAT 网关或 NAT 实例:

Destination: 0.0.0.0/0
Target: nat-… (or eni-…)

对于公有子网,默认路由应指向一个 Internet 网关:

Destination: 0.0.0.0/0
Target: igw-…

为公有或私有子网创建路由表的步骤

  1. VPC 控制台中,选择路由表,然后选择创建路由表
  2. 名称标签字段中,输入对您有意义的名称,选择 VPC 下拉菜单并选择您的 VPC,然后选择是,创建
  3. 选择新的路由表,然后选择路由选项卡。
  4. 选择编辑,然后选择添加其他路由
    目标网段:0.0.0.0/0
    目标:
    对于具有 NAT 实例的私有子网:eni- ...
    对于具有 NAT 网关的私有子网:nat-…
    对于公有子网:igw-…

创建 Internet 网关的步骤

  1. VPC 控制台中,从导航窗格中选择Internet 网关,然后选择创建 Internet 网关
  2. 名称标签字段中,输入一个名称,然后选择是,创建
  3. 选择 Internet 网关,然后选择附加到 VPC

创建 NAT 网关的步骤

  1. VPC 控制台中,从导航窗格中选择 NAT 网关,然后选择创建 NAT 网关
  2. 子网字段中,选择一个公有子网。
  3. 弹性 IP 分配 ID 字段中,选择一个现有弹性 IP 地址,或者选择新建 EIP,然后选择创建 NAT 网关

此页面对您有帮助吗? |

返回 AWS Support 知识中心

需要帮助? 请访问 AWS 支持中心

发布时间:2017 年 9 月 6 日