Spotifyは、Google Cloud Platformへの移行作業を進めている。移行に当たっては、同サービスの仮想ネットワークセグメント運用機能を活用しているという。これについて、米グーグルとSpotifyの担当者が説明した。
音楽ストリーミングサービスの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は他のデータセンター、すなわちバージニア州アッシュバーン、ロンドン、ストックホルムについても、移行を進めている。
Lindblom氏は、同社がどのようにGCPのVPC(仮想プライベートネットワーク空間)機能を活用しているかを紹介した。
これによると、SpotifyではGCPの「Cross-Project Network(XPN)」という機能を活用し、アプリケーションエンジニアとネットワーク運用担当者との役割分担を円滑化しているという。
各マイクロサービス開発者は、各サービス専用に割り当てられたサブネットワークをコントロールできる。一方、これらのサブネットワークから自社データセンターあるいはインターネットへの接続やファイアウォール運用についてはネットワーク運用担当者が行い、開発者には触らせないようになっている。2017年3月時点では、800人の開発者が、250以上のプロジェクトで使っているという。
Lindblom氏はSpotifyの開発者が使っている社内開発のツールを簡潔に紹介した。開発者は、プロジェクトを配置したいリージョン、仮想インスタンスタイプ、数を入力するだけで新たなサブネットが作れ、その後ダッシュボードでこれを管理することができる。
主要プライベートクラウドサービスにおいて、VPC機能は珍しいものではない。だが、GCPにおけるVPC機能は、ユニークな側面を持っている。
第1に、GCPでは、VPCがグローバルな存在であることが挙げられる。グローバルなVPCの下で、世界中の任意のリージョンにサブネットを作成できる。各リージョンでVPCを作り、これを後から相互にピアリングするという考え方ではない。サブネットをどこに作っても、自動的に相互接続されるように設定できる。
第2に各サブネットにおけるプライベートIPアドレス空間の拡大・縮小などが容易なことがある。アドレス空間の拡大はサイズの入力値を増やすだけだ。既存の仮想インスタンスに割り当て済みのIPアドレスの変更などは必要ない。
第3に、全リージョンにまたがりグローバルなVPCが構築できるため、オンプレミスなどからは単一のIPsec接続などを張るだけで、全てのサブネットにアクセスできる。ただし、パフォーマンス上の懸念から、各データセンターにBGPによる直接ピアリングをすることもできる。
Spotifyが活用しているCross-Project Network(XPN)は、ソフトウェア/サービス開発チームの自律的なサブネット利用と、ネットワーク/セキュリティ担当者による統合的な制御の両立を目指したサービス。
具体的には、ネットワーク担当者が、任意のサブネットを1人あるいは複数のユーザーで構成される「プロジェクト」に割り当てることができる。単一のサブネットを複数のプロジェクトに割り当てることが可能。また、割り当ての過程で、GCPのサービスへのプライベート接続を許すかどうかを選択できる。
割り当てが終わると、開発チームは面倒なネットワーク関連の作業を考えることなく、仮想インスタンスの作成やアプリケーションの運用ができる。また、BigQuery など、プライベート接続に対応したGCPのサービスを活用できる。一方で、自らのネットワークセグメント利用に関するユーザーの権限管理については、自らきめ細かく行うことができる。
全社的なネットワーク運用担当者やセキュリティ担当者は、割り当て後も、各サブネットとオンプレミスとのVPN接続や、ファイアウォールのルール、パブリックインターネットの接続およびGCPのサービスへの接続を継続して制御できる。
Copyright © ITmedia, Inc. All Rights Reserved.