1. はじめに
UN Smart Maps Groupでは、大規模な地理空間データ、特に点群データを含む数百GB規模のクラウドネイティブデータの効率的な配信方法について研究を進めてきました。特にPMTiles形式のデータをホスティングするための最適な方法を模索し、様々な技術的アプローチを検証してきました。
1.1 研究の背景と目的
ファイルシステム上のファイルをウェブサーバで提供する方式のシンプルな静的ホスティングでは、ファイルサイズ大きい場合のストレージ容量の拡張が困難であり、ウェブサーバの設定によってはセキュリティリスクが高くなる可能性があり、また大規模データセットの配信に最適化するための技術についての敷居が高いという問題がありました。これらの課題を解決するため、我々はオブジェクトストレージ、分散ストレージ、そして改めてCDNなどの技術を検証することにより、個人や小規模グループでも大規模な地理空間データを効率的に配信できる方法を開発することを目指しました。技術検証の過程では、実用性と持続可能性を重視し、複数のアプローチを段階的に評価してきました。
1.2 ポータブルウェブのコンセプト
ポータブルウェブとは、「誰もが大規模なデータをウェブ上で簡単に共有できる」という理念に基づいた概念です。従来のウェブインフラストラクチャは大規模組織向けに設計されており、個人や小規模グループが数百GBに及ぶデータセットを効率的に配信することは技術的・経済的障壁がありました。
ポータブルウェブのコンセプトでは、以下の要素を重視しています:
- 低コストでの実現可能性: 個人や小規模組織でも維持可能な経済性
- 技術的アクセシビリティ: 専門的なITインフラの知識がなくても導入・運用可能
- 高い安定性: メンテナンスの手間を最小化し、長期運用を可能に
- スケーラビリティ: 数百GBから数TBに及ぶデータセットにも対応可能
- ウェブ標準準拠: ウェブ標準を最大限活用することによる相互運用性の確保
このコンセプトは特に地理空間データのような大規模かつ構造化されたデータセットの共有に有効であり、信頼できる地理空間情報の自由な流通に大きく貢献するものです。
2. 検証した技術とその結果
2.1 Minio によるオブジェクトストレージの検証
結果と知見:
最初に検証したMinioは、S3互換のAPIを提供するため初期導入が比較的容易でした。しかし、Raspberry Pi 4B を複数台用いたクラスターの実運用テストを進めた結果、特に巨大ファイルの投入時などに高負荷となり、パフォーマンスが不安定になることが明らかになりました。また、オブジェクトストレージという特性上、ファイルシステムに直置きする場合と比べ、予想以上にCPUリソースとIO帯域を消費することがわかりました。これらの問題から、計算機資源が限られている場合のスケーラビリティに課題が残り、個人や小規模グループによる運用には適さないと判断せざるを得ませんでした。
2.2 IPFS Kubo による分散ストレージの検証
結果と知見:
次に検証したIPFS Kuboは、P2P分散ストレージという概念自体は非常に魅力的でしたが、実運用を想定した検証ではいくつかの課題が明らかになりました。ホスティングパフォーマンスが安定しないこと、効果的な分散ネットワークの構築が現実的には困難であること、そして大規模データセットのピンニングに関する問題が明確になりました。これらの結果から、IPFS Kuboは現時点では地理空間大規模データの配信に最適なソリューションとは言えないという結論に達しました。
2.3 x-24b プロトタイプの開発と検証
使用技術:
x-24bプロトタイプでは、より現実的な選択として、Cloudflared (Cloudflare Tunnel)、Martin (PMTiles配信用サーバー)、そしてCaddy (高性能Webサーバー)を組み合わせたアーキテクチャを採用しました。これらの技術を、USB 接続した SSD を持つ Raspberry Pi 4B に実装した x-24b インスタンスが tunnel.optgeo.org です。
結果と知見:
x-24bプロトタイプでは、商用サービス(Cloudflare)への依存があるものの、高いパフォーマンスを安定的に実現することができました。約1ヶ月の自宅環境での運用テストを通じて、システムが高い安定性を持ち、メンテナンス負荷が少ない形での運用が可能であることを確認しました。CloudflareのCDNを活用することで、高速配信も実現できたのだと思います。これらの検証結果から、x-24bプロトタイプが現時点では最も効果的なソリューションであると考えています。
3. x-24b プロトタイプの詳細
3.1 アーキテクチャ概要
[PMTilesデータ] → [Martin] → [Caddy] → [Cloudflared] → [Cloudflare CDN] → [エンドユーザー]
3.2 コンポーネントの役割
x-24bプロトタイプを構成する各コンポーネントは、それぞれ重要な役割を担っています。Martinは、PMTiles形式に対応したタイルサーバーとして、データの効率的な配信を担当します。Caddyはリバースプロキシとして機能し、多少のキャッシュ、Martin を介さないスタティックファイルホスティングなどを提供します。Cloudflaredは、ローカル環境とCloudflare間のセキュアなトンネルを確立する役割を果たし、Cloudflare CDNがグローバルでの高速配信と追加のセキュリティ機能を提供します。
3.3 x-24bの主な利点
x-24bプロトタイプの最大の強みは、CDNによる世界中での高速アクセスの実現にあります。また、Cloudflareが提供する様々なセキュリティ機能を活用することで、データの安全性も確保されています。1ヶ月以上の連続運用でも問題なく動作するという安定性に加え、個人レベルでも維持可能な運用コストという経済性も大きな利点です。具体的には、Cloudflare Tunnel が無償提供してくれる範囲内で、UN Smart Maps Group における技術検証作業には十分な転送量を提供してくれています。さらに、数百GBの大規模データセットにも対応できる拡張性を持ち合わせており、様々な規模のプロジェクトに適用可能です。
4. 使用技術の詳細
4.1 Minio
概要: Minioは、Amazon S3互換のAPIを提供するオープンソースのオブジェクトストレージサーバーです。高性能で軽量に設計されており、クラウドネイティブアプリケーションやDevOpsのユースケースに適しています。
ライセンス: GNU Affero General Public License v3.0 (AGPLv3)
公式ウェブサイト: https://min.io/
4.2 IPFS Kubo
概要: Kuboは、InterPlanetary File System (IPFS)の主要な実装です。IPFSは、コンテンツアドレス可能な分散型ファイルシステムで、データを永続的に保存し、重複を排除し、効率的に配信することを目的としています。
ライセンス: デュアルライセンス (MIT License および Apache License 2.0)
公式ウェブサイト: https://docs.ipfs.tech/install/command-line/
4.3 Martin
概要: Martinは、PMTilesフォーマット向けに最適化されたタイルサーバーです。地理空間データ、特にベクトルタイルやラスタータイルの効率的な配信に特化しており、PMTilesファイルから直接タイルを提供します。
ライセンス: BSD 3-Clause License
公式ウェブサイト: https://github.com/maplibre/martin
4.4 Caddy
概要: Caddyは、現代的で使いやすいウェブサーバーで、自動HTTPSや多様な機能を持ちながらも設定が簡単なことが特徴です。リバースプロキシ、ロードバランシング、静的ファイル配信などの機能を提供します。
ライセンス: Apache License 2.0
公式ウェブサイト: https://caddyserver.com/
4.5 cloudflared
概要: cloudflaredは、Cloudflare Tunnelのクライアントソフトウェアです。インターネット上に公開されたIPアドレスを持たないローカルのウェブサーバーやサービスを、安全にインターネットに公開するためのツールです。
ライセンス: Apache License 2.0
公式ウェブサイト: https://github.com/cloudflare/cloudflared
5. 今後の展望とFOIL4G構想
5.1 x-24bの意義
x-24bプロトタイプの成功により、個人や小規模グループでも大規模地理空間データを効率的に配信できる可能性が示されました。これはスマート地図の世界に新たな可能性をもたらし、信頼できる地理空間情報の自由な流通の重要な一歩となります。従来は大規模な組織や継続的な予算を確保されたプロジェクトでしか実現できなかったことが、より小規模な主体でも可能になるという点で、信頼できる地理空間情報の自由な流通に大きく貢献するものと考えています。
5.2 FOIL4G(Free and Open Information Library for Geospatial)構想
x-24bの成功を足がかりに、私たちはFOIL4G構想をさらに推進していきます。この構想では、地理空間データの自由な共有と活用を促進するオープンデータの理念を中心に据えています。複数の個人・組織によるデータホスティングの連携による分散型ホスティングネットワークの構築や、PMTilesなど標準化されたデータフォーマットの採用を進めていきます。そして何より、地理空間情報に関心を持つ幅広いコミュニティの参加によるコミュニティドリブンな発展を目指しています。
6. まとめ
UN Smart Maps Group は、大規模地理空間情報の効率的な配信という課題に対し、複数の技術検証を経て、x-24bプロトタイプという実用的なソリューションを開発しました。これにより、個人や小規模グループでも数百GB規模の地理空間データを安定的かつ高速に配信することが可能になりました。
この成果は、FOIL4G構想の実現に向けた重要な一歩であり、地理空間情報のより広範な共有と活用を促進することで、スマート地図の世界を次の段階へと進める足がかりとなります。今後も継続的な改善と拡張を行いながら、信頼できる地理空間情報の自由な流通に貢献していきたいと考えています。
Top comments (0)