You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Route53通过API密钥认证访问API Gateway的健康检查端点?

解决方案:限制Route53健康检查端点的公众访问

Route53本身不支持在健康检查请求中携带API密钥,所以直接给端点加API密钥让Route53认证的方式走不通。不过可以通过两种可靠方法实现「仅允许Route53访问健康检查端点、禁止公众访问」的需求:

方法1:用API Gateway资源策略限制访问IP

Route53的健康检查请求来自AWS公布的固定IP段,你可以通过API Gateway的资源策略,仅开放这些IP段访问你的健康检查端点:

  1. 获取Route53健康检查的IP范围(AWS会定期维护更新这些公开IP段)
  2. 编写资源策略示例:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:你的区域:你的账号ID:你的API ID/阶段名/HTTP方法/健康检查路径",
      "Condition": {
        "IpAddress": {
          "aws:SourceIp": [
            "Route53健康检查IP段1",
            "Route53健康检查IP段2"
          ]
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "arn:aws:execute-api:你的区域:你的账号ID:你的API ID/阶段名/HTTP方法/健康检查路径"
    }
  ]
}
  1. 将策略附加到API Gateway或指定的健康检查资源上,完成后只有Route53的健康检查IP能访问该端点,其他公众请求会被直接拒绝。

方法2:通过AWS WAF限制访问

如果你的API Gateway已启用WAF,可以创建针对性规则:

  • 添加「IP匹配」条件,仅允许Route53健康检查的IP段通过
  • 将规则关联到健康检查端点对应的API Gateway资源
  • 不符合条件的公众请求会被WAF拦截,实现访问限制

补充说明

API密钥方案不可行的核心原因:Route53的健康检查配置界面没有提供添加自定义请求头(比如x-api-key)的选项,无法携带API密钥完成认证,因此IP限制是更直接有效的替代方案。

内容的提问来源于stack exchange,提问作者Joey Yi Zhao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 22:30:59