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

使用AWS SDK创建CNAME记录遇InvalidInputException问题求助

解决AWS Route53 SDK创建CNAME记录的InvalidInput错误

嘿,我一眼就找到问题根源啦!你遇到的InvalidInputException主要是因为两个关键问题:

  • 缺少CNAME记录的目标地址配置:控制台创建时你肯定填写了跳转域名,但代码里完全没指定这个核心参数
  • 变量名不一致(潜在笔误):你定义的Hosted Zone ID变量是QA_HOSTED_ZONE_ID,但代码里用的是HOSTED_ZONE_ID,如果这不是故意的,会导致用错Zone ID

修正后的完整代码

private static final String QA_HOSTED_ZONE_ID = "UUIDFromConsole";

GetHostedZoneRequest getHostedZoneRequest = new GetHostedZoneRequest(QA_HOSTED_ZONE_ID);
GetHostedZoneResult result = route53Client.getHostedZone(getHostedZoneRequest);

ResourceRecordSet resourceRecordSet = new ResourceRecordSet("DN4TheRecordSet", RRType.CNAME);

// 配置CNAME目标地址(必须添加!)
List<ResourceRecord> resourceRecords = new ArrayList<>();
resourceRecords.add(new ResourceRecord("your-target-domain.com.")); // 注意末尾的点号,Route53要求全限定域名
resourceRecordSet.setResourceRecords(resourceRecords);

GeoLocation geoLocation = new GeoLocation();
geoLocation.setContinentCode("NA");
geoLocation.setSubdivisionCode("NY");
resourceRecordSet.setGeoLocation(geoLocation);

resourceRecordSet.setTTL(50L);
resourceRecordSet.setSetIdentifier("uniqueid-statecode");

Change addStateChange = new Change(ChangeAction.CREATE, resourceRecordSet);
ChangeBatch changeBatch = new ChangeBatch(Arrays.asList(addStateChange));

ChangeResourceRecordSetsRequest changeResourceRecordSetsRequest = new ChangeResourceRecordSetsRequest()
        .withHostedZoneId(QA_HOSTED_ZONE_ID) // 修正变量名
        .withChangeBatch(changeBatch);

route53Client.changeResourceRecordSets(changeResourceRecordSetsRequest);

关键注意事项

  1. CNAME目标地址必须带末尾点号:Route53要求使用全限定域名(FQDN),所以目标域名最后要加.,比如your-target-domain.com.,如果不加,Route53会自动拼接当前Hosted Zone的域名,可能导致不符合预期的解析。
  2. 确认IAM权限:确保你的SDK使用的IAM角色拥有route53:ChangeResourceRecordSets权限,虽然控制台能操作,但SDK角色权限可能有差异。
  3. SetIdentifier唯一性:因为你用了GeoLocation配置,属于加权/地理路由记录,SetIdentifier在同一条记录集中必须唯一,这点你当前的配置是没问题的。

内容的提问来源于stack exchange,提问作者Norbert

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:52:37