跳至內容

如何將 Route 53 私有託管區域與不同帳戶中的 VPC 建立關聯?

2 分的閱讀內容
0

我想要將 Amazon Route 53 私有託管區域與屬於不同 AWS 帳戶的 Amazon Virtual Private Cloud (Amazon VPC) 建立關聯。

簡短描述

若要將 Route 53 私有託管區域與另一個帳戶中的 Amazon VPC 建立關聯,請從擁有該託管區域的帳戶授權此關聯。然後,從擁有 Amazon VPC 的帳戶建立關聯。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

先決條件:

  • 能存取這兩個帳戶。
  • 每個帳戶中都有一個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,或是在本機電腦上安裝 AWS CLI,並具備兩個帳戶的憑證。
  • AWS Identity and Access Management (IAM) 權限,用於管理帳戶 A 中的 Route 53 並將 VPC 與帳戶 B 中的託管區域建立關聯。

以下解決方案使用帳戶 A 中的 EC2 執行個體和帳戶 B 中的 EC2 執行個體。帳戶 A 是具有託管區域的帳戶,帳戶 B 是具有 VPC 的帳戶。

在帳戶 A 中授權關聯

請完成下列步驟:

  1. 連線到執行個體,或為帳戶 A 設定 AWS CLI 憑證

  2. 設定 AWS CLI,以使用具有 Route 53 存取權的 IAM 使用者憑證。

  3. 在執行個體中,執行 list-hosted-zones 命令以列出您的託管區域:

    aws route53 list-hosted-zones

    **注意:**從命令的輸出中,記下您想要關聯的託管區域 ID。

  4. 在執行個體中,執行 list-vpc-association-authorizations 命令以檢查現有的 Amazon VPC 關聯授權:

    aws route53 list-vpc-association-authorizations --hosted-zone-id hosted-zone-id

    **注意:**上述命令的輸出會列出可與您的私有託管區域關聯之其他帳戶的 VPC。列出的帳戶是您提交了 CreateVPCAssociationAuthorization 請求的帳戶。

  5. 如果帳戶 B 中的 VPC 未列出,請執行 create-vpc-association-authorization 命令在帳戶 A 中建立授權:

    aws route53 create-vpc-association-authorization --hosted-zone-id hosted-zone-id --vpc VPCRegion=region,VPCId=vpc-id --region us-east-1

    **注意:**將 hosted-zone-id 替換為您的託管區域的 ID,將 region 替換為您的 VPC 所在的 AWS 區域,並將 VPC Id 替換為您 VPC 的 ID。如果您所在的區域不是 us-east-1,或您的憑證與 us-east-1 以外的區域相關聯,請包含 --region us-east-1

在帳戶 B 中建立關聯

請完成下列步驟:

  1. 連線到執行個體,或為帳戶 B 設定 AWS CLI 憑證

  2. 若要建立關聯,請執行 associate-vpc-with-hosted-zone 命令:

    aws route53 associate-vpc-with-hosted-zone --hosted-zone-id hosted-zone-id --vpc VPCRegion=region,VPCId=vpc-id --region us-east-1

    **注意:**若要執行上述命令,請使用具有 AssociateVPCWithHostedZoneDescribeVpcs API 權限的 IAM 使用者或角色。另外,將 hosted-zone-id 替換為您的託管區域的 ID,將 region 替換為您的 VPC 所在的 AWS 區域,並將 VPC Id 替換為您 VPC 的 ID。如果您所在的區域不是 us-east-1,或您的憑證與 us-east-1 以外的區域關聯,請新增 --region us-east-1

關聯狀態可能會顯示為擱置中,因為 VPC 無法使用私有託管區域執行 DNS 解析。可能需要幾分鐘的時間才能完成關聯並傳播變更。

刪除關聯授權

建立關聯後,最佳做法是刪除關聯授權,以免重新建立相同的關聯。

若要刪除授權,請重新連線到帳戶 A 中的執行個體,然後執行 delete-vpc-association-authorization 命令:

aws route53 delete-vpc-association-authorization --hosted-zone-id hosted-zone-id  --vpc VPCRegion=region,VPCId=vpc-id --region us-east-1

**注意:**將 hosted-zone-id 替換為您的託管區域的 ID,將 region 替換為您的 VPC 所在的 AWS 區域,並將 VPC Id 替換為您 VPC 的 ID。如果您所在的區域不是 us-east-1,或您的憑證與 us-east-1 以外的區域關聯,請新增 --region us-east-1

確認關聯

若要確認 VPC 是否已成功關聯至私有託管區域,請完成下列步驟:

  1. 開啟 Route 53 console (Route 53 主控台)。
  2. 選取您的私有託管區域網域。
  3. Hosted zone details (託管區域詳細資訊) 區段中,確認是否顯示了帳戶 B 的 VPC ID。

完成關聯後,帳戶 B VPC 中的執行個體可以解析帳戶 A 私有託管區域中的記錄。

相關資訊

使用私有託管區域

為 Amazon Route 53 使用身分型政策 (IAM 政策)