How do I add a startup script to an existing VM from the developer console?
You can add a startup script to an already created VM by creating a new custom metadata field. Follow these steps:
- Get to your VM's configuration page: Navigate to https://console.developers.google.com Click your project. Go to Compute -> Compute Engine -> VM Instances. Click the name of your VM.
- Scroll down to Custom Metadata. Click Edit.
- Create a new metadata field. Set the key to
startup-script
. Paste your startup script into the value field. Don't forget the shebang. Here's an example of a valid script.
#! /bin/bash apt-get update apt-get install -y apache2 cat <<EOF > /var/www/index.html <html><body><h1>Hello World</h1> <p>This page was created from a simple startup script!</p> </body></html> EOF
- Restart your VM. Enjoy the yields of your awesome startup script.
Thanks to mimming's answer, I was looking for this to solve my issue regarding multiple IP, and his answer help me get started and finally solved my problem by add below startup-script when reboot the instance.
#! /bin/bash
sleep 60
/usr/sbin/ip route add default via 10.8.8.1 dev eth1 table rt1
/usr/sbin/ip rule add from 10.8.8.3/32 table rt1
/usr/sbin/ip rule add to 10.8.8.3/32 table rt1
remember to add "sleep 60" otherwise it might not working cause the networking not started yet.