【问题标题】:Frequent unexpected requests logged by Rails app in EC2 - from Amazon public IP addresses - Why?EC2 中 Rails 应用程序记录的频繁意外请求 - 来自亚马逊公共 IP 地址 - 为什么?
【发布时间】:2017-02-10 17:34:56
【问题描述】:

我正在运行一个将文件写入 Amazon S3 的 Rails 应用程序。现在我将 uniqorn 作为服务器运行,并看到来自不同亚马逊 AWS IP 地址的所有大量请求。

这是我的日志文件的一部分:

Started GET "/" for 54.245.168.11 at 2016-10-02 18:30:50 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.2ms)

  Rendered layouts/_shim.html.erb (0.1ms)

  Rendered layouts/_header.html.erb (0.3ms)

Completed 200 OK in 3ms (Views: 3.0ms | ActiveRecord: 0.0ms)

Started GET "/" for 54.252.254.235 at 2016-10-02 18:30:51 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.2ms)

  Rendered layouts/_shim.html.erb (0.0ms)

  Rendered layouts/_header.html.erb (0.3ms)

Completed 200 OK in 3ms (Views: 3.0ms | ActiveRecord: 0.0ms)

Started GET "/" for 54.232.40.107 at 2016-10-02 18:30:52 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.7ms)

  Rendered layouts/_shim.html.erb (0.2ms)

  Rendered layouts/_header.html.erb (1.8ms)

Completed 200 OK in 12ms (Views: 10.6ms | ActiveRecord: 0.0ms)

Started GET "/" for 54.252.79.139 at 2016-10-02 18:30:52 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.7ms)

  Rendered layouts/_shim.html.erb (0.3ms)

  Rendered layouts/_header.html.erb (1.5ms)

Completed 200 OK in 13ms (Views: 11.6ms | ActiveRecord: 0.0ms)

Started GET "/" for 54.250.253.203 at 2016-10-02 18:30:52 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.5ms)

  Rendered layouts/_shim.html.erb (0.1ms)

  Rendered layouts/_header.html.erb (0.3ms)

Completed 200 OK in 4ms (Views: 3.2ms | ActiveRecord: 0.0ms)

Started GET "/" for 54.243.31.203 at 2016-10-02 18:30:54 +0000

Processing by StaticPagesController#home as */*

  Rendered static_pages/home.html.erb within layouts/application (0.5ms)

  Rendered layouts/_shim.html.erb (0.0ms)

  Rendered layouts/_header.html.erb (0.3ms)

Completed 200 OK in 4ms (Views: 3.5ms | ActiveRecord: 0.0ms)

我在网上找不到任何关于此的信息。我的应用程序还没有上线,所以没有人看它。 AWS 为什么要这样做?

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-s3 amazon-ec2


    【解决方案1】:

    这些是Route 53 Health Checks,这是一种不同于 Elastic Load Balancer (ELB) 中配置的健康检查类型的健康检查,也不同于 EC2 自动在每个 EC2 实例上执行的 EC2 实例健康和可达性检查。

    查看已发布的AWS IP Address Ranges,您会发现这些地址块与专门分配给 Route 53 健康检查的地址块非常匹配。

    比如这个请求……

    Started GET "/" for 54.232.40.107 at 2016-10-02 18:30:52 +0000
    

    ...匹配此条目...

    {
      "ip_prefix": "54.232.40.64/26",
      "region": "sa-east-1",
      "service": "ROUTE53_HEALTHCHECKS"
    },
    

    ...因为54.232.40.64/26 是从 54.232.40.64 到 54.232.40.127 的 IP 地址块的 CIDR 规范。

    如果您针对堆栈配置了 Route 53 运行状况检查,那么此时您可能已经有了答案。

    Route 53 运行状况检查通常用于驱动复杂 DNS 配置的逻辑,例如在地理上分布有多个候选服务器的情况下,并且您希望根据服务器的运行状况控制 DNS 返回的答案。 .. 但它们也可用于监控延迟和应用程序性能(测量 TCP 连接时间和第一个字节的时间以及可用性),绑定到 CloudWatch 警报,并用于驱动扩展和其他逻辑。如果你配置了这样的东西,问题可能就解决了。

    但如果您没有这样做,则可能是其他 AWS 用户针对他们以前使用的 IP 地址配置了健康检查,或者由于简单的错误配置了针对您的 IP 地址或主机名的检查。

    p>

    如果是这种情况,您需要检查传入请求中的请求标头。你会发现这样的东西:

    User-Agent: Amazon Route 53 Health Check Service; ref:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; report http://amzn.to/zzzzzzz
    

    有了这些值,以及其他标题和任何相关的日志条目,您可以访问您捕获的标题中提供的“报告”URL,(它与我上面显示的类似,从我的日志,但由于它似乎是通用的,但我不确定 - 我的日志中的链接将我重定向到 here)并提交请求 AWS 与您合作以消除不需要的健康检查。

    但首先,试试这个...

    在“ref:”之后立即获取值并使用此模板从中创建一个 URL:

    https://console.aws.amazon.com/route53/healthchecks/home#/details/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    (将 xxxx 替换为您的 ref:,不包括实际字符串 ref:)。

    如果运行状况检查来自您自己的 AWS 账户,并且您已登录控制台并有权查看它,那么此精心制作的链接应该会显示运行状况检查以供您查看。如果您收到“无权访问此资源”的错误消息,则运行状况检查不是来自您的 AWS 账户,或者您不是 AWS 账户的特权用户,因此可能无法查看它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2017-01-24
      • 2011-10-05
      • 1970-01-01
      • 2012-08-19
      • 2014-01-03
      • 2017-11-30
      相关资源
      最近更新 更多