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

通过API添加Route 53 'A'别名记录失效,控制台操作正常

Route 53通过Ruby API添加S3别名记录不生效的排查与解决

核心问题:变量名错误导致记录名称不符

你代码里定义的子域名变量是subdomain = "test123",但设置记录名称时用了未定义的test1234变量,生成的记录变成了test1234.elfederle.com,和你预期的test123.elfederle.com完全不符,这是记录无法生效的直接原因。

修正后的代码

把记录名称里的错误变量替换成正确的subdomain,同时将DNS名称改成动态拼接的方式,避免硬编码出错:

subdomain = "test123"
record_set_params = {
  hosted_zone_id: "Z00962461JGQKRJ60M6MG",
  change_batch: {
    changes: [
      {
        action: 'UPSERT',
        resource_record_set: {
          alias_target: {
            evaluate_target_health: false,
            dns_name: "#{subdomain}.elfederle.com.s3-website-us-west-2.amazonaws.com",
            hosted_zone_id: 'Z3BJ6K6RIION7M',
          },
          name: "#{subdomain}.elfederle.com",
          type: 'A',
        }
      }
    ]
  }
}

额外检查点

  • 确认S3桶名和子域名完全一致(即桶名为test123.elfederle.com),这是S3静态网站绑定自定义域名的必要条件。
  • 确认Route 53的hosted_zone_id确实对应elfederle.com的托管区,避免选错托管区导致记录添加到错误域名下。

内容的提问来源于stack exchange,提问作者Édipo Féderle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:22:23