Skip to content

Instantly share code, notes, and snippets.

@tatsuru tatsuru/GCE.txt
Created Aug 16, 2015

Embed
What would you like to do?
- GCE 個人アカウント作る。$300 無料すごい
- なんか既にプロジェクトがあった。前に作ったGAEっぽい
- gcutil deprecated って言われてた https://cloud.google.com/compute/docs/gcutil/
-- のでこっちでやる https://cloud.google.com/compute/docs/gcloud-compute/#install
-- gcutil を PATH から消せとか zshrc への追加とかいろいろやってくれて便利
- startup-script 便利
-- gcloud compute instances create test01 --metadata startup-script="apt update; apt install -y nginx-full" --image debian-8
- metadata https://cloud.google.com/compute/docs/metadata
-- 変なヘッダつけないと 403
--- curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/disks/0/mode
-- recursive 便利。jq ほしい
--- curl -H "Metadata-Flavor: Google" http://metadata/computeMetadata/v1/instance/?recursive=true; echo
-- 変更待ったりメンテナンスイベント知れたりすごい便利
- mackerel 入れるスクリプトを startup で
-- https://mackerel.io/orgs/wtatsuru/instruction-agent にある通りのスクリプトをローカルで作って /tmp/mackerel-agent.sh みたいなので保存
>||
#!/bin/sh
curl -fsSL https://mackerel.io/assets/files/scripts/setup-apt.sh | sh
apt update && apt install -y mackerel-agent
sudo sh << SCRIPT
cat >>/etc/mackerel-agent/mackerel-agent.conf <<'EOF';
apikey = "XXX"
EOF
SCRIPT
||<
-- metadata-from-file で指定して起動する
>||
gcloud compute instances create test01 --metadata-from-file startup-script=/tmp/mackerel-agent.sh --image debian-8
||<
- image 作るやつ
-- 普通に作ることはできる
-- image permission いじる導線がない?public image も少ないみたい
-- export するのかな https://cloud.google.com/compute/docs/images#export_an_image_to_google_cloud_storage
-- disk 作る、--disk name=temporary-disk,device-name=temporary-disk を付けて起動、sudo /usr/share/google/safe_format_and_mount -m "mkfs.ext4 -F" /dev/sdb /mnt/tmp、sudo gcimagebundle -d /dev/sda -o /mnt/tmp/ --log_file=/tmp/abc.log
-- mackerel-agent の id は除外したいので excludes に入れる udo gcimagebundle -d /dev/sda -o /mnt/tmp/ --log_file=/tmp/abc.log --excludes=/var/lib/mackerel-agent。人に共有するときは --excludes=/var/lib/mackerel-agent,/etc/mackerel-agent
-- tarball作る、そこからimage作る、最後にインスタンス作る
-- mackerel で無事に別ホストとして起動した
-- Google Cloud Storage のバケットとオブジェクトに read permission つけたら他のアカウントからでも起動した
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.