Amazon Route 53 Private DNSを複数VPCに適用する

2014.11.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
今朝かた、Amazon Route 53でPrivate DNSがサポートされました。大栗が早速レポートエントリー、植木がSplit DNSのエントリーを投下していますので、Private DNSの使い方についてはこちらをご覧ください。 今回は、ちょっと応用としてRoute 53 Private DNSの関連付け(Associate)を試してみます。

Private DNS Associateとは

Route 53 Private DNSは、VPCの内部向けにプライベートなDNS情報(Private Hosted Zone)を提供します。Private Hosted Zoneの作成時にVPCを指定し1つのVPCで有効にする、1対1の関係が基本です。Private DNS Associateは、1つのHosted Zoneを複数のVPCに関連付けする機能です。

route53-private-associate01

設定自体は簡単です。Route 53のHosted Zones一覧画面から設定したいHosted Zoneを選択し、Detailsの[Associated VPC]にあるAssociate New VPCボタンをクリックします。

route53-private-associate11

対象のVPCが各リージョン別にドロップダウンリストに出てくるので、関連付けしたいVPCを選択し、Associateをクリックして完了です。

route53-private-associate12

リージョンオープンを優先させたのか、フランクフルトリージョンでは現状Pritave DNSがサポートされないことに注意しましょう。

制限・仕様

複数VPCへの関連付けを利用するにあたり、いくつかの仕様・制限を理解しておきましょう。

リージョンはまたげる

例えば、東京リージョンのVPCに加えてシンガポールリージョンのVPCに同じPrivate Hosted Zoneを関連づけることができます。

route53-private-associate02

AWSアカウントはまたげない

2016/11/16 異なるAWSアカウントのVPCに紐付けできるようになりました!こちらの記事をご参照ください。

関連付けの対象となるVPCは、Hosted Zoneを定義するAWSアカウントと同一アカウントのみのようです。特に他のアカウントへの許可設定や、APIにアカウントを指定するような項目が見当たらなかったためです。できるよ!という情報をお持ちの方は教えて下さい!

route53-private-associate03

というわけで、上記仕様・制限を踏まえてどういうケースで使えるのか、考えてみました。

ユースケース

VPC Peeringとの併用

VPCには、複数のVPC間で相互接続するVPC Peeringという機能があります。Peering先に配置しているホストの名前解決をPeering元のDNSとまとめて管理したいという場合に、今回の関連付けが便利だと思います。

route53-private-associate04

ただ、Peeringはアカウントをまたぐケースがあるので、その場合は関連付けが使えません。アカウントごとにPrivate Hosted Zoneを定義し、同じレコードを登録すると良いでしょう。レコードの同期、管理にはroadworkerというツールがとても便利なので、Private Hosted Zoneへの対応に期待しましょう!(@sgwr_dtsさん無茶振りすみません!) 2014/11/09更新: Private Hosted Zoneに対応されました!存分に活用しましょう!

マルチリージョン構成

"リージョンをまたげる"という仕様そのままですが、CloudFormationなどで複数リージョンに同一構成のシステムを並べるといったときに"DNSレコードも一括で管理したい"というニーズがあると思います。ただし、以下のケースだとリージョンを問わない一括管理が適切でない場合もありますので、リージョンごとに複数のPrivate Hosted Zoneを作るケースもあるかもしれません。

  • RDSやELBなどリージョンごとに別々に作るコンポーネントだとDNS名が一致しない
  • EC2インスタンスのPrivate IPを指定しないとリージョンごと別々に空いているPrivate IPアドレスがアサインされる

また、Private Hosted Zoneと名打っていますが登録するIPアドレスはGlobal IPでも構いません。リージョンをまたいで、システム内でデータ連携したいというときにEC2インスタンスのElastic IPやELBのDNS名をPrivate Hosted Zoneで管理するのも、ドメインの準備が必要ない利点を生かしたひとつやり方としては良いのでは、と思います。

まとめ

今一度、複数VPCにPrivate DNSを関連づける際の仕様をまとめておきます。

  • リージョンはまたげる
  • アカウントはまたげない

応用範囲が意外と広い、Route 53 Private DNS機能を皆さんもフル活用しましょう!