GCP VM 启动和关闭脚本复制到哪里?

Where are GCP VM startup and shutdown scripts copied to?

我正在通过 Terraform 创建 GCP VM 实例,并通过元数据提供启动和关闭脚本。我可以看出启动脚本有效,但当 terraform apply 需要销毁实例时,关闭脚本不会 运行。

我想检查关闭脚本是否实际复制到服务器,如果我需要调试模板,我还想检查启动和关闭脚本的内容。

在 AWS 上,它们被复制到 /var/lib/cloud/instance 但在我的 GCP VM 上的相同位置下,我在那里看不到我的脚本。我应该搜索其他位置吗?

不保证 Compute Engine 关闭脚本 运行。

Compute Engine executes shutdown scripts only on a best-effort basis. In rare cases, Compute Engine cannot guarantee that the shutdown script will complete.

Shutdown Script Limitations

可以手动执行一个关机脚本来verify/debug执行:

google_metadata_script_runner shutdown

启动和关闭脚本存储在元数据中。元数据可能表明启动脚本位于 URL(例如 Cloud Storage)。元数据被复制到本地文件以供执行。文件名未记录。

提示:通过实例的串行端口连接,您可以看到关闭 GCEMetadataScripts 事件启动关闭脚本并在执行时查看结果。