「トップページが見えません」を回避せよ:Yahoo! JAPANのIPv6対応大作戦(1)(1/2 ページ)
とうとうIPv4アドレス在庫が枯渇しましたが、Yahoo! JAPANではそれに先立つ2009年ごろから、IPv6対応に向けた準備を進めてきました。この連載では、サービスプロバイダとしての視点から、どういった対応を進めてきたかを紹介します。(編集部)
2009年ごろから開始していたIPv6化の準備
2011年4月、とうとうAPNIC/JPNICのIPv4アドレス在庫が枯渇しました。これに伴って事業者は、早い段階でのIPv6対応が求められます。
実はYahoo! JAPANはそれに先立ち、状況が大きく変わり始めた2009年ごろから、組織的に全サービスのIPv6対応に向けた準備を進めてきました。
2009年、IANA/APNICのIPv4割り当て在庫が減少したことで、ISPやサービスプロバイダなどに、新規にIPv4アドレスを割り当てられなくなる時期が迫ってきました。それに伴い、IPv4アドレスの枯渇問題も、にわかにクローズアップされ始めました。
もし、予想よりも早いタイミングでIPv6化が進んだ場合でも、対応が後手になって、既存のお客さまに影響を与える事態だけは避けねばなりません。そして、近い将来広がるIPv6ネットワークに対して、Yahoo! JAPANのサービスをこれまで同様、もしくはそれ以上に快適に提供することを目標に取り組む必要があります。
このような背景から、より組織的にIPv6化を推進するため、ネットワーク、サービス、インフラの各専門エンジニアが集まり、大小さまざまなサービスのIPv6化を検討するプロジェクトが発足しました。
サービスプロバイダとしての課題と対策
サービスプロバイダは、IPv6が普及した場合やその過渡期でも、安定したサービスを提供する必要があります。既存のお客さまに何らかの障害を引き起こすようなことは、原則として許されません。
そこでまず、一般のお客さまがIPv6のアドレスを持ったとき、サービスがどのような影響を受けるのかを調査し、課題を洗い出す必要がありました。
われわれのプロジェクトでは、「インターネットのデータ到達性」と「アプリケーション対応」に着目し、課題の洗い出しや分析を進めました。内容は以下の通りとなります。
(1)インターネットのデータ到達性
課題
インターネットおよびお客さまの環境によって、通信ができない可能性があります。その理由としては、サービスプロバイダとお客さまとの間の回線経路の問題のほか、接続されているネットワーク機器やお客さまが利用しているソフトウェアによる固有の環境問題などの影響が挙げられます。
【関連記事】
「World IPv6 Day」に向けて準備すべきこととは(@ITNews)
http://www.atmarkit.co.jp/news/201104/28/w6d.html
World IPv6 Dayで得られた成果とこれからの課題(@IT Master of IP Network)
http://www.atmarkit.co.jp/fnetwork/tokusyuu/62w6d/01.html
調査結果
Webサービスにビーコンを組み込み、そのアクセスログを解析することで、お客さま〜Webサービス間のデータ到達性を調査しました。分析したところ、非常に少ない割合ですが、IPv4/IPv6両方のアドレスを持つサーバに対して通信するときなどに、通信ができないお客さまが存在する結果となりました。
【関連リンク】
IPv6調査について ヤフーのIPv6への取り組み (Yahoo! JAPAN Tech Blog)
http://techblog.yahoo.co.jp/cat207/BasicTechnology/yahooipv6/
対策
「インターネットのデータ到達性」の原因は、通信経路やお客さまの環境に存在するケースも想定されます。サービスプロバイダ側で抜本的な対策は打ちにくく、Yahoo! JAPANだけで解決できる問題ではありません。
現時点では、ISP、キャリア各社と協調し、課題の洗い出しや対策の検討を進めている最中です。すぐに対応できない課題に関しては、カスタマサポートやヘルプページを通して問題の回避方法を周知していくしか、対応方法は存在しません。
(2)アプリケーション対応
課題
アプリケーションがIPv6対応化されていない。
対策
・アプリケーションのソケットハンドリング(ネットワーク実装のIPv6対応)対応
アプリケーションをIPv6対応するためには、IPv4を前提にした実装ではなく、アドレスファミリに依存しないRFC3493に準拠した実装に改修します。
・OSなどの基盤ソフトウェア
利用しているOSやApacheなどのサーバソフトウェア、各種ライブラリをIPv6対応のものにします。
・IPアドレスのデータとしての取り扱い
IPv4(32ビット)のデータサイズを前提にしてシステムが設計されている個所があれば、IPv6(128ビット)対応に改修します。
全サービスを「IPv6に完全対応」と銘打って提供するには、Yahoo! JAPANのすべてのアプリケーションを技術的にIPv6に対応させるだけでなく、問題なく利用できることを確認する必要があります。レガシーなソフトウェアの対応まで考慮すると、膨大な開発作業が発生するため、一朝一夕で完了するものではありません。
「インターネットのデータ到達性」に関する対策では、現状ではサービスプロバイダ側でできる抜本的な対策方法がないことが問題でした。これに対しアプリケーション開発に関しては、IPv6対応のために膨大な量の調査・開発が必要になることが大きな問題といえます。
対策
まず、「対応できるサービスはすべてIPv6に対応し、IPv6でサービス提供できる準備を整える」ことが大前提となります。
しかしながら、Yahoo! JAPANすべてのアプリケーションを同時にIPv6に対応させようとすると、膨大な工数の開発と調査が必要となります。これは難易度が高く、現実的ではありません。現実的には、残念ながら、対応過程においては未対応のサービスが残ってしまいます。
そこで、すぐにIPv6対応が難しいアプリケーションに関しては、IPv6アドレスのアクセスを中継するプロキシサーバを準備し、既存のIPv4で提供されているアプリケーションへ転送することで、IPv6化を実現しようと考えています。これにより、段階的にアプリケーションのIPv6化を進めることが可能です。
Yahoo! JAPANでは、YTS(Yahoo Traffic Server)を利用して、IPv6の中継サーバを構築する予定です(注1)。
【関連リンク】
YTSでの構築事例 Yahoo! JAPAN IPv6への挑戦
〜Traffic ServerのIPv6化とMy Yahoo!への応用〜 (Yahoo! JAPAN Tech Blog)
http://techblog.yahoo.co.jp/cat207/BasicTechnology/post_20/
注1:この他に、apache mod_proxyやVarnishによる対応も可能なことを確認しました。
Copyright © ITmedia, Inc. All Rights Reserved.