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

2 分的閱讀內容
0

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

解決方法

在下列解決方法中,使用下列其中一個選項來執行命令:

  • 選項 1: AWS Command Line Interface (AWS CLI)。解決方法使用兩個範例 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,一個位於帳戶 A,另一個位於帳戶 B。如果您沒有兩個 Amazon EC2 執行個體或無權啟動新的 EC2 執行個體,請在本機電腦上使用 AWS CLI。使用來自兩個帳戶的正確 AWS Identity and Access Management (IAM) 憑證。如需詳細資訊,請參閱使用 IAM Identity Center 啟動的具名設定檔
    **注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確認您使用的是最新版本的 AWS CLI
  • 選項 2: AWS CloudShell (無需安裝 AWS CLI)。

**注意:**您也可以在此程序中使用 AWS SDK 或 Route 53 API

1.    連線到帳戶 A 中的 EC2 執行個體。

2.    如果使用 AWS CLI,請執行下列命令來更新 AWS CLI 版本。將 AWS CLI 設定為使用具有路由 53 存取權的 AWS Identity and Access Management (IAM) 使用者的憑證。

pip3 install awscli --upgrade --user

3.    在帳戶 A 的 EC2 執行個體中,執行下列命令以列出可用的託管區域。請記下您要與帳戶 B 建立關聯的帳戶 A 中的託管區域 ID。

aws route53 list-hosted-zones

4.    在帳戶 A 的 EC2 執行個體中,執行下列命令。命令輸出會列出您可以和私人託管區域建立關聯的其他帳戶的 VPC。命令輸出中列出的帳戶是您為其提交了一個或多個 CreateVPCAssociationAuthorization 要求的帳戶。

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

**注意:**如果帳戶 B 中的 VPC 未出現在 VPC 關聯授權清單中,請繼續執行步驟 5。如果它確實出現在清單中,則繼續執行步驟 6。

5.    在帳戶 A 的 EC2 執行個體中,執行下列命令。此命令會授權帳戶 A 中的私人託管區域與帳戶 B 中的 VPC 之間的關聯。在下列命令中,使用您在上一個步驟中取得的託管區域 ID。使用帳戶 B 中的 AWS 區域和 VPC ID。

注意: 如果下列其中一種情況成立,則在命令中使用**--region**:

  • 您正在從不同區域的 EC2 執行個體執行命令。
  • 使用者的憑證與 us-east-1 以外的區域相關聯。
aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> --vpc VPCRegion=<region>,VPCId=<vpc-id> --region us-east-1

6.    連線到帳戶 B 中的 EC2 執行個體。

7.    在帳戶 B 的 EC2 執行個體中,執行下列命令。此命令會建立帳戶 A 中的私人託管區域與帳戶 B 中的 VPC 之間的關聯。使用步驟 3 中的託管區域 ID。使用帳戶 B 中的 VPC 區域和 ID。

注意: 使用具有 AssociateVPCWithHostedZoneDescribeVpcs API 權限的 IAM 使用者或角色,在帳戶 B 中執行下列命令。

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

**注意:**範例輸出可能會顯示 PENDING 狀態。發生這種情況是因為 VPC 無法使用私人託管區域執行 DNS 解析。私人託管區域可能需要幾分鐘才能與 VPC 產生關聯並傳播變更。/p >

8.    建立關聯後刪除關聯授權是最佳作法。此步驟可防止您稍後重新建立相同的關聯。若要刪除授權,請重新連線至帳戶 A 中的 EC2 執行個體,然後執行下列命令:

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

9.    完成下列步驟以確認 VPC 與私人託管區域的關聯:

開啟 Route 53 主控台

選取私人託管區域網域名稱。

驗證帳戶 B 託管區域詳細資料的 VPC ID。

帳戶 B 的 VPC 中的 EC2 執行個體現在可以解析帳戶 A 中私人託管區域中的記錄。

相關資訊

使用私人託管區域

AWS 官方
AWS 官方已更新 1 年前