Amazon Route 53 プライベートホストゾーンを別の AWS アカウントに属する Amazon Virtual Private Cloud (Amazon VPC) に関連付けたいです。
簡単な説明
Route 53 プライベートホストゾーンを別のアカウントの Amazon VPC に関連付けるには、そのホストゾーンを所有するアカウントで関連付けを許可します。次に、Amazon VPC を所有するアカウントで関連付けを作成します。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
前提条件
- 両方のアカウントにアクセスできること。
- 両方のアカウントに Amazon Elastic Compute Cloud (Amazon EC2) インスタンスがあるか、両方のアカウントに対する認証情報を持つ AWS CLI をローカルマシンで使用できること。
- アカウント A の Route 53 を管理し、VPC をアカウント B のホストゾーンに関連付けることができる AWS Identity and Access Management (IAM) アクセス許可。
次の解決策では、アカウント A 内の EC2 インスタンスとアカウント B 内の EC2 インスタンスを使用します。アカウント A はホストゾーンを所有するアカウント、アカウント B は VPC を所有するアカウントです。
アカウント A で関連付けを承認する
次の手順を実行します。
-
インスタンスに接続するか、アカウント A に対する AWS CLI 認証情報を設定します。
-
AWS CLI で設定を行い、Route 53 にアクセスできる IAM ユーザーの認証情報を使用するようにします。
-
インスタンスで list-hosted-zones コマンドを実行してホストゾーンを一覧表示します。
aws route53 list-hosted-zones
注: コマンドの出力に表示される、関連付けるホストゾーンの ID を書き留めます。
-
インスタンスで list-vpc-association-authorizations コマンドを実行し、既存の Amazon VPC 関連付けの認証を確認します。
aws route53 list-vpc-association-authorizations --hosted-zone-id hosted-zone-id
注: 上記のコマンド出力には、プライベートホストゾーンに関連付けることができる、他のアカウント内の VPC が一覧表示されます。表示されるアカウントは、CreateVPCAssociationAuthorization リクエストを送信した先のアカウントです。
-
アカウント 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 を配置したリージョンに、VPC Id を VPC の ID に置き換えてください。現在のリージョンが us-east-1 以外であるか、認証情報が us-east-1 以外のリージョンに関連付けられている場合は、--region us-east-1 を指定してください。
アカウント B で関連付けを作成する
次の手順を実行します。
-
インスタンスに接続するか、アカウント B に対する AWS CLI 認証情報を設定します。
-
関連付けを作成するには、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
注: 上記のコマンドを実行するには、AssociateVPCWithHostedZone および DescribeVpcs 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 解決を実行できないため、関連付けのステータスが PENDING と表示される可能性があります。関連付けが完了し、変更が反映されるまでには数分かかることがあります。
関連付けの承認を削除する
関連付けを作成した後には、同じ関連付けを再作成することを避けるために、関連付けの承認を削除することをおすすめします。
承認を削除するには、アカウント 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 を配置したリージョンに、VPC Id を VPC の ID に置き換えてください。現在のリージョンが us-east-1 以外であるか、認証情報が us-east-1 以外のリージョンに関連付けられている場合は、--region us-east-1 を指定してください。
関連付けを検証する
VPC がプライベートホストゾーンに関連付けられていることを確認するには、次の手順を実行します。
- Route 53 コンソールを開きます。
- プライベートホストゾーンのドメインを選択します。
- アカウント B内 の VPC の ID が [ホストゾーンの詳細] セクションに表示されることを確認します。
関連付けが完了すると、アカウント B の VPC 内のインスタンスは、アカウント A のプライベートホストゾーンのレコードを解決できるようになります。
関連情報
プライベートホストゾーンを使用する
Amazon Route 53 で ID ベースのポリシー (IAM ポリシー) を使用する