Spotifyが活用する、Google Cloud PlatformのVPC機能とはGoogle Cloud Next 17で知るグーグルのクラウド(1)

Spotifyは、Google Cloud Platformへの移行作業を進めている。移行に当たっては、同サービスの仮想ネットワークセグメント運用機能を活用しているという。これについて、米グーグルとSpotifyの担当者が説明した。

» 2017年03月13日 05時00分 公開
[三木泉@IT]

 音楽ストリーミングサービスのSpotifyは、グーグルのパブリッククラウドサービス「Google Cloud Platform(以下、GCP)」の顧客の1社として知られている。2016年2月には「Announcing Spotify Infrastructure’s Googley Future(Spotifyインフラのグーグル的な未来について)」というブログポストで、「This is a big deal.(これは重要な取り組みだ)」とまで書いている。

 Spotifyは世界4カ所の商用データセンターでコロケーションサービスを用い、サービスのITインフラを運用してきた。Google Cloud Next 17のセッションで話したSpotifyのネットワークエンジニア、Stefan Lindblom(ステファン・リンドブロム)氏によると、米サンノゼのデータセンターについては、講演前日の2017年3月7日にサービスのGCPへの移行が完了したという。「これにより、サービスの20%はGCPから提供されるようになった」。Spotifyは他のデータセンター、すなわちバージニア州アッシュバーン、ロンドン、ストックホルムについても、移行を進めている。

水色の線はサンノゼデータセンターで、3月7日にサービストラフィックがゼロになったことを示している。緑はGCPの米国東部リージョン、赤はアジア東部リージョン

 Lindblom氏は、同社がどのようにGCPのVPC(仮想プライベートネットワーク空間)機能を活用しているかを紹介した。

 これによると、SpotifyではGCPの「Cross-Project Network(XPN)」という機能を活用し、アプリケーションエンジニアとネットワーク運用担当者との役割分担を円滑化しているという。

 各マイクロサービス開発者は、各サービス専用に割り当てられたサブネットワークをコントロールできる。一方、これらのサブネットワークから自社データセンターあるいはインターネットへの接続やファイアウォール運用についてはネットワーク運用担当者が行い、開発者には触らせないようになっている。2017年3月時点では、800人の開発者が、250以上のプロジェクトで使っているという。

 Lindblom氏はSpotifyの開発者が使っている社内開発のツールを簡潔に紹介した。開発者は、プロジェクトを配置したいリージョン、仮想インスタンスタイプ、数を入力するだけで新たなサブネットが作れ、その後ダッシュボードでこれを管理することができる。

GCPにおけるVPC機能のユニークさ

 主要プライベートクラウドサービスにおいて、VPC機能は珍しいものではない。だが、GCPにおけるVPC機能は、ユニークな側面を持っている。

 第1に、GCPでは、VPCがグローバルな存在であることが挙げられる。グローバルなVPCの下で、世界中の任意のリージョンにサブネットを作成できる。各リージョンでVPCを作り、これを後から相互にピアリングするという考え方ではない。サブネットをどこに作っても、自動的に相互接続されるように設定できる。

 第2に各サブネットにおけるプライベートIPアドレス空間の拡大・縮小などが容易なことがある。アドレス空間の拡大はサイズの入力値を増やすだけだ。既存の仮想インスタンスに割り当て済みのIPアドレスの変更などは必要ない。

 第3に、全リージョンにまたがりグローバルなVPCが構築できるため、オンプレミスなどからは単一のIPsec接続などを張るだけで、全てのサブネットにアクセスできる。ただし、パフォーマンス上の懸念から、各データセンターにBGPによる直接ピアリングをすることもできる。

XPNとはどのようなサービスか

 Spotifyが活用しているCross-Project Network(XPN)は、ソフトウェア/サービス開発チームの自律的なサブネット利用と、ネットワーク/セキュリティ担当者による統合的な制御の両立を目指したサービス。

 具体的には、ネットワーク担当者が、任意のサブネットを1人あるいは複数のユーザーで構成される「プロジェクト」に割り当てることができる。単一のサブネットを複数のプロジェクトに割り当てることが可能。また、割り当ての過程で、GCPのサービスへのプライベート接続を許すかどうかを選択できる。

サブネットを「プロジェクト」に割り当てられる

 割り当てが終わると、開発チームは面倒なネットワーク関連の作業を考えることなく、仮想インスタンスの作成やアプリケーションの運用ができる。また、BigQuery など、プライベート接続に対応したGCPのサービスを活用できる。一方で、自らのネットワークセグメント利用に関するユーザーの権限管理については、自らきめ細かく行うことができる。

 全社的なネットワーク運用担当者やセキュリティ担当者は、割り当て後も、各サブネットとオンプレミスとのVPN接続や、ファイアウォールのルール、パブリックインターネットの接続およびGCPのサービスへの接続を継続して制御できる。

[取材協力:グーグル合同会社]

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。