OSのアップグレードを実施するためにSSHで接続をしていると警告を言われるため、シリアルコンソール接続を利用してクラウド側から接続を行います。
Google Cloud Consoleから接続し該当のVMを編集し「シリアルポートへの接続を有効にする」をチェックを入れます。その後「シリアルコンソールに接続」ボタンからブラウザ経由で接続を行います(この機能はホント便利ですね、クラウドでの利用でも不便さを感じないのはすばらしい)

シリアルコンソールを接続しているプロンプトで do-release-upgrade
を実行します。(途中かりに接続がきれても再度接続すればつながると思います)
GCEのリソースサイズが小さすぎてものすごい時間(2時間強)を経てやっとUpdate完了、再起動をします。
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
何故か、自動起動をしてないはずの apache2が自動起動してきたりして焦りましたが disableにしておきます。
VM Managerの設定
https://cloud.google.com/compute/docs/manage-os?hl=ja#ubuntu に記載がありますがUbuntuのバージョンによってもことなりますが今回は18.0以降になるので以下のコマンドで導入をします。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \
/etc/apt/sources.list.d/google-compute-engine.list"
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
vi /etc/apt/sources.list.d/google-compute-engine.list
sudo apt update
sudo apt -y install google-osconfig-agent
これでコンソールからVMの情報が見ることが出来るようになります。

バッチのジョブ作成
GCEでは、apt update を自動的に実施するためのサービスが提供されていますのでこちらを設定してみます。

日々の更新をしたいので apt upgrade
を選択します。




作成した後に一度実施するために「今すぐデプロイ」を選択して実行してみます。

上記のように結果が出ています、問題がある場合にはどういう感じで出てくるのかはまだ見れてないのでしばらく利用してから考えていきたいと思います。今回は除外パッケージ等を入れてないのですが実際に本番で使う場合などはコアのパッケージはブロックして手動で確認するなど運用のルールは決めておいたほうがよいでしょう。
(追伸)
- その後 22.04までアップデートしましたがせっかくのクラウドなのでサーバのリソースを増強してすべき
- 22.04になった段階でphp-fpmが 7.4系から 8.1系に変わってしまう。通常であれば「保留」になっているのだが無理にdist-upgradeしたために7.4系が消えてしまう問題が起こった(結局リストアして対応)※このサイトのどうしても php8系だとエラーが消えずに対応できず
- 上記の問題も有り phpが4つバージョンで起動していたので修正
- 途中で apache2が何故か有効化されてしまったので(このサイトはnginx)で停止
- 結果としては時間がかかったくらいで大きな問題もなく完了