
Google Cloudから突然届いた英語混じりの通知メール。「セキュアブート証明書が2026年に期限切れになる」と書いてあるけれど、何をすればいいのか分からない、という方は多いのではないでしょうか。
この記事では、メールの意味を丁寧に解説したうえで、Google Compute Engine(GCE)のインスタンスを無料枠を維持しながら再作成し、WindowsとUbuntuの両方からSSHで接続できるようにするまでの完全な手順を紹介します。
対象となるGCEはUbuntu24.04ですが、再作成を機にUbuntu26.04にしています。
Googleから届いたメールとは
2026年5月ごろ、GCPのShielded VMを利用しているユーザーに対して、以下のような件名のメールが届いています。
[推奨処理] Microsoft セキュアブート証明書が 2026 年に期限切れになるのに備えて
Google Cloud Shielded VM の準備を行う
メールのポイントを整理すると、次の通りです。
放置するとどうなるか
すぐにVMが起動しなくなるわけではありません。しかし、証明書が期限切れのまま放置すると、将来的にカーネルやブートローダー(Linuxではshim)のセキュリティアップデートが適用できなくなる可能性があります。つまり、セキュリティ上の脆弱性を修正できなくなるリスクがあります。
影響を受けるVMと受けないVMの違い
影響を受けるVM:
影響を受けないVM:
現在のGCEインスタンスを調査する方法
対応作業の前に、現在のインスタンスの設定を必ず調べておきます。削除後に設定を参照できなくなるためです。
まずはローカルPCにGoogle Cloud CLI(gcloud)がインストールされていることを確認します。
gcloud --version
インストールされていない場合は、後述の「gcloud CLIのインストール」セクションを参照してください。
インスタンスの詳細情報を確認する
gcloud compute instances describe my-vm --zone=us-west1-b --project=your-project-id
このコマンドでマシンタイプ、ディスク構成、ネットワーク設定、タグ、セキュアブートの設定などが一覧で確認できます。
ファイアウォールルールを確認する
gcloud compute firewall-rules list --project=your-project-id \
--format="table(name, network, direction, priority, sourceRanges.list(), targetTags.list(), allowed.list())"
SSHポート(22番)、HTTP(80番)、HTTPS(443番)など、どのようなルールが設定されているかを必ずメモしておきます。インスタンスを再作成しても、ファイアウォールルール自体はプロジェクトに残るため、再設定は不要なケースが多いです。
セキュアブートの設定を確認する
gcloud compute instances describe my-vm --zone=us-west1-b --format="value(shieldedInstanceConfig)"
enableSecureBoot: true と表示されれば、セキュアブートが有効で今回の問題の影響を受けます。
対応方針:なぜ再作成が最善策か
Googleが推奨する対応方法は、古いインスタンスを削除して、最新のイメージで新しいインスタンスを作成することです。
2025年11月7日以降に作成されたインスタンスには、新しいMicrosoftのセキュアブート証明書が自動的に含まれています。そのため、Ubuntu 24.04 LTSで新しいインスタンスを作成するだけで問題が解消されます。
手動でUEFI設定を変更する方法もありますが、操作を誤るとVMが起動不能になるリスクがあります。個人での利用で、かつデータのバックアップが不要なインスタンスの場合は、シンプルな再作成が最も安全です。
Always Free(無料枠)を維持するための注意点
Always Freeでe2-microを無料で使い続けるには、以下の条件を守る必要があります。
また、Always Freeでは1プロジェクトにつきe2-microが1台のみ無料です。古いインスタンスを削除してから新しいものを作成することが重要です。
詳細な手順
事前準備:外部IPアドレスの静的予約
現在のインスタンスには動的な外部IPアドレス(エフェメラルIP)が割り当てられている場合があります。インスタンスを削除するとこのIPアドレスは解放され、再作成後は別のIPになります。
同じIPアドレスを引き継ぎたい場合は、削除前に以下の手順でIPを静的に予約します。
Google Cloud Consoleを使う場合:
- 左メニューから「VPCネットワーク」→「IPアドレス」を開く
- 該当する外部IPアドレスを探す
- 右端の「…」→「静的アドレスに昇格」をクリック
- 名前を付けて(例: my-static-ip)保存する
gcloudコマンドを使う場合:
# 現在の外部IPを確認
gcloud compute instances describe my-vm --zone=us-west1-b \
--format="value(networkInterfaces[0].accessConfigs[0].natIP)"
# 静的IPに昇格(取得したIPアドレスを指定)
gcloud compute addresses create my-static-ip \
--addresses=<取得したIPアドレス> \
--region=us-west1
IPアドレスを引き継がなくてよい場合は、このステップはスキップしてください。
フェーズ1:既存インスタンスの削除
必ずインスタンスの情報を控えてから削除します。
Google Cloud Consoleを使う場合:
- 「Compute Engine」→「VMインスタンス」を開く
- 削除したいインスタンス(「my-vm」の部分は自分のインスタンス名)の左のチェックボックスにチェックを入れる
- 画面上部の「削除」をクリックし、確認ダイアログでも「削除」をクリック
- インスタンス一覧からインスタンス名が消えるまで数分待つ
gcloudコマンドを使う場合:
gcloud compute instances delete my-vm --zone=us-west1-b --project=your-project-id
削除完了の確認:
gcloud compute instances list --project=your-project-id
一覧にインスタンス名が表示されなければ削除完了です。
フェーズ2:新規インスタンスの作成
削除が完了したことを確認してから作成します。
Google Cloud Consoleを使う場合:
- 「Compute Engine」→「VMインスタンス」の画面で「インスタンスを作成」をクリック
- 基本設定:
- マシンの構成:
- ブートディスク(「変更」をクリック):
- セキュリティ設定(「セキュリティ」セクションを展開):
- 静的IPを割り当てる場合:
- 「作成」をクリックし、緑色のチェックマークが付くまで待つ
gcloudコマンドを使う場合:
gcloud compute instances create my-vm \
--project=your-project-id \
--zone=us-west1-b \
--machine-type=e2-micro \
--image-family=ubuntu-2604-lts \
--image-project=ubuntu-os-cloud \
--boot-disk-size=30GB \
--boot-disk-type=pd-standard \
--shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring
静的IPを割り当てる場合は末尾に --address=my-static-ip を追加します。
フェーズ3:ファイアウォール設定の確認
ファイアウォールルール自体はプロジェクトに残るため、基本的な再設定は不要です。 ただし、インスタンスにネットワークタグを使って特定のルールを適用していた場合は、新しいインスタンスにも同じタグを設定します。
# 元のインスタンスと同じネットワークタグを設定する場合
gcloud compute instances add-tags my-vm --zone=us-west1-b --tags=<元のタグ名>
フェーズ4:SSHで接続する
インスタンスが起動したら、まずgcloudコマンド経由でVMに入り、その後sshコマンドで直接接続できるよう設定します。
ステップ1: gcloud経由で初回接続する
WindowsのPowerShellまたはUbuntuの端末から以下を実行します。gcloud CLIがインストール済みであることが前提です。
gcloud compute ssh my-vm --zone=us-west1-b --project=your-project-id --tunnel-through-iap
このコマンドはGoogle Cloud のIAP(Identity-Aware Proxy)経由でVMに接続します。初回実行時はSSH鍵ペアが自動生成されます。
gcloud CLIをまだインストールしていない場合は、https://cloud.google.com/sdk/docs/install からインストールし、gcloud init で初期設定を行ってください。
ステップ2: VM内に接続用ユーザーを作成する(VM内で実行)
gcloud経由でVMに入ったら、普段使い用のユーザーを作成します。
sudo useradd -m -s /bin/bash youruser
sudo usermod -aG sudo youruser
ステップ3: SSH公開鍵を登録する(VM内で実行)
まずSSHディレクトリを作成します。
sudo mkdir -p /home/youruser/.ssh
sudo chmod 700 /home/youruser/.ssh
sudo touch /home/youruser/.ssh/authorized_keys
sudo chmod 600 /home/youruser/.ssh/authorized_keys
sudo chown -R youruser:youruser /home/youruser/.ssh
ローカルPCの公開鍵を確認します(PowerShellまたはUbuntu端末で実行)。
cat ~/.ssh/id_rsa.pub
表示された ssh-rsa AAAA... から始まる内容をコピーして、VMに登録します。
echo "ssh-rsa AAAA...(公開鍵の内容)" | sudo tee /home/youruser/.ssh/authorized_keys
ステップ4: Ubuntu 26.04のSSH socket設定について
Ubuntu 22.04以降ではsshd(SSHサービス)の管理方式が変わり、systemdのソケット起動(socket activation)が採用されています。Ubuntu 26.04でもこの方式が使われています。
通常の設定変更で問題なければそのまま使えますが、もしSSHがIPv6のみに限定されてIPv4接続ができない場合は、以下のオーバーライド設定で修正できます。
sudo mkdir -p /etc/systemd/system/ssh.socket.d
sudo tee /etc/systemd/system/ssh.socket.d/override.conf << 'EOF'
[Socket]
ListenStream=
ListenStream=0.0.0.0:22
EOF
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket ssh.service
設定を確認します。
ss -4 -tlnp | grep :22
0.0.0.0:22 が表示されれば正常です。
ステップ5: sshコマンドで直接接続する
設定が完了したら、gcloudを使わずに通常のsshコマンドで接続します。
WindowsのPowerShellから:
ssh youruser@<VMの外部IPアドレス>
Ubuntuの端末から:
ssh youruser@<VMの外部IPアドレス>
初回接続時は「このホストを信頼しますか?」と表示されるので yes と入力します。
ステップ6: SSH configで接続を簡略化する
毎回IPアドレスやユーザー名を入力するのは手間なので、SSH configファイルに設定を書いておくと便利です。
Windowsの場合: C:\Users\ユーザー名\.ssh\config Ubuntuの場合: ~/.ssh/config
Host my-gce
HostName <VMの外部IPアドレス>
User youruser
IdentityFile ~/.ssh/id_rsa
設定後は ssh my-gce だけで接続できます。
ssh my-gce
接続できれば作業完了です。
よくある質問
Q: 証明書が期限切れになっても、すぐに起動できなくなりますか?
すぐに起動不能になるわけではありません。ただし、将来的にカーネルやブートローダーのセキュリティアップデートが適用できなくなるリスクがあるため、期限前に対応することを推奨します。
Q: 既存のデータは消えますか?
再作成ではOSを新しくセットアップするため、インスタンス上のデータはすべて消えます。今回はGCEを個人的な用途で(かつ未稼働で)利用しているため問題ありませんが、稼働中のサービスにデータがある場合は、事前にスナップショットやバックアップを取得してください。
Q: 再作成後に外部IPアドレスが変わりますか?
エフェメラルIP(動的IP)の場合は、インスタンスを削除すると解放されて別のIPになります。同じIPを引き継ぎたい場合は、削除前に静的IPに昇格させる必要があります(手順書の「事前準備」参照)。
Q: Always Free(無料枠)は維持されますか?
us-west1リージョンでe2-micro、標準永続ディスク30GB以下の構成であれば、無料枠は維持されます。自動バックアップやGPUなどのオプションを追加しないよう注意してください。
Q: gcloudコマンドで接続できない場合はどうすればいいですか?
まずブラウザから「SSH」ボタンで接続できるか試してください。それで接続できる場合は、ファイアウォールの設定やgcloudの初期設定を見直します。ファイアウォールでSSH(TCP 22番)が許可されているか確認します。
gcloud compute firewall-rules list --filter="allowed[].ports:22" --project=your-project-id
まとめ
Googleから届いたセキュアブート証明書の期限切れに関するメールは、2026年6月24日までに対応が推奨されています。
今回の対応のポイントをまとめると以下の通りです。
同じメールを受け取って困っている方の参考になれば幸いです。

