@fallobst22/cdk-cross-account-route53

中文文档
0.0.137发布于 2026/11/01Apache-2.0TypeScriptCommonJS零依赖构建来源已验证

CDK构造允许在不同的帐户中创建Route 53记录

中文使用文档
文档目录10 节
  1. 开始
  2. CrossAccountRoute53Role
  3. 初始化器
  4. 构建道具
  5. CrossAccountRoute53RolePropsRecords
  6. CrossAccountRoute53RecordSet
  7. 初始化器
  8. 构建道具
  9. 发展现状
  10. 开发

AWS CDK跨帐户路由53

AWS CDK 定义:

  • IAM角色,用于允许Route53记录的离散更改
  • 跨帐户记录构造用于创建Route53跨帐户Route53记录

这些构造允许您创建Route53记录,其中区域存在于Cloudformation Stack的单独AWS帐户中。

开始

yarn add @fallobst22/cdk-cross-account-route53

首先在堆栈中为包含托管区域的AWS帐户创建角色。

// DNS Stack
const zone = new route53.PublicHostedZone(this, 'HostedZone', {
  zoneName: 'example.com',
});

new CrossAccountRoute53Role(this, 'WebRoute53Role', {
  roleName: 'WebRoute53Role',
  assumedBy: new iam.AccountPrincipal('22222222'), // Web Stack Account
  zone,
  records: [{ domains: ['www.example.com'] }],
 });

然后在子堆栈中创建记录

const hostedZoneId = 'Z12345'; // ID of the zone in the other account

const distribution = new cloudfront.Distribution(this, 'Distribution', {
  domainNames: ['example.com'],
});

new CrossAccountRoute53RecordSet(this, 'ARecord', {
  delegationRoleName: 'WebRoute53Role',
  delegationRoleAccount: '111111111', // The account that contains the zone and role
  hostedZoneId,
  resourceRecordSets: [{
    Name: `example.com`,
    Type: 'A',
    AliasTarget: {
      DNSName: distribution.distributionDomainName,
      HostedZoneId: 'Z2FDTNDATAQYW2', // Cloudfront Hosted Zone Id
      EvaluateTargetHealth: false,
    },
  }],
});

CrossAccountRoute53Role

初始化器

new CrossAccountRoute53Role(scope: Construct, id: string, props: CrossAccountRoute53RoleProps)

参数

  • 范围 构造
  • id 字符串
  • 道具 CrossAccountRoute53RoleProps

构建道具

名字类型描述
roleNamestring角色名称
assumedByiam.IPrincipal允许承担角色的主体
区route53.IHostedZone托管分区。
记录CrossAccountRoute53RolePropsRecord[]该角色可以创建的记录

CrossAccountRoute53RolePropsRecords

名字类型描述
域名string | string[]可以创建或更改的记录的名称
类型route53.RecordType[]可以创建的记录类型。默认的 ['A', 'AAAA']
行动'CREATE' | 'UPSERT' | 'DELETE'允许的操作。默认的 ['CREATE', 'UPSERT', 'DELETE']

CrossAccountRoute53RecordSet

初始化器

new CrossAccountRoute53RecordSet(scope: Construct, id: string, props: CrossAccountRoute53RecordSetProps)

参数

  • 范围 构造
  • id 字符串
  • 道具 CrossAccountRoute53RecordSet

构建道具

名字类型描述
delegationRoleNamestring在具有托管分区的帐户中创建的角色名
delegationRoleAccountstring托管区域的帐户的帐户标识符
hostedZoneIdstring主机分区id
resourceRecordSetsRoute53.ResourceRecordSets要应用的更改。这些都是采用相同的格式 ChangeResourceRecordSets行动

发展现状

这些结构将保留 v0.x.x 有一段时间,允许更容易的bug修复和破坏性的变化 如果绝对需要的话. 一旦bug被修复(如果有的话),这些构造将被发布 v1 主版本,并将标记为稳定。

目前只测试了打字稿。

开发

  • npm run build 将typescript编译为js
  • npm run watch 注意更改并编译
  • npm run test 执行jest单元测试

版本与发布记录

@fallobst22/cdk-cross-account-route53 共发布 137 个版本,首次发布于 2023/12/21;过去 12 个月发布了 51 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.137latest2026/11/012 天前
0.0.1362026/10/259 天前
0.0.1352026/10/1816 天前
0.0.1342026/10/1123 天前
0.0.1332026/10/0430 天前
0.0.1322026/09/271 个月前

关于 @fallobst22/cdk-cross-account-route53 的常见问题

@fallobst22/cdk-cross-account-route53 是什么?

CDK构造允许在不同的帐户中创建Route 53记录

如何安装 @fallobst22/cdk-cross-account-route53?

在项目目录运行 npm install @fallobst22/cdk-cross-account-route53,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:constructs(^10.5.1)、aws-cdk-lib(^v2.259.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@fallobst22/cdk-cross-account-route53 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fallobst22/cdk-cross-account-route53 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@fallobst22/cdk-cross-account-route53 可以商用吗?

@fallobst22/cdk-cross-account-route53 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@fallobst22/cdk-cross-account-route53 还在维护吗?

最新版本 0.0.137 发布于 2026/11/01(2 天前);至今共发布 137 个版本,其中过去 12 个月发布了 51 个;首次发布于 2023/12/21。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。