← ブログに戻る

GeoLite2の代替:ホスト型GeoIP APIの選択肢

GeoLite2の代替:ホスト型GeoIP APIの選択肢

GeoLite2の代替とは、IPジオロケーションデータの別の入手元のことで、主な選択は、ダウンロードしたデータベースを自分で運用するか、ホスト型のGeoIP APIを呼び出すかです。どちらが常に優れているということはなく、適切な選択は、どれだけの運用作業を自分で抱えたいか、どのフィールドが必要か、どれだけのトラフィックを扱うかによって決まります。

GeoLite2が提供するものと、運用にかかるコスト

GeoLite2はMaxMindが公開している無料のIPデータベース群で、ダウンロード可能なファイルとして配布され、リーダーライブラリでローカルに検索します。ローカルの検索は非常に高速でネットワークの往復も発生しないため、大量でレイテンシに敏感な経路では実際に大きな利点になります。しかし利用にはいくつかの義務が伴い、これは過小評価されがちです。ファイルはアカウントとライセンスキーを使い、ライセンス契約に基づいてダウンロードします。決まったスケジュールで更新を続ける必要があり、ファイルを必要とするすべての環境へ配布する責任もあります。

摩擦の大半は、この最後の部分にあります。コンテナには、データベースをイメージに焼き込むか、起動時に取得させる必要があります。サーバーレスやエッジのランタイムには、サイズやファイルシステムの制限があり、数メガバイトのファイルが扱いにくいことがあります。古いファイルは、静かに古い答えを返し続けます。データが数か月前のものだと警告するものが、アプリケーションの中に何もないからです。現在のライセンス条件と更新要件は、変わる可能性があり、ベンダーの情報が正式な根拠になるため、直接ベンダーに確認してください。

この判断をさらに詳しく知るには、2つのモデルをより詳細に比較しているセルフホスト型データベースとAPIの比較の記事をご覧ください。

ホスト型APIで何が変わるか

ホスト型APIでは、データのダウンロード、解析、更新、提供をプロバイダが担い、利用者はアドレスごとにHTTPリクエストを送ります。これによりデプロイの負担がなくなり、プロバイダのデータが更新されれば、答えも更新されます。代償として、検索ごとにネットワーク呼び出しが発生し、他者の可用性に依存し、レート制限やクォータが課されます。同じアドレスの結果をキャッシュすれば、これらのコストの大半は和らぎます。また、障害時にサインアップが壊れるのではなく、機能が穏やかに縮退するよう、呼び出しの周りに短いタイムアウトとフォールバックの動作を置く価値があります。

ホスト型サービスは、位置情報以外の機能もまとめて提供する傾向があります。本当の目的がリクエストを信頼するかどうかの判断にあるなら、国と都市はその一部にすぎません。ipto のIP検索は、country、city、asn、org、currency_codeに加えて、フラグのis_vpn、is_tor、is_abuser、is_datacenterと、bogonとbogon_typeを返します。脅威フィードは6時間ごと、IPとASNのデータセットは毎日更新されます。無料枠は、サインアップ不要で1日1,000リクエストです。レジデンシャルプロキシは検出しません。また、あらゆるIPジオロケーションの情報源と同様に、国レベルでは正確で、都市レベルではおおよそのものです。

公平に比較する方法

  • 実際に必要なフィールド。必要なのが国コードだけなら、ほとんどどの情報源でも足ります。ASN、組織、VPNやabuseのシグナルが必要なら、何が含まれ、どのくらいの頻度で更新されるかを確認してください。
  • 精度の主張。宣伝で示されるどんな割合にも慎重になってください。精度は地域、アドレスの種類、使われる定義に左右され、都市レベルの結果は情報源によって大きく異なります。本当の位置がわかっているアドレスのサンプルでテストしてください。理由は国と都市の精度の違いの記事で説明しています。
  • 更新の頻度。データがどのくらいの頻度で再構築されるか、変更がいつ自分に届くかを制御できるかを尋ねます。
  • レイテンシと配置。ローカルのファイルにはレイテンシがありません。APIは距離とキャッシュに左右されます。
  • ライセンスとデータの取り扱い。再配布、帰属表示、送信したアドレスがどう扱われるかについての条項を読みます。
  • 撤退の道筋。後からビジネスコードに手を入れずに情報源を切り替えられるよう、検索を自前の小さなインターフェースの背後に置いておきます。

自分のデータでホスト型APIを試す

最も安上がりな評価は、ログから1日分の実際のアドレスを取り出し、現在のデータベースと1つか2つの候補の答えを比較することです。単一のアドレスをIP whois lookupに貼り付ければ、ブロックの背後にあるレジストリのレコードが見られ、意外なアドレスがどのネットワークに属するかはASN lookupで確認できます。おかしく見えるアドレスについては、IP to company lookupが、RDAPとASNのデータから信頼度付きの組織の推定を出します。これは、別の都市にあるモバイル通信事業者や企業のゲートウェイなど、奇妙な位置の説明になることがよくあります。スクリプトによる比較用のエンドポイントはAPIドキュメントにあります。

より幅広い調査をしたい場合は、best free IP geolocation APIsをご覧ください。要約すると、ローカルのデータベースは純粋な検索速度とオフライン利用で勝り、ホスト型APIは鮮度と手間で勝ります。多くのチームは両方を使っており、ホットパスにはローカルの検索を、より豊富な情報付加が必要な少数のリクエストにはAPIを使っています。

率直な回答

GeoLite2の代替とは、別のダウンロード型データベースやホスト型のGeoIP APIなど、IPジオロケーションデータの別の入手元のことです。ホスト型APIは、ファイルのダウンロードと更新の手間を省きます。
ローカルのデータベースが優れるのは、可能な限り低いレイテンシ、オフライン運用、非常に大量の検索が必要な場合です。APIが優れるのは、より新しいデータ、追加のシグナルがほしく、デプロイ作業をしたくない場合です。
国、都市、ASN、組織、currency_code に加えて、フラグの is_vpn、is_tor、is_abuser、is_datacenter と、bogon_type 付きの bogon を返します。無料枠では、サインアップ不要で1日1,000リクエストまで利用できます。
← ブログに戻る