通过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
相关产品推荐
相关产品推荐

