リリースしたけれど、何かしらの不具合があって切り戻しが必要になったとき。
CloudRunなら管理コンソールから簡単に切り戻しが可能です。
この機能自体は切り戻し用、というよりは複数のバージョン(リビジョン)を一定の割合で配置して変更のインパクトを抑えつつリリースする、みたいのが本来の趣旨かなとは思いますが、切り戻しにも使えます。
その流れを以下に記載します。
なお、環境や状況によってはこの方法での切り戻しが正解にはならない場合がある点はあらかじめご了承ください。
(1) リビジョンタブを表示する
該当のインスタンスを選択して「リビジョン」のタブを選択しましょう。
ここにこれまでにリリースされてきた一連のリビジョンを確認することができます。
この現在〜過去のリビジョンのいずれかを指定することで簡単に切り戻しが可能です。
「デプロイしました」の項目にタイムスタンプがあるのがわかりやすくていいですね。
(2) 「トラフィックを管理」を選択する
右側の「操作」のボタンを押して「トラフィックを管理」を選択しましょう。
(3) 切り戻し先を選択する
ここで表示されたダイアログで、「切り戻し先」のリビジョンを指定します。
そして、振り分けを100として保存しましょう。
以上で完了です。少し待つと、指定したリビジョンに切り替わります。
早い!
リポジトリをrevertとかして再びデプロイ、とかより断然早いと思います。
補足
さて、切り戻しをした後に不具合などを修正して再リリースすると思いますが、今のままではデプロイが完了しても最新のリビジョンに自動的には切り替わりません。
上記の手順同様にトラフィックの管理で「Latest healthy version」を指定して100に振り分けしておきましょう。
切り戻しが発生しないように開発をするのが一番ですが、それでも起きる時には起きちゃいます。
緊急時にサッと戻せるのでとても便利ですね。