管理しているウェブアプリ
Japanese Bloggers Info が動かなくなっていたので、ようやく重い腰を上げて、データストアの移行に乗り出した。それが昨日(2015-08-04)のこと。確認してみると、3 年も前から Master/Slave Datastore は非推奨になっていたのね。そりゃ、アプリも止まるわ、と。
GAE ダッシュボードからリンクをたどってドキュメントを見てみると、衝撃のタイムテーブルを発見。
August 3, 2015: You will no longer be able to re-enable your application. However you will still be able to migrate to HRD.
(拙訳:2015-08-03 で、もうアプリケーションは有効にできなくなります。HRD への移行はできますが。 )
無効になっている M/S アプリは、もう有効にできないとのこと。M/S から HRD への移行には、アプリの複製を作って、そこにプログラムをデプロイ、移行ツールを使って元のアプリからデータをコピー、エイリアスを設定という手順を取るのだけれど、肝心のアプリの複製を作る前提として、そのアプリが有効でないといけない。実際に、無効になっているアプリの複製を取ろうとして失敗したのが、次のスクリーンショット。
Sorry, that operation is not allowed while the application is disabled. This Master/Slave application is disabled.
「アプリケーションが無効になってるから無理です」っていうメッセージと、押せない「再度有効に」のボタン。これは八方ふさがりですね…。
で結局、最後の神頼みとて、GAE のサポートにリクエストを送ることにした。
名前とメールアドレス、電話番号、GAE のプロジェクト ID、リクエスト内容を入力して、送信ボタン押下。リクエスト内容は、「I want to duplicate application settings. Please re-enable my application.」と打ってみたけど、まあご参考に。
すると 1 時間もしないうちに、返信メールが届いた。
Hi,
We have re-enabled your app "japanese-bloggers". Please perform the migration as soon as possible. Feel free to get back to us should you have any questions.
Also, I will forward this case to my colleagues in Tokyo if you need any assistance during Japan business hours.
(拙訳:あなたのアプリケーションを再度有効にしました。できるだけ早く移行してください。質問があればご自由にどうぞ。日本の営業時間中に援助が必要な場合、日本の同僚にこのケースを転送します。)
なんと優しいお言葉!で、本来の移行の手順をたどって、無事
Japanese Bloggers Info が復活したというわけ。移行の参考にしたのが、次のブログ(ありがとうございます!)。説明が分かりやすいので、間違えることはないはず。
ただ一点、「Activate Read-only」の段では、データストア移行に時間をかけられないので「Launch Incremental Copy(増分コピーを起動)」を飛ばして、すぐさま「Activate Read-only」にするのがいいかと。すると、移行自体は 1 時間もかからずに終了。なぜこれをサボっていたのかという感じもしたり…。
ということで、僕みたいにズボラな人がそんなにいるとも思えないプラス、同じようにやってできるかも分からないけれど、一応参考にしてもらえたらと。
ちなみに、前掲タイムテーブルの最後には、2015-08-10 に M/S アプリケーションが完全停止し、アクセスできなくなるということが書かれているので、移行作業はぜひお早めに。
追記(2015-08-05):
その後、GAE サポートから再びメール「移行作業は成功しているけど、課金(Billing)が有効になっていないせいで、QUOTA オーバーを起こしているよ」と。なんと親切なご指摘。エイリアスを設定することで、閲覧者はアプリケーションの変更を意識しないで済むものの、基本的には別のアプリケーションなため、新たな課金設定がいるみたい。元々 GAE の無料枠に収まっていなかったという人は、要注意。課金有効化と「Daily Budget(日ごとの課金上限)」設定をお忘れなく。