HerokuのStackをCedar-14からアップグレードする

1,はじめに

Herokuで運用しているアプリがある。

そのうちの1つについて、Herokuからメールが来た。

The Heroku Cedar-14 stack was previously deprecated on May 3, 2018, and the end-of-life (EOL) window has now begun in accordance with Heroku’s stack policy. Your Heroku account has one or more apps running on the Cedar-14 stack.

2019/05/02 at 03:16 by Heroku ( stack-feedback@heroku.com )

すなわち、アプリを動かしているインフラ基盤のサポートを終了したいから、あなたが動かしているアプリの動作環境を更新してくださいとのことだ。

あれ、一度デプロイすればずっとほったらかしでいいのがHerokuのいいところじゃなかったけ?

メールを読むと、どのようにアップグレードするのか書いてある。

2,では、更新しよう

更新は「Upgrading to the Latest Stack | Heroku Dev Center」に記載されている手順に基づき行う。

アップグレードの方法は、HerokuのCLIから行う方法と、ダッシュボードから行う方法の2つが用意されている。

わざわざCLIを叩くのは面倒くさいので、ダッシュボードから更新を行う。

Upgrading via Dashboard

To upgrade via the Heroku Dashboard, navigate to your app settings page. Click the Upgrade Stack button. Confirm that you want to upgrade, which will set the stack to the latest version. You will see that the stack upgrade is pending; the upgrade with take affect on the next deploy.

Upgrading to the Latest Stack | Heroku Dev Center

(1)Herokuにログインしてアプリ一覧を表示する

Herokuにログインし、アプリ一覧の画面を表示する。

Heroku アプリ一覧画面

今回メールでインフラ基盤のアップグレードを求められたアプリは上から3番目の「Groupinger」である。

(2)アプリのダッシュボードを表示する

アプリ名をクリックすると、ダッシュボード画面が表示される。

Heroku ダッシュボード
Heroku ダッシュボード

このダッシュボードの中にある「Settings」をクリックする。

すると、下記のような画面が表示される。

Heroku App Settings
Heroku App Settings

(3)設定画面からインフラ基盤を更新する

上記で表示した「Settings」画面を下にスクロールすると下記の項目が表示される。

Heroku Settings on Upgrade
Heroku Settings on Upgrade

ここに「Upgrade Stack」ボタンがあるので、それをクリックする。

クリックすると下記の様な確認画面が表示される。

Heroku Stack Upgrade
Heroku Stack Upgrade

注意書きを読んだ上で「Confirm」ボタンを押下する。

You are about to upgrade to the heroku-18 stack. You will have to redeploy your app for the change to take effect.

https://dashboard.heroku.com/apps/groupinger/settings

すなわち、次回のデプロイからHerokuのインフラ基盤が更新されますよ、ということである。

Confirm」ボタンを押下すると、アプリの設定画面の記載が変化する。

After Heroku Stack Upgrade.
After Heroku Stack Upgrade.

変化した記載は次の通りである。

heroku-18 will replace cedar-14 on the next deploy

https://dashboard.heroku.com/apps/groupinger/settings

すなわち、次回のデプロイの際にインフラ基盤を更新する、ということである。

(4)アプリのデプロイを行う

アプリごとのダッシュボード画面の「Deploy」をクリックし、デプロイ画面を表示する。

Heroku on deploy page
Heroku on deploy page

このページを下の方にスクロールしていくと「Manual deploy」の項目がある。

Heroku on Manual deploy
Manual deploy

ここから、手動でのデプロイができる。

なお、本アプリケーションはGitHubと連動させているため、こういうことができるのであり、Heroku CLIからデプロイしているような通常のアプリの場合、このデプロイ手法は使えないと思われる。

では、「Deploy Branch」ボタンを押下する。

Deploy Branch
Deploy Branch

GitHubからソースコード一式が読み取られ、ビルドが行われた。

そして「Your app was successfully deployed.」と表示され、デプロイが正常に完了した。

(5)インフラ基盤の更新の確認

デプロイ実行後にアプリの「Settings」ページを確認する。

Heroku Settings page
Heroku Settings page

「Stack」の表示が「cedar-14」から「heroku-18」に変化している。

以上で、Herokuのインフラ基盤の更新は完了である。

3,おわりに

一度デプロイすれば後のことはほったらかしでいい。

そう考えていた時期が僕にもありました。

インフラ周りのことを考えずに、アプリ開発に集中できる。

そう考えていた時期が僕にもありました。

ですが、現実は違うのです。

こういう形で、アプリを動かす基盤の更新等をしないといかんのですよ・・・

まぁ別にいいけど。

業務アプリの場合、インフラ更新に伴う非互換がないかのテスト等の実施が想定されるが、heroku-18とcedar-14の違いもよくわからない。

こういうPaaSで業務アプリを動かすのは少し怖いかな、なんてね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA