GoogleのHTTPロードバランサーの破壊力があり過ぎる #gcpja 


そもそもGoogle Compute Engineのロードバランサー、[GCE LB](https://developers.google.com/compute/docs/load-balancing/network/index)は、1インスタンス・1グローバルIP・ウォームアップなしで[いきなり100万リクエスト／秒を捌けてしまう謎性能](http://googlecloudplatform.blogspot.com/2013/11/compute-engine-load-balancing-hits-1-million-requests-per-second.html)を備えていて、既存の他社クラウドのLBだけこれで置き換えたい！ という声もちらほら聞かれるほどの強力LBサービスであった。

![LB performance](http://4.bp.blogspot.com/-nOJwEJUrTpc/UpOhGqxgu8I/AAAAAAAAAQE/r08TrN6pDsg/s1600/Screenshot+from+2013-11-01+09-53-15.png)
From [Compute Engine Load Balancing hits 1 million requests per second!](http://googlecloudplatform.blogspot.com/2013/11/compute-engine-load-balancing-hits-1-million-requests-per-second.html)

そして今回、正式公開ではないLimited Preview版ではあるものの、GCE LBの新機能として[HTTP Load Balancing](http://googlecloudplatform.blogspot.com/2014/06/unveiling-scalable-http-load-balancing-across-cloud-regions.html)が発表された。その性能と機能の破壊力があり過ぎるので、GCPブログ記事のリンクをシェアするだけではあまりにもったいない！ と思い、要点を訳してみた。

### DNSに頼らない、1グローバルIPによるUS、EU、Asia間負荷分散＋障害対応

GCE HTTP LBの最大の特徴は、1個のグローバルIPだけでUS、EU、Asiaの各リージョンをまたいだ負荷分散とフェイルオーバーが可能な点。DNSに頼ったリージョン間負荷分散ではないので、どのリージョンで大規模障害や負荷のスパイクが発生しても瞬時に他のリージョンにリクエストを振り分ける仕組み。

![GCE HTTP LB](https://lh3.googleusercontent.com/tAQt7n2NipR-PtrJthbvsvg41vQGmZZ7jb_4KqsDNDsfH7Ow8fVru_zqQlCIKRlfJRKoCCwoz-rf6AWdQVqRoX3PRTiAvGwSszn1Xsweq3QhD6GiyE8uNzw9x1Dx_VJB_A)
From [Unveiling scalable HTTP load balancing across cloud regions](http://googlecloudplatform.blogspot.com/2014/06/unveiling-scalable-http-load-balancing-across-cloud-regions.html)

### Google検索・Gmail・YouTubeの負荷分散を支える技術

もちろん、冒頭に紹介した恐ろしいほどの性能はそのまま。なぜそんなことが可能なのか？ その理由として、記事では次のように書かれている。

```
HTTP load balancing is built on top of the same world-class infrastructure that powers Google’s own services such as Search, Gmail, and Youtube. Like Network load balancing, it uses the global Google network and doesn’t require pre-warming. 
```

「Google検索、Gmail、YouTube等のGoogleサービスと同じトップクラスのグローバルインフラを共用して実現されているから」。なるほどGoogleずるい。さらには、

```
Furthermore, HTTP load balancing filters out TCP SYN flood attacks.  
```

すなわち、これらの各サービスと同様の仕組みでTCP SYN flood等の攻撃から保護されているという。

### データセンターの近さとバックエンドの負荷状況に応じて最適に分散

```
It uses network proximity and backend capacity information to optimize the path between your users and your instances, and improves latency by connecting users to the closest Cloud Platform location. If your instances in one region are under heavy load or become unreachable, HTTP load balancing intelligently directs new requests to your available instances in a nearby region. Because your entire app is exposed via a single global external IP address, you can avoid the complexity and problems associated with configuring DNS-based load balancing; all you need to do is add a DNS record pointing to the global IP address.
```

GCE HTTP LBは、クライアントとデータセンターの近さ、およびバックエンドの負荷状況に応じて負荷を最適に分散化し、レイテンシを最適に保ってくれる。例えば日本からのリクエストに対しては通常はGCEのasia-east1等のデータセンターに負荷が流れるものの、もし一時的にasia-east1に用意したGCEインスタンスでは不足気味な状況になると、自動的にUSやEUにもリクエストを転送してくれる、といった動きが期待できる。


### 月額およそ1,800円

そして気になる価格の方だが、最初の5ルールまでは$0.025/hour、つまりおおよそ2.5円／1時間。ひと月1,800円くらいか。そんな価格でこんなグローバルな耐災害性・負荷分散能力を備えたインフラが構築できてしまうとはお得と言えよう。

現状はLimited Previewなので、いますぐ試したい人は[GCE HTTP LBのドキュメント](https://developers.google.com/compute/docs/load-balancing/http/cross-region-example)にある申し込みフォームから申請してみよう。

----
Disclaimer この記事は個人的なものです｡ここで述べられていることは私の個人的な意見に基づくものであり､私の雇用者には関係はありません｡