【问题标题】:How to assign auto elastic IP in AWS auto scaling when new instance create based on load当基于负载创建新实例时如何在 AWS Auto Scaling 中分配自动弹性 IP
【发布时间】:2022-02-10 18:30:17
【问题描述】:

我有一个基于银行支付 API 的应用程序。我已经配置了 AWS Auto Scaling 使用的应用程序负载均衡器。现在银行要求我们提供实时服务器公共 IP 以将其列入白名单以使用银行 API。现在的问题是,我如何向他们提供 IP 列表,因为当任何新服务器将根据负载在自动缩放中创建时,它不会设置预定义的弹性 IP。
那么有没有办法在新创建的服务器上自动设置弹性 IP 呢?

还有我的第二个问题,有没有办法根据主机动态保存 apache2 访问和错误日​​志文件。
我正在使用 EC2 ubuntu 20.04 和 apache 2.4 版

请帮我解决这两个问题。

【问题讨论】:

  • @AshBlake 的答案是对的。如果只想存储日志,可以运行 cronjob 上传到 s3。如果你需要一个工具来存储、过滤、搜索……你可以使用 ELK、Splunk、Loki……
  • 第二个问题:我会使用 td-agent/fluentd 将日志(压缩)发送到 s3。您可以在 s3 中使用 athena 进行搜索。它的成本更低。

标签: amazon-web-services amazon-ec2


【解决方案1】:

问题一:

将您的服务器移动到私有子网并使用NAT Gateway。

问题 2:

其他答案提到了第三方日志工具。实现此目的的原生 AWS 方法是在您的服务器上安装 CloudWatch Logs 代理。

【讨论】:

    【解决方案2】:

    您可以将您的 Auto Scaling 组放入私有子网,然后将输出流量配置为通过 NAT 网关,然后使用 NAT 的公共 IP 进行白名单。 关于输入流量,您可以在 ALB 前使用 Global Accelerator 来获得静态公共 IP。

    关于你的第二个问题,我用ELK来实现的

    【讨论】:

      【解决方案3】:
      1. 创建一些 EIP 并赋予它们相同的标签,例如“group:whitelistforPayment”。

      2. 创建一个 IAM 角色,让您的服务器可以列出 EIP 和附加 EIP。

      3. 在您的 AMI 中安装 AWS CLI 并在服务器启动时附加 IAM 角色。

      4. 准备“attachEIP”shell 脚本并将其上传到 s3。 在此脚本中,您可以使用 aws cli,例如: aws ec2 描述地址(列出 EIP ...) aws ec2 关联地址(附加 EIP)

      5. 修改用户数据。 在服务器启动时下载并运行 shell 脚本。

      【讨论】:

        猜你喜欢
        • 2018-11-01
        • 2018-10-11
        • 1970-01-01
        • 2018-03-01
        • 2015-10-08
        • 2021-11-05
        • 2016-12-25
        • 2020-01-08
        • 2018-04-25
        相关资源
        最近更新 更多