# @fallobst22/cdk-cross-account-route53 中文文档

规范地址：https://npmcn.com/package/%40fallobst22/cdk-cross-account-route53/

版本：0\.0\.137
npm 元数据更新时间：2026-10-31T23:22:52.904Z
中文译文更新时间：2026-11-01T03:42:58.877Z
软件包许可：Apache-2\.0

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fallobst22/cdk-cross-account-route53
原文对照：https://npmcn.com/package/%40fallobst22/cdk-cross-account-route53/?lang=original
项目主页：https://github.com/SvenKirschbaum/cdk-cross-account-route53#readme
源码仓库：https://github.com/SvenKirschbaum/cdk-cross-account-route53

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：360 kB，15 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：constructs ^10\.5\.1，aws-cdk-lib ^v2\.259\.0
- 首次发布：2023-12-21T04:02:24.166Z
- 最新版本发布：2026-10-31T23:22:52.606Z
- 已发布版本数：137（近 12 个月 51 个）

## 中文简介

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

## 安装

```sh
npm install @fallobst22/cdk-cross-account-route53
```

也可以使用：`pnpm add @fallobst22/cdk-cross-account-route53`、`yarn add @fallobst22/cdk-cross-account-route53`、`bun add @fallobst22/cdk-cross-account-route53`

## README

# AWS CDK跨帐户路由53

AWS [CDK](https://aws.amazon.com/cdk/) 定义：

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

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

## 开始

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

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

```typescript
// 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'] }],
 });
```

然后在子堆栈中创建记录

```typescript
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

### 初始化器

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

_参数_

-   **范围** 构造
-   **id** 字符串
-   **道具** CrossAccountRoute53RoleProps

### 构建道具

| 名字 | 类型 | 描述 |
| --- | --- | --- |
| roleName | `string` | 角色名称 |
| assumedBy | `iam.IPrincipal` | 允许承担角色的主体 |
| 区 | `route53.IHostedZone` | 托管分区。 |
| 记录 | `CrossAccountRoute53RolePropsRecord[]` | 该角色可以创建的记录 |

### CrossAccountRoute53RolePropsRecords

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

## CrossAccountRoute53RecordSet

### 初始化器

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

_参数_

-   **范围** 构造
-   **id** 字符串
-   **道具** CrossAccountRoute53RecordSet

### 构建道具

| 名字 | 类型 | 描述 |
| --- | --- | --- |
| delegationRoleName | `string` | 在具有托管分区的帐户中创建的角色名 |
| delegationRoleAccount | `string` | 托管区域的帐户的帐户标识符 |
| hostedZoneId | `string` | 主机分区id |
| resourceRecordSets | `Route53.ResourceRecordSets` | 要应用的更改。这些都是采用相同的格式 [ChangeResourceRecordSets行动](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ResourceRecordSet.html) |

## 发展现状

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

目前只测试了打字稿。

## 开发

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

## 常见问题

### @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 和提交记录判断。

