LoginSignup
0
0

Google Compute Engine に Ubuntu デスクトップ環境を作ってリモート接続してみた

Last updated at Posted at 2024-04-28

はじめに

友人(@digital24s さん)に誘われて、Google Compute Engine に Windows 環境を作ってリモートデスクトップ接続するまで、一緒にトライしました。

Google Compute Engine に Windows 環境を作ってリモートデスクトップ接続してみた #GoogleCloud - Qiita

Winodws 環境でなく Ubuntu デスクトップ環境を作ってみることにしました。

Google Compute Engine に Ubuntu デスクトップ環境を作ってリモート接続する

以下の記事を参考にしました。

Google Compute Engine に Windows 環境を作ってリモートデスクトップ接続してみた #GoogleCloud - Qiita

Ubuntu server 20.04.2 をリモートデスクトップ専用機としてセットアップする。 #ubuntu20.04 - Qiita

プロジェクトを作成する

プロジェクトを作成する

以下の項目を指定してプロジェクトを作成します。

  • 名前:任意
  • ID:任意

「Compute Engine API」を有効にする

作成したプロジェクトを選択します。
そして「Compute Engine API」を有効にしておきます。

VPC を作成する

VPC を作成する

「Compute Engine API」を有効にすると、プロジェクトに VPC「default」が自動で作成されます。
今回はこれを使用します。

サブネットを作成する

VPC「default」には、サブネット「default」が自動で作成されています。これを使用することにします。

インターネットゲートウェイとルートテーブルを作成する

EC2 ではインターネットゲートウェイを作成して、仮想ネットワーク内宛「以外」の通信をインターネットゲートウェイに向くよう設定するルートテーブルを作成しました。
GCP では、デフォルトのインターネットゲートウェイとルートテーブルが作成されています。これを使用します。

参考:Google CloudのVPCを基礎から始める

VM インスタンスを作成する

仮想マシンの設定する

以下の項目を指定して VM インスタンスを作成します。

  • 名前:任意
  • リージョン:選択
  • ゾーン:選択

リージョンは、自分に近いところにします。リモートデスクトップ接続して操作したときの反応に影響します。日本国内が望ましいのですが、単価が高いのが悩むところです。

マシンの構成を設定する

以下の項目を設定します。

  • ファミリー:汎用
  • シリーズ:E2
  • タイプ:e2-standard-2 (2 CPU 8 GB メモリ)

タイプつまり性能は、自分の用途に合わせて決めます。

  • 可用性ポリシー:標準

可用性ポリシーは、サーバ機のように常時安定稼動が必要ないなら「スポット」もいいでしょう。単価が安くできます。

ブートディスクの設定する

「変更」実行して以下の項目を設定します。

  • OS:Ubuntu
  • バージョン:22.04 LTS
  • ブートディスクの種類:標準永続ディスク
  • サイズ:20GB

バージョン、ディスクの種類とサイズは、自分の用途に合わせて決めます。

残りの項目は既定のままで進めます。

ファイアウォールの設定する

以下の項目を設定します。設定に従ってファイアウォールが作成されます。

  • HTTP トラフィックを許可する
  • HTTPS トラフィックを許可する

ネットワークの設定する

仮想マシンのネットワークの設定します。

  • ネットワーク:「default」が選択されている
  • サブネットワーク:「default」が選択されている

参考:VPC ネットワーキングと Google Compute Engine を使ってみる | Google Cloud Skills Boost

残りの項目は既定のままで進めます。

IP アドレスの設定する

予め IP アドレスを作成しておいて仮想マシンに適用することもできますが、仮想マシンの設定の時点で以下の設定すると IP が作成されます。

  • プライマリ内部 IPv4 アドレス:エフェメラル(自動)
  • 外部 IPv4 アドレス:静的 IP アドレスを予約

以下の項目を指定して静的 IP アドレスを作成します。

  • 名前:任意

参考:GCP Compute Engineで静的IPアドレスを割り当てる | yusuke.blog

静的アドレスを設定すると、維持費用が掛かります。費用を抑えるために、動的=エフェメラルの設定にして、起動した時点で管理画面でアドレスを確認して、リモートデスクトップ接続に使用する運用でも構いません。

その他の設定する

その他の設定は既定のままで進めます。

VM インスタンスを起動する

作成した VM インスタンスを選択して「起動」実行します。

SSH 接続する

接続の設定を確認する

起動している VM インスタンスを選択して「接続」の設定します。
以下のいずれかの方法で接続できます。

  • Google Cloud 管理画面の「SSH」ボタンつまり「ブラウザウィンドウで開く」を使う
  • ターミナルソフトで「gcloud」コマンドを使う
  • SSH クライアントソフトで接続する

参考:詳解 Google Compute Engineへの接続

このうち「ブラウザウィンドウで開く」ことにします。

SSH 接続する

Google Cloud 管理画面の「SSH」ボタン押下あるは「接続」の選択メニューで「ブラウザウィンドウで開く」を実行します。
Google Cloud が、ブラウザウィンドウでターミナル画面を用意して、自動で SSH 認証鍵を作成して登録して、Google アカウントと同じ名前のユーザでログインまでしてくれます。

デスクトップ環境をインストールしてリモート接続する

一般的な Linux ディストリビューションは、いわゆるデスクトップ環境が導入されています。ところが、Google Compute Engine サービスで用意されている Linux マシンは、デスクトップ環境が導入されていません。

作成した仮想マシンにデスクトップ環境をインストールします。

参考:AWS EC2でデスクトップ環境をつくる ~ Ubuntu Server 18.04 LTS GNOME編~ #AWS - Qiita
参考:Azure仮想マシンでUbuntu Server 22.04 にDesktop を導入してRDP接続する - 技術的な何か。
参考:Google Compute Engine でUbuntu Desktop (KDE)環境を構築してリモートデスクトップから接続する · GitHub

Ubuntu Desktop をインストールする

仮想マシンで以下のコマンド入力します。

$ sudo apt -y update
$ sudo apt -y upgrade

これを忘れて VM インスタンスの apt の環境のまま作業したら、上手くいきませんでした。↑

ubuntu-desktop をインストールします。↓

$ sudo apt -y install ubuntu-desktop

xrdp をインストールする

Windows と同様に RDP で接続したいので、xrdp をインストールして有効化します。

$ sudo apt -y install xrdp
$ sudo systemctl enable xrdp

接続するユーザとパスワードを設定する

Google Compute Engine の Windows 環境は Google Cloud の管理画面でユーザとパスワードを設定できましたが、Linux 環境は仮想マシン上で設定します。

$ sudo adduser (任意のユーザ名)
(パスワードなど入力)
$ sudo gpasswd -a (上記のユーザ名) sudo

リモートデスクトップ接続する

接続元の環境で RDP クライアントツール(Windows なら「リモートデスクトップ接続」)を起動します。
以下の情報を使って接続してログインします。

  • 接続先:前述の設定画面で取得した IP アドレス
  • ユーザ名:前述の設定画面で設定したユーザ名
  • パスワード:前述の設定画面で設定したパスワード

キーボードレイアウトや日本語入力環境など設定する

キーボードレイアウトを設定する

Ubuntu で日本語キーボードレイアウト #Ubuntu - Qiita

デスクトップを日本語環境にする

Ubuntu20.04の日本語化 #Ubuntu - Qiita

日本語入力を有効にする

Ubuntu 20.04での日本語入力の設定方法|k_mitsunami

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0