【Route53】プライベートホストゾーンを他のAWSアカウントのVPCに関連付ける方法

記事タイトルとURLをコピーする

こんにちは!イーゴリです。

今回は、下記の構成図のように、AWSアカウントAのRoute 53プライベートホストゾーンと、アカウントBのVPCを関連付ける方法をご紹介します。

前提条件

対象のVPCでは、enableDnsHostnames と enableDnsSupport を有効(true)に設定しておく必要があります。

Amazon VPC の設定 プライベートホストゾーンを使用するには、次の Amazon VPC 設定で true を指定する必要があります:
・enableDnsHostnames
・enableDnsSupport

docs.aws.amazon.com

手順

下記の制約があるため、AWS CLIを使います。

VPC とプライベートホストゾーンの関連付けを許可する場合や、関連付けを作成する場合はいずれも、Route 53 コンソールを使用することはできません。

docs.aws.amazon.com

変更前の確認(アカウントA)

コマンド:

aws route53 get-hosted-zone --id Z06263833MIV466 

出力結果:

{
    "HostedZone": {
        "Id": "/hostedzone/Z06263833MIV466",
        "Name": "license-manager-user-subscriptions-license-server.amazon.com.",
        "CallerReference": "1733199117",
        "Config": {
            "PrivateZone": true
        },
        "ResourceRecordSetCount": 4
    },
    "VPCs": [
        {
            "VPCRegion": "ap-northeast-1",
            "VPCId": "vpc-07d12d2e135d"
        }
    ]
}

VPCの関連付け(アカウントA)

コマンド:

aws route53 create-vpc-association-authorization \
--hosted-zone-id Z06263833MIV466 \         
--vpc VPCRegion=ap-northeast-1,VPCId=vpc-0e6632f68337

出力結果:

{
    "HostedZoneId": "Z06263833MIV466",
    "VPC": {
        "VPCRegion": "ap-northeast-1",
        "VPCId": "vpc-0e6632f68337"
    }
}

認証リクエストの送信(アカウントB)

コマンド:

aws route53 associate-vpc-with-hosted-zone \
--hosted-zone-id Z06263833MIV466 \
--vpc VPCRegion=ap-northeast-1,VPCId=vpc-0e6632f68337

出力結果:

{
    "ChangeInfo": {
        "Id": "/change/C08098311XQ2BR3",
        "Status": "PENDING",
        "SubmittedAt": "2025-04-08T03:23:52.622000+00:00",
        "Comment": ""
    }
}

変更後の確認(アカウントA)

コマンド:

aws route53 get-hosted-zone --id Z06263833MIV466 

出力結果:

{
    "HostedZone": {
        "Id": "/hostedzone/Z06263833MIV466",
        "Name": "license-manager-user-subscriptions-license-server.amazon.com.",
        "CallerReference": "1733199117",
        "Config": {
            "PrivateZone": true
        },
        "ResourceRecordSetCount": 4
    },
    "VPCs": [
        {
            "VPCRegion": "ap-northeast-1",
            "VPCId": "vpc-07d12d2e135d"
        },
        {
            "VPCRegion": "ap-northeast-1",
            "VPCId": "vpc-0e6632f68337"
        }
    ]
}

動作確認

アカウントBにあるEC2から下記のコマンドを実行します。

例:

dig <対象レコード.ドメイン名>

コマンド:

dig test.license-manager-user-subscriptions-license-server.amazon.com

出力結果:

; <<>> DiG 9.18.33 <<>> test.license-manager-user-subscriptions-license-server.amazon.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2672
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test.license-manager-user-subscriptions-license-server.amazon.com. IN A

;; ANSWER SECTION:
test.license-manager-user-subscriptions-license-server.amazon.com. 300 IN A 192.168.1.1

;; Query time: 0 msec
;; SERVER: 192.168.0.2#53(192.168.0.2) (UDP)
;; WHEN: Tue Apr 08 08:22:20 UTC 2025
;; MSG SIZE  rcvd: 110

上記の結果にテストレコードが表示されているため、問題ありません。

注意点

今回は、AWSアカウント間でのRoute 53のVPC関連付け方法をご紹介しましたが、この設定だけではアカウント間のネットワーク通信は行われません。 必要に応じて、VPCピアリングやTransit Gatewayなどのネットワーク接続を構成してください。

以上、御一読ありがとうございました。

本田 イーゴリ (記事一覧)

カスタマーサクセス部

・2024 Japan AWS Top Engineers (Security)
・AWS SAP, DOP, SCS, DBS, SAA, DVA, CLF
・Azure AZ-900
・EC-Council CCSE

趣味:日本国内旅行(47都道府県制覇)・ドライブ・音楽