AWS の請求書に記載されている Amazon Route 53 の使用料金が予想していたよりも高いので、コストを削減したいと思っています。
簡単な説明
Route 53 の料金は、次のサービスの実際の使用状況に基づきます。
Route 53 では、使用した分に対してのみ料金が発生します。詳細については、「Amazon Route 53 料金表」を参照してください。
Route 53 のコストが予想よりも高い場合、コストを削減するには次を実行できます。
- 未使用のホストゾーンを削除する
- 可能な限りエイリアスレコードを作成する
- レコードの存続時間 (TTL) を増やす
- トラフィックポリシーレコードを確認する
- リゾルバーエンドポイントを確認する
- ヘルスチェックを確認する
解決策
未使用のホストゾーンを削除する
重要: 必要のないホストゾーンのみを削除してください。Route 53 では、ホストゾーン自体またはホストゾーンで削除したレコードを復元することはできません。
Route 53 で作成された各ホストゾーンには月額料金がかかります。ドメインのためにホストゾーンを作成すると、Route 53 はホストゾーンに対して 4 つのネームサーバーを割り当てます。パブリック DNS 解決では、ドメインレジストラでネームサーバーが追加されたホストゾーンのみがクエリの解決に使用されます。ホストゾーンに関連するコストを最小限に抑えるには、未使用のホストゾーンを削除してください。
可能な限りエイリアスレコードを作成する
Route 53 が応答するほとんどの DNS クエリには料金がかかります。このポリシーの例外は、次のような無料で提供されるリソースにマッピングされたエイリアスレコードへのクエリです。
- Elastic Load Balancing インスタンス
- Amazon CloudFront ディストリビューション
- AWS Elastic Beanstalk 環境
- Amazon API Gateways
- 仮想プライベートクラウド (VPC) エンドポイント
- Amazon Simple Cloud Storage (Amazon S3) ウェブサイトバケット
エイリアスレコードでサポートされている AWS リソースタイプの詳細なリストについては、「値/ルートトラフィック先」を参照してください。
リソースがエイリアスレコードでサポートされている場合は、レコードを編集してレコードタイプを Alias として指定します。
TTL を増やす
Route 53 が応答するほとんどの DNS クエリには料金がかかります。このポリシーの例外は、次のような無料で提供されるリソースにマッピングされたエイリアスレコードへのクエリです。
- Elastic Load Balancing インスタンス
- CloudFront ディストリビューション
- AWS Elastic Beanstalk 環境
- API Gateways
- VPC エンドポイント
- Amazon S3 ウェブサイトバケット
レコードの TTL を高く設定すると、中間リゾルバーはレコードをより長い時間キャッシュします。その結果、ネームサーバーが受信するクエリが少なくなります。この設定により、応答した DNS クエリに対する料金を削減できます。ただし、TTL が高いほど前の値が長期間キャッシュされるため、レコードが変更する際の伝播が遅くなります。TTL が低いほど、伝播は速くなります。ただし、TTL が低いほどキャッシュされた値の有効期限が早くなるため、ネームサーバーに到達するクエリが増えます。
トラフィックポリシーレコードを確認する
Route 53 のトラフィックフローポリシーを特定の DNS 名 (www.example.com など) に関連付けると、ポリシーレコードが作成されます。トラフィックポリシーは、その特定の DNS 名のトラフィックを管理します。ルーティングポリシーと地理的近接性ルーティングポリシーを組み合わせる場合は、通常、トラフィックポリシーがベストプラクティスです。ポリシーレコードで DNS 名に関連付けられていないトラフィックポリシーには料金はかかりません。
複数のドメインを同じトラフィックポリシーに関連付けるには、トラフィックポリシーレコードと同じホストゾーンにエイリアスレコードを作成します。例えば、example.com のトラフィックポリシーレコードと、そのトラフィックポリシーレコードを参照する www.example.com のエイリアスレコードを作成できます。
コストをさらに削減するには、トラフィックポリシーレコードを確認します。トラフィックポリシーレコードをシンプルなレコードや他のルーティングポリシーに置き換えることができるかどうか判断してください。
リゾルバーエンドポイントを確認する
Route 53 リゾルバーエンドポイントには、2 つ以上の IP アドレスが必要です。各 IP アドレスは、1 つの Elastic Network Interface に対応します。Elastic Network Interface は、インターフェイスごとに 1 時間あたり 0.125 USD の料金が課金されます。
1 つのアウトバウンドエンドポイントは、同じリージョン内の複数のアカウントによって作成された複数の VPC で共有できます。同じリージョンで異なる VPC を使用して複数のアウトバウンドエンドポイントを設定した場合、追加料金が発生します。コストを削減するには、個々のエンドポイントを使用するのではなく、共有メカニズムを使用してエンドポイントを統合してください。
不要なヘルスチェックを削除する
ヘルスチェックをエンドポイントに関連付けると、エンドポイントの IP アドレスにヘルスチェックリクエストが送信されます。これらのヘルスチェックリクエストは、リクエストが意図したとおりに行われていることを確認するために送信されます。ヘルスチェックの料金は、関連するエンドポイントに基づいて発生します。ヘルスチェックの料金が発生しないようにするには、RRSet レコードで使用されておらず、不要になったヘルスチェックを削除してください。
ヘルスチェックの代わりに、可能な限り Evaluate Target Health (ETH) を設定するようにしてください。この戦略は、ヘルスチェックのコストを回避するのに役立ちます。詳細については、以下を参照してください。