概要
GCPでGCEのLinuxインスタンスで「追加ディスク」を交換したところSSH接続ができなくなったが、ディスクのマウント設定を変更したところ、アクセスできるようになった。
エラーメッセージ
以下のようなエラーが出た。
ポート22でVMに接続できません。 VMに、IP範囲0.0.0.0/0からのTCP上り(内向き)トラフィック(ポート: 22)を許可するファイアウォールルールがあることを確認してください。<以下略>
原因
/etc/fstab
ファイルで交換元のディスクが存在しないとエラーとなる設定だった。
ディスクを交換したことで、交換元ディスクが存在しなくなりエラーとなったため、SSH接続できなくなったものとみられる。
↓のサイトの通りAzureだとちゃんとわかりやすいエラー(Cannot SSH to Linux VM due to FSTAB errors)が出るようだが、GCPだと上記エラーが表示される模様。
Azure CLI を使用して Linux VM にデータ ディスクを追加する - Azure Virtual Machines | Microsoft Learn
対処方法
/etc/fstab
ファイルで、交換元ディスクのエントリにnofail
を記述する。
SSH接続できなくなっても、シリアルポート接続し、/etc/fstab
を書き換えればSSH接続できるようになる。
参考サイト
https://inaba-serverdesign.jp/blog/20170210/cloud_disk_mount_fstab_nofail.html