Route53 Resolverを使う際気をつけたいこと
会社で,あるサービスをオンプレからAWSへ移行する際,Direct Connect(DX)を張って移行した.その際AWS環境からオンプレにある外部に公開していないDNSサーバへ名前解決する必要があったのでRoute53 Resolverを使用した.Route53 Resolverを使ってみて2つほど注意したいことがあったのでメモとして残しておこうと思う.
Route53 Resolver
Route53 Resolverとは,オンプレとVPCがDXやVPNで繋がっている環境で,オンプレからRoute53のプライベートホストゾーンへアクセスさせたり,逆にVPC内からオンプレの外部に公開していないDNSサーバへアクセスさせたい時に利用するサービスである.両アクセスはRoute53 Resolverによって作成されるエンドポイントを経由してそれぞれの権威サーバへアクセスが行われる.詳しい設定は以下のブログが参考になる.
サブドメインの柔軟な名前解決が難しい
1つめの注意すべきことだが,タイトルだけでは何を言っているか分かりにくいと思う.
例として,Route53 Resolverを使ってAWS環境からオンプレのDNS(example.com
)に名前解決する場合を考えてみる.example.com
ドメインのRoute53 Resolverを作成すると,example.com
およびそのサブドメインはすべてオンプレのDNSに名前解決するようになる.
ここで,aaa.example.com
の名前解決だけオンプレのDNSではなくRoute53に向けたい場合を考えると,example.com
のサブドメインもすべてオンプレのDNSへ名前解決しにいくので一筋縄ではいかない.この場合,オンプレDNS側でaaa.example.com
はRoute53へ向けるNSレコードなどを追加して対応する必要があると思う.
では逆に,aaa.example.com
の名前解決だけオンプレのDNSへ向けたい場合を考えると,これは単純にaaa.example.com
ドメインのRoute53 Resolverを作成すればよいことになる.
要するにここで注意したいのは,Route53 Resolver作成時に設定するドメインとそのサブドメインはもれなく指定したDNSへ名前解決されてしまう点である.
さらに補足すると,example.com
ドメインとaaa.example.com
ドメインのそれぞれでRoute53 Resolverを作成することができる.その場合はaaa.example.com
ドメインおよびそのサブドメインの名前解決はaaa.example.com
ドメインで作成したRoute53 Resolverを経由する.それ以外のexample.com
ドメインおよびそのサブドメインはexample.com
ドメインで作成したRoute53 Resolverを経由する.つまり,最長一致のような動きをする.ただし,Route53 Resolverで設定するDNSにRoute53は指定できない.
コストに注意
Route53のトラフィックフローなど他のRoute53の機能もそうなのだが,Route53の料金体系として設置しているだけでコストがかかるタイプが多い.Route53 Resolverの場合,設置するだけで一時間0.125USD
なので一ヶ月で90USD
かかる.そして,この90USD
はElastic Network Interface(ENI)ごとにかかり,Route53 ResolverではDNSクエリに対して最低でも2つのIPアドレス(ENI)を必要とするので,設置するだけで一ヶ月180USD
(90USD*2)かかる.さらに,通信量が上乗せされていくのでRoute53 Resolverを使う際は設置コストも頭に入れておくとよいかもしれない.
まとめ
- Route53 Resolverで気をつけるを紹介した
- Route53 Resolverを経由させるサブドメインの扱いに注意する
- 通信量の他に設置コストもかかる