ローカルのArchlinuxをGCEに移行してみた(移行中)
GCE上にArchlinuxでVNCサーバを立てたという話です。
はじめまして、みやぴと申します。社会人3年目になって今更ですが、ブログをはじめました。 日本語苦手なので、誤字脱字などありましたら、優しく指摘してください。
経緯
大学生の頃からArchlinuxを使用しているのですが、色々といじっていたらぶっ壊れてしまい、再インストールの衝動に何度もかられ(実際には時間がなく再インストールしていない…)、一から環境を作り直すをしんどいなと思ってました。 そのときにふとGCPにArchlinuxでVNCサーバを立てればいいじゃないかと思い立ちました。 なんでGCPなのかというと
- 仕事で利用する機会があり、慣れている
- 無料試用期間中300ドルのクレジットがもらえる(いつか勉強しようと思って使い余していた…)
なので、無料試用期間中に実際に運用しようと思いました。
構成
使用したツール
GCP上に立てるGCEインスタンスはansibleを用いて管理することにしました。ローカルのArchlinuxに構成管理ツールを使わなかったことを何度も後悔したので…
実際に使っているものは、githubにあげてます。
ansible初心者なので、archlinuxのansibleはこちらを参考にしました。
やったことは、
$ gcloud compute instances create archlinux \ --machine-type=n1-standard-2 \ --boot-disk-size=20GB \ --image-project=arch-linux-gce \ --image-family=arch
2.VNCサーバに必要なパッケージのインストール(ansibleで管理している)
主に入れているものは以下
- TigerVNC
- デスクトップ or ディスプレイマネージャ(私はi3 wmを利用しているのでi3 wmを入れた)
- その他必要なパッケージ
3.VNCサーバの起動
$ vncserver
4.GCE上に立てているVNCサーバとの接続
GCEとの接続は、SSHポートフォワーディングで行っています。
$ gcloud compute ssh ${インスタンス名} -- -L 5901:localhost:5901
あとは、VNC Viewer でローカルホストの5901に接続するだけです。
デモ
「どれくらい遅延とかあるの?」と疑問に思う方多いと思いますが、個人的には許容できる範囲かと思います。まだ、ブラウザとターミナルぐらいしかためしていないですが… このブログもGCE上から書いてます。