【问题标题】:what ip AWS lambda function use?ip AWS lambda 函数使用什么?
【发布时间】:2016-10-08 22:24:52
【问题描述】:

我对网络不是很好,但这是我的问题:我需要从防火墙后面的 AWS lambda 函数连接到 MySQL 服务器,并且要“白色”我的 AWS lambda,我需要知道它的 IP用途。

据我了解,它因 VPC 子网而异。对不对,如果我的 VPC 子网 CIDR 是 172.31.16.0/20,IP 可能从 172.31.16.0 到 172.31.16.254 不等?

【问题讨论】:

  • 不要使用 IP,使用安全组。 aws.amazon.com/blogs/aws/…
  • 您打算在 EC2 实例上使用 AWS RDS 或 MYSQL Server 吗?
  • 只有当您尝试连接的 MySQL 服务器也在 VPC 中时,VPC 子网才有意义。如果 MySQL 服务器也在 VPC 中,那么无论如何您都应该使用安全组而不是 IP 地址。
  • MySQL 服务器甚至不在 AWS 上;/ 那么是否有可能知道 IP?或者关于如何限制从 AWS lambda 访问 MySQL 的任何想法?
  • 如果 MySQL 服务器不在 AWS 上,请求将来自 Amazon 的公共 IP 范围,即many millions of potential IPs

标签: mysql amazon-web-services networking aws-lambda


【解决方案1】:

您有一个不在 AWS 基础设施上的 MySQL 实例。您希望通过 Lambda 函数的 IP 将对 MySQL 实例的访问限制为您的本地实例。您只能使用本地防火墙来保护实例。

由于您的用例需要从 Lambda 访问公共 Internet 上的 MySQL 实例,因此您需要配置 NAT gateway for your Lambda function to access the internet.

如果您的 Lambda 函数需要 Internet 访问...,您可以在 VPC 内配置 NAT 实例,也可以 使用 Amazon VPC NAT 网关。有关详细信息,请参阅 NAT 网关 在 Amazon VPC 用户指南中。

使用 NAT 网关配置允许您的 Lambda 请求来自 NAT 网关的固定 IP。如果您在此处为 NAT 网关分配弹性 IP 编号,则可以在防火墙上指定该 IP/端口组合,以保护对本地 SQL 实例的访问。

【讨论】:

  • “由于您的用例需要从 Lambda 到公共 Internet 上的 MySQL 实例的 Internet 访问,因此您需要为您的 Lambda 函数配置 NAT 网关以访问 Internet”并不完全正确。如果 Lambda 函数没有启用 VPC 访问,它通常可以访问 Internet。我同意启用 VPC 访问,并通过 NAT 强制互联网流量是对 Lambda 函数应用 IP 地址限制的最佳方式。
  • 当然也可以是 NAT 实例。此网关或网关是从已知的固定公共 IP 地址发起 Lambda 流量的唯一方法,该地址不是来自其他账户共享的公共 IP 地址池,所以 +1。
  • 非常感谢!这正是我所期待的!
【解决方案2】:

172.31.16.0/20 中的 IP 地址是私有的、不可路由的地址。除非您的 MySQL 服务器和防火墙在同一个 VPC 中,否则您的 Lambda 将只能通过 NAT 连接,并且将使用附加到您的 NAT 网关的弹性 IP。这是您唯一需要列入白名单的 IP 地址。

顺便说一下,对于 172.31.16.0/20 的 CIDR,您可以预期 IP 地址从 172.31.16.0 到 172.31.31.255。 20 是掩码位数,它给出了 4096 个值的范围。它映射到 255.255.240.0 的网络掩码。

【讨论】:

    猜你喜欢
    • 2019-05-08
    • 2021-09-19
    • 2015-03-17
    • 2017-05-28
    • 2011-03-16
    • 2017-06-20
    • 2016-02-19
    • 2020-10-17
    相关资源
    最近更新 更多