【问题标题】:Assigning static IPs to auto scaled EC2 instance将静态 IP 分配给自动扩展的 EC2 实例
【发布时间】:2018-03-06 00:43:12
【问题描述】:

我们有一个需要将 EC2 实例 IP 列入白名单的第三方集成。第 3 方将其服务器上的 IP 列入白名单,然后只有 EC2 实例可以与它们通信。 在单个实例的情况下,这是可行的。 但是,当自动缩放启动时,我们最终会出现超过 1 个实例。这些新实例会自动为每个自动缩放操作获取新 IP。 我们是否可以要求 AWS 从一组 4 个预定义的弹性 IP 中分配 IP? (假设自动缩放仅限于说 4 并且我们有 4 个浮动 EIP)

我正在尝试避免网关 NAT,因为它的成本很高。

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk autoscaling elastic-ip


    【解决方案1】:

    通过自动缩放,无法直接将弹性 IP 分配给自动缩放的实例。但是,您可以考虑几个选项。

    • 实例自动缩放后,使用 AWS EC2 CLI 命令将启动脚本(例如 Linux 中的 UserData)发送到 associate 一个您已分配给您的账户的弹性 IP 地址,编写命令行脚本。请注意,您需要相应地处理运行状况检查,以便顺利进行过渡。
    • 让 CloudWatch 警报触发器执行 Lambda 函数,该函数将弹性 IP 地址与新启动的实例相关联。为此,您可以使用 AWS 开发工具包和代码检查没有 EIP 的实例并将可用的 EIP 关联到它。

    【讨论】:

      【解决方案2】:

      Auto Scaling 不会自动为实例分配弹性 IP 地址。

      您可以编写一些代码来执行此操作,并将其作为实例启动时执行的 用户数据 的一部分。它会:

      • 检索弹性 IP 地址列表
      • 查找当前未与 EC2 实例关联的实例
      • 将其与自身关联(即与运行用户数据脚本的 EC2 实例)

      【讨论】:

        【解决方案3】:

        使用 NAT 实例。与 t2.nano 相关的成本很小,您应该会发现这已经足够了。

        http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html

        虽然不如 NAT 网关可靠(您要为无需干预的可靠性和几乎无限的可扩展性付出代价),但除非底层硬件出现故障,否则您不太可能在 NAT 实例上遇到问题,您可以帮助缓解这种情况通过配置实例恢复:

        http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html

        【讨论】:

          猜你喜欢
          • 2021-08-20
          • 2013-08-25
          • 1970-01-01
          • 2012-06-16
          • 2013-10-02
          • 2016-02-14
          • 2020-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多