koni blog

東京のウェブエンジニア koni です!ウェブサービスをガシガシ作っていきます!

Google App Engine プロジェクトのリージョンを東京リージョンに移す(移せない)

こんにちは。

以前から予告されていた、Google Cloud Platform (GCP) の東京リージョン開設がついに発表されました!

Google Cloud Platform Japan 公式ブログ: 東京 GCP リージョン の正式運用を開始しました

東京リージョン開設前は東京から最寄りのリージョンは台湾でしたが、台湾リージョンでは Google App Engine (GAE) は使えません。このため、これまではアメリカ西海岸(us-east1) を使っていることが多かったのではないでしょうか。 このせいで、RTTだけで200ms程度がどうしてもかかってしまっていました。

これが東京になると、数十ms台で通信できるようになります。

これはもう既存のプロジェクトをアメリカ西海岸から東京に移すしかない! ということで、既存の App Engine のリージョンを移す方法を調べてみました。

GAE のリージョンは変えられない

しかし、ドキュメントによると、どうやら一度決めた App Engine のリージョンは変更できないようです。

プロジェクトの作成後に場所を変更することはできません。

Managing Cloud Platform Projects, App Engine Applications, and Billing  |  App Engine standard environment for PHP  |  Google Cloud Platform

今回はほぼ静的なサイトのホスティングのみで、StackDriver なども使っていなかったので、プロジェクトごと作り、DNS の設定変更をすることにします。

※2017/1/11追記 プロジェクト作成時ではなく、AppEngineを使用開始するときに設定するように変わりました。 Google App Engine の場所(リージョン)選択のタイミングが変わった - koni blog

  1. 普通にプロジェクトを作成します。 f:id:konisimple:20161109201054p:plain

ここではロケーションを選ばなくなりました。上記は古い画面です。

いままではなかった、asia-northeast1が選べるようになっています。 これが東京リージョンです! ここで間違って選択すると、後からは変えられません!ご注意。

  1. AppEngineの画面を開き、「はじめてのアプリへようこそ」の下の言語名をクリック f:id:konisimple:20170111015624p:plain

  2. 「ロケーションを選択」で東京である「asia-northeast1」を選択 f:id:konisimple:20170111015653p:plain

  3. デプロイします。

  4. ドメインの設定を変更します。 DNS レコードの TTL を短くしておく、GAE 側の変更する、レコードの向き先を変える、といういつもの手順ですね。

無事に200msとかだったのが、10ms台が出るようになりました! (このサイトは実際にはほぼキャッシュしてもらっているので、あんまり関係ないけどね!w)

台湾リージョンでも GAEが使えるようになれば、マルチリージョンでスケールするようになって冗長性が高まるのですが、今でもリージョン単位でスケールする(複数のゾーンにまたがってスケールする)ので、十分そうですね。

参考

リージョン・ゾーンの一覧があります。 Global Locations - Regions & Zones  |  Google Cloud Platform