为了禁止 Lambda 直接从公网访问,您可以执行以下步骤:

  1. 更新 Lambda 函数的策略
  • 登录 AWS 控制台,导航至 Lambda 服务。
  • 找到需要修改的 Lambda 函数,并进入其配置页面。
  • 在函数配置页面,找到与 Lambda 函数关联的执行角色 (Execution Role)。
  • 在 IAM 控制台中,找到该执行角色的权限策略。
  • 修改策略,删除不必要的权限或添加适当的条件,以确保只有授权的实体可以调用 Lambda 函数。
  1. 添加 API Gateway 触发器
  • 在 API Gateway 服务中创建一个新的 API,作为 Lambda 函数的入口点。
  • 定义 API 的端点和资源结构,以匹配 Lambda 函数的预期请求路径。
  • 创建一个集成,将 API 与 Lambda 函数关联。
  • 部署 API,使其可公开访问。
  1. 配置 Route 53
  • 登录 AWS 控制台,导航至 Route 53 服务。
  • 添加一个新的 DNS 记录,将您的域名映射到 API Gateway 提供的端点。
  1. 添加 CDN 进行内容分发
  • 在 AWS CloudFront 服务中创建一个新的分发 (Distribution)。
  • 配置分发,将 API Gateway 提供的端点作为源,并设置适当的缓存行为。
  • 将 CDN 分发的域名与您的域名关联起来。
  1. 更新 Lambda 函数的策略以允许 CDN 请求
  • 回到 Lambda 函数的权限策略,更新以允许来自 CDN 的请求调用 Lambda 函数。

通过以上步骤,您可以实现 Lambda 禁止直接从公网访问,并通过 API Gateway、Route 53、CDN 提供安全可靠的服务。