インターネットはもはや普遍的に存在しており、生活から切り離すことはできません。終わらない開発・運用のさなか、同僚がふと「俺・・・インターネットやめるわ」と言い始めたなら、あなたはその人を病院へつれていくことを検討するはずです。
このような場合、"インターネット"という単語からはついGoogleやTwitterなどのウェブサービスをイメージしてしまいますが、今回はネットワークとしてのインターネットをやめることについて考えます。
じつは、私たちが日々便利に利用しているインターネットにはさまざまな課題があり、インターネットをやめれば、課題が解決する可能性がありますし、しないかもしれません。なので同僚を病院へ連れていく必要はないかもしれませんし、あるかもしれません。
というわけで今回は、「半年ROMってろ」「Google is your friend」ではなく、ネットワーク設計における「インターネットやめろ」の意味とその方法について紹介します。
なんのために?
インターネットが利用できなくなる可能性は無視できないもので、過去にはある企業のオペレーションミスにより複数ISPを巻き込む大規模なインターネット障害が発生しました。昨今では国家規模でインターネットをやめることを検討するとか、現在はDDoS攻撃を受けインターネットが利用できなくなっているサービスもあります。そのとき、もしあなたの組織がインターネットを経由して、他拠点のサーバやクラウドを利用しているなら、それらはすべて使えなくなります。
このような災害級の大きな問題を抜きにしても、インターネットには帯域やレイテンシの確保がむずかしいという問題があるため、じつは「インターネットやめろ」という議論は、ネットワーク設計・運用では日常的に行われています。
今回解説する手法は、ネットワークに対して以下のようなことが求められる通信に有効です。
- 高い安定性・可用性を求められる通信(システム間の通信/同期/バックアップ、または放送など)
- ネットワーク機器同士の制御用トラフィックが流れる通信(LACP/MPLSその他制御用プロトコルなど)
- ネットワーク上の機器を操作する通信(DC設備/仮想サーバ/クラウド等を操作するための通信など)
- その組織またはその場所での物理的な業務が重要な通信(社内ネットワーク、工場ネットワークなど)
このような場合は、おおむねインターネットを利用しないほうが良いでしょう。もしこのような状況でネットワークの不安定さによる影響をうけているならば、即座に解決できる可能性があります。
インターネットとは?
昨今のほとんどのネットワークはインターネットに接続されています。家庭用FTTHや3G/4G/5G移動体通信はインターネット回線ですし、企業ネットワークであればどこかにインターネット・ゲートウェイがあるでしょう。Googleを開いたときに「このサイトへのアクセスは禁止されています」とか出てくる頭がおかしい組織だったとしても、いちおうはインターネットにつながっているということです。
インターネットが優れているところは、その名が示す通り「インターネットに接続しさえすればあらゆるところと接続できる」という点です。たとえば、A社とB社という別々の組織がそのネットワークが相互接続しなければならなくなった場合、インターネット回線を使えば一切の回線工事は必要なく即座に接続できるでしょう。このように、気軽に相互接続できる点は、人類最大のネットワークたるインターネット以上のものは存在しません。
すべてのネットワークを恐ろしいほど簡略化してみるとこのようになるでしょう。
私たちが契約しているインターネット通信サービスは、インターネット用ベストエフォート回線とISPサービスの2つに分けられます。回線はユーザのONUからキャリア網の上端までであり、ISPサービスはインターネットへの接続を行っています。
このようなインターネット回線を用いてユーザAからユーザBへ通信しようとすれば、当然インターネットを通ることになります。しかし図にあるように、インターネットはさまざまなIX/ISPのBGPルータが集合して成り立っている総体です。インターネットのある区間において、いちユーザとしてどれくらいの帯域が見込めるかという予測はできませんし、どのような経路を辿るのかはわかりません。つまり、インターネットを利用する場合はほぼ強制的にベストエフォートになるということです。国内の良好なインターネット環境であればあまり困ることはないかもしれませんが、たとえば日本からアフリカにあるサーバに対して十分な帯域がとれるはずがありません。
さらなる問題として、インターネット上でなんらかの問題が起きた場合、対応を依頼する先はありません。上述したように、インターネット回線の契約はインターネットへ出るまでです。インターネット上で異常が発生した場合、インターネット回線を契約しているキャリアにどれだけ怒鳴り散らしても、それは太平洋が荒れているのを港湾局にどうにかしろと言うようなもので、なにもできないでしょう。
本稿における定義
- "ISPより上位側の部分"を"インターネット"と呼んでいます
- "ONUからISPまで"を"インターネット回線"と呼んでいます
VPNとは?
多くのキャリアは、L3で閉域をつくれるIP-VPNと、L2で閉域をつくれる広域イーサネットをラインナップしています。これらのVPNサービスは、先述の図でいうところのキャリア内ネットワーク上で構築されています。
つまりそのキャリアがすべての区間を管理しているということであり、帯域保証や帯域確保といったサービスを利用することができます。この場合、ユーザAからユーザBへの通信はインターネットを通らずに済みます。
VPNはしばしばセキュリティのために導入されると勘違いされていますが、そうではありません。VPNはすべてがキャリアのネットワークですから、「キャリアがすべての区間で品質を担保できる」という圧倒的な強みがあるために選択されます。もちろん、マルチキャリア構成にすればアクセス区間以外は異なる区間を通ることができます。また、本邦は勤勉で安い労働力と良質なダークファイバが無限に出てくる稀有な国であり、VPNサービスを恐ろしいほど安価に利用することができます。
本稿における定義
- キャリアのマネージドL2/L3VPNのみを"VPN"または"VPN回線"と呼んでいます
- インターネットVPNはインターネットを利用するVPNのため、ここでは例外とします
- フレッツ網を利用したサービスはここでは除外します
- 一部サービスではVPNでもそのキャリアが管理していない区間を含めて提供している場合があります
- 法人向けインターネット回線は帯域保証や帯域確保がありますが、当然インターネット上には適用されません
インターネット回線を契約して「ポイントAからポイントBまで1Gbps確保する」ということはできませんが、VPNであれば帯域保証/帯域確保1Gbpsのサービスを契約するだけでそれができます。インターネット上で何らかのパケットの欠損があってもどうしようもありませんが、フルマネージドなVPNであればそのすべての区間においてサポートに連絡すれば切り分けをしてもらい、異常があれば復旧をしてくれます。つまり、インターネットを使わないことで、ネットワークのゆらぎを考える必要がなくなり、ネットワークの必要知識も減らすことができ、設計と運用が楽になる場合があります。
これらの違いにより、ネットワーク設計においてはしばしば「インターネットでいいだろ」VS「インターネットやめろ」という争いが起きており、きのこたけのこ戦争なみの死者をだしています。
VPNにまつわる誤った評価
VPNサービスについて誤った評価をよく見聞きすることがあります。これらの原因として(私の主観では)インターネットサービス開発のトップであるアメリカにおいてVPNサービスがあまり利用されていないことによるのではないかと考えています。しかしそれは国土的にアメリカでVPNを低価格で提供することが不可能というだけであり、本邦においてそれはあてはまりません。安価かつ高品質な回線があるのにそれを利用しないのは非常にもったいないことです。まずは誤解を解く必要があるでしょう。
VPNではインターネット上のサービスが使いづらい
明確な誤りです。
クラウドやGithubほか最新のSaaSなどが使えないのは、その組織のインターネット・フィルタリング・ポリシーの問題であり、VPNとはまったく関係ありません。インターネット回線にしたところで同じフィルタが適用されれば引き続き利用できません。つまり、転職することをお勧めします。
VPNはトラフィックが輻輳する
明確な誤りです。
帯域が輻輳するのは回線の設計ができていないからであり、VPNの問題ではありません。どちらかといえば、時間帯により非常に大きく変動するインターネット回線のほうが帯域・レイテンシの管理は困難です。
さらに、昨今ではローカルブレイクアウトが利用できるようになっています。社内サービスへはVPN回線へ、動画ミーティングやストリーミングのようなものはインターネット回線へまわすという制御がエッジでできるため、VPNやそのインターネット・ゲートウェイの輻輳も回避することができます。
VPNはクラウドと相性が悪い
明確な誤りです。
VPNからクラウドへ直結できるサービスが用意されています。この構成であれば、インターネットを経由することなく低遅延でクラウドを利用することができます。つまり、インターネットをやめてもクラウドを利用することができます。
インターネットVPNで良い
明確な誤りです。
インターネットVPNは、インターネット回線上でソフトウェアVPNを構築するものです。つまり、先述した「すべての区間でキャリアマネージドである」というVPN回線最大のメリットはありません。インターネットVPNはあまり品質にこだわらない場面でのみ利用すべきものです。インターネットVPN上の上にL2網を構築しLACPといった制御パケット等を流すことは、不安定な土台の上に城をたてるようなものであり、冗長の意味をなくすでしょう。
VPN回線は構築に時間がかかる
明確な誤りです。
FTTH回線のボトルネックはアクセス区間の光ファイバ引き込み工事であり、インターネット回線もVPN回線も開通までの時間に差はありません。また、昨今ではWeb管理画面からネットワークを制御したり、モバイル回線でもVPNを利用することができます。
VPNにはセキュリティ上の意味はない
50%ほどは誤りです。
完全に閉じているVPNによる閉域であれば、その社屋やデータセンタに物理的に侵入しないとアクセスできないというセキュリティ向上が見込めます。しかし、ほとんどのネットワークではどこかにインターネットとの接続点をもっているため「VPNを利用していてもさらに侵入された際の対策をする必要がある」という点はとても正しいことです。また「VPNを利用しているという気の緩みが」というのは技術的な指摘ではありません。そもそも、ほとんどの人には「今インターネットを利用しているのか閉域を利用しているのか」などという区別はついていません。
VPN回線は高価である
50%ほどは誤りです。
本邦の法人向け回線においては、インターネット回線とIP-VPN/広域イーサネット回線の価格差はほとんどありません。しかし、VPNの導入をSIer等に依頼をしなければならない場合は、コストは上昇するでしょう。
インターネットは先進的である
おそらく誤りでしょう。
今後のネットワーク技術は、帯域制御と低レイテンシの方向へ進みつつあり、つまりそれはインターネット区間を経由しないということにつながります。現在でも、かつてのインターネット上のコンテンツはクラウドへどんどん集約されており、クラウド内でのリージョン間接続によって、インターネットを経由しなくてすむようにもなっています。これはクラウドという巨大ショッピングモールができ、古き良き商店街が廃れていく状況と似ています。
また、AWS Outpost/Wavelength、Azure edge zones、Google Distributed Cloudなどのエッジクラウドも展開されつつあります。これらはIXに直結されたり、キャリアコアからクラウドへ直結できるようになるため、インターネット区間を短くするか無くすことができ、高品質を担保することができるようになります。昨今展開されつつあるローカル5Gなども、無線でありながら制御できない区間を避けるよい選択肢として注目されています。
なぜインターネットを使うのか?
「インターネットやめろ」という論争がおきるということは、仕方なくインターネットを選択する理由があるということです。「相互接続しやすいから」というケースが最も多いでしょうが、それだけではありません。
先述のように、本邦では安価にVPN回線を利用できますが、海外の特に面積が広い国でVPN回線を契約しようとすれば1か月で倒産できる見積りが届きます。まず光ファイバを引き、新規にルータ/スイッチを配置し・・となって、結局専用線と大差ないことになってしまうため、高品質なダークファイバが山のようにある国でなければVPNをサービスすることができません。このような場合にはインターネットを使わざるを得ない場合があります。
そのような場合になるべく高品質・低遅延を維持するにはどのようにすれば良いのでしょうか?
あきらめる
最も良い方法です。高品質の通信が必要になってしまう設計を改めるとともに、通信ができなくなっても稼働しつづけられる設計をします。
一時的にインターネットを使い、その間にVPNを構築する
異なる組織のネットワークを接続するのは、技術的というより組織的な調整などにとても時間がかかるものです。まずはインターネットで接続し、時間をかせいでいる間にしっかりとした経路を構築することはよくとられる手法です。
同じキャリアを使う
国内においては、おおむね楽に高品質を狙える方法です。多くの場合はそのキャリアネットワーク内で完結するため、VPNと同様にインターネットを経由することがなくなります。
そのISPのIXを調査し、同一のIXで接続されるようにする
物理的に同じ場所にあるIXに接続されていれば、違うキャリア同士でも到達しやすい可能性が高く、インターネットを利用しつつただの相互接続のような低遅延かつ高品質を狙えます。ただしこれは、「XXのキャリアはXX区のDCにあるIXに接続されている」「XXクラウドはXX市のDCにあるIXから出る」など、企業関係やキャリア回線や業界内情報などの膨大な知識量と経験がないと難しいという課題があります。
トラフィック予想モデルを組み込んだSDNを開発する
複数のインターネット回線や各地のDC等に機器を設置し、インターネットのトラフィック予想モデルを組み込んだSDNを開発して、通信を分散・制御して品質と帯域を確保する方法です。柔軟な拡張性と冗長性がありグローバルにも対応できますが、極めて高いネットワーク知識および開発技術が必要になるでしょう。
適切な選択をしましょう?
わたしたちがクラウドを利用するのは、"AWS qwせdrftgyふじこlp"みたいな舌を噛みそうな名前のサービスが優れているとか、コスト的に効果があるとかそれらしい理由を述べていますが、なんだかんだで「何かがあった場合にインフラの責任をなすりつけられる」からでしょう。「クラウドの障害によりサービスをご利用できません。ご迷惑をおかけしております」。顧客の不満もそらすことができ、社内への説明も営業が熱心に対応してくれます。責任をクラウド化でき処理もフルマネージド。すばらしいことです。どう考えても設計に問題があったはずですが、丸く収まっているのでよしとしましょう。
では、せっかくインフラの責任をクラウド化しているのに、なぜネットワークはだれのせいにもできないインターネットを利用しているのでしょうか?
協力企業とのシステム連携をインターネット回線で構築していたために、DDoSによってすべてのサービスが停止してしまった組織があります。
多くの機器の制御回線をインターネット回線で構築していたために、ISP障害によってすべてのモニタリング・制御ができなくなってしまった組織があります。
インターネット上のどこかであるプロトコルが欠落するために、新しく構築したシステムが稼働できなかった組織があります。
これらはVPN回線のキャリア冗長を構築していれば回避できたでしょう。
それはおそらく、受けた損失にくらべれば微々たる費用だったはずです。
少々乱暴な紹介をしましたが、インターネットにはインターネットの良さがあり、VPNにはVPNの良さがあります。
重要な回線には品質を確保した回線を使い、カジュアルな回線にはインターネットを使う。
適切に組み合わせることが、今日の夜も安心して眠れることにつながるのかもしれません。