0xf

日記だよ

Google CloudShellに環境を作る

備忘録。

CloudShell を育てて Apple Silicon を積んだ MacBook が届いても日常生活に困らないようにする作戦を立てている。

Google CloudShell

  • Google Cloud に無料でついてくるLinux環境。2020年時点では Debian 10系。g1-small (vCPU 0.5, RAM: 1.70G) 相当のマシンらしい。24 時間 n1-standard-1 (vCPU: 1, Ram: 3.75G) にブーストすることができる。
    • ブラウザでコンソールが開いてアクセスできる他、gcloud alpha cloud-shell ssh などで手元のターミナルからsshすることもできる。
  • gcloudとかjqはセットアップ済み。GAEなどで使いそうな開発環境はセットアップされている。awscliは入ってない。bash以外のシェルもない。
  • Google Cloud のプロジェクトに紐づかない。そのため、プロジェクトに紐づいたリソースと直接アタッチできない。永続ディスクをマウントするような技は使えない。
    • プロジェクトに紐づかないので、つまり Google のアカウントに紐づくと思ってよさそう? 複数のプロジェクトを管理する手元環境をセットアップしておくと便利な感じ。
  • セッション切ると20分でVMが消える。システムワイドな変更は消滅する。ホームディレクトリは5Gに制限されているが、セッション切断したあと120日間永続する。
    • ~/.customize_environmentスクリプトを書いておくと、VMがプロビジョニングされる時にスクリプトが実行される。
    • chmod 755 ~/.customize_environment しておくとよい。
    • sudo できるのであまり起動時のオーバーヘッドにならない範囲でプロビジョニングスクリプトが書ける。あんまり時間かかるようだとカスタムイメージを用意する手段もある。
  • 実行時間には1週間168時間の制限があるらしい。(ドキュメントには 60時間と書いていたけどどうなのかしら) 延長はリクエストできるそうである。

最初にやる

awscli をインストールしておく。

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./install -i ~/.local/aws-cli -b ~/.local/bin

terraform をインストールしておく。(0.13系が使いたいので)

curl -O https://releases.hashicorp.com/terraform/0.13.5/terraform_0.13.5_linux_amd64.zip
unzip terraform_0.13.5_linux_amd64.zip
cp terraform ~/.local/bin/

~/.customize_environment に環境のセットアップを設定しておく。+xつけとかないと実行されないかもしれない。

# awscli のアップデート
${HOME}/install -i ~/.local/aws-cli --update

# ツール類
sudo apt-get install -y peco tig
pip3 install ansible

pipとかで突っ込んだツールにパスを通す

export PATH=$PATH:${HOME}/.local/bin

今度やる

  • 最近 Visual Studio Code メインでやってたけど vim を復活させる。
  • ずっと screen 使っていたけど tmux 使うようにする