LoginSignup
10
1

More than 1 year has passed since last update.

Google Cloudの IAP Desktopをつかってみよう!

こんにちは、京セラコミュニケーションシステム櫻木 (@kccs_nobuaki-sakuragi)です。

今回は、製造業関連の伴走型Dx支援やLift&Shift案件(クラウド移行案件)をしている際によく質問される「Google Cloud内にあるWindows簡単に接続できないの?」に答える為、この記事を記載しました。今回はGoogle Cloud製のIAP DesktopクライアントソフトがGitHubで公開されていますのでそれを紹介します。

前回の記事でgcloudコマンドを活用し、Windowsリモートデスクトップに接続する方法を説明しました。このIAP Desktopクライアントを利用するともっと簡単にGoogle Cloud上のWindowsサーバへアクセスする事が可能になります。

Google CloudはCloud Identity-Aware Proxy使うことにより便利になったけど、「Windowsへアクセスするのはやっぱり大変」と思っていた方、この記事が参考になればWindowsサーバの活用も検討してみては如何でしょうか。

IAP Desktopを活用するとこんな感じでGoogle Cloudへのオペレーションが簡単にできます。

本記事の対象者

  • Google CloudのCompute Engine(以降GCE)上にWindowsサーバーを起動させている方
  • Google認証情報をつかってIAP経由でWindowsを利用したい方
  • HTTPSの通信許可だけでWindowsのリモートデスクトップ(RDP)やLinuxへSSHリモートアクセス接続したい方

Google Cloud IAP Desktopとは?

IAP Desktopは、Google Cloudで実行されるVMインスタンスへ接続するためのWindowsアプリケーションです。
このソフトウェアを利用すると複数のWindowsリモートデスクトップとLinuxのSSH接続を操作・管理が可能です。

IAP DesktopはIdentity-Aware-ProxyTCPトンネリングを使用してVMインスタンスに接続できます。その為、セキュリティやアクセス制御はgcloudコマンドのCloud IAPの仕様と同じになります。

Google CloudのIAMで権限管理が一元化できる事もメリットです。

特徴

  • パブリックインターネットのIPを公開していなくもSSHやRDPへ接続可能
  • Identity-Aware ProxyのTCP転送トンネルはHTTPS経由で接続します。その為、接続元のネットワークはHTTPSの許可がされていれば利用可能です。
  • Cloud IAMを使用して、VMへの接続許可を細かく制御できます。
  • Google製のDesktopクライアント

利用環境

利用可能なOS

  • Windowsクライアント
    Windows 8、Windows Server 2012以降

IAP Desktopを使用する為には、併せて次のGoogle Cloudの設定も必要となります。

1.VPCへの通信許可設定

接続したいVMがあるVPCへIAP Desktopネットワークからの通信許可をしてください。

参考:Firewallルール登録コマンド

gcloud compute firewall-rules create allow-rdp-ingress-from-iap \
    --direction=INGRESS \
    --action=allow \
    --rules=tcp:3389,tcp:22 \
    --source-ranges=35.235.240.0/20

2.利用ユーザへのIAP(CloudI dentity-Aware Proxy)権限付与

プロジェクトのプロジェクトオーナーの場合は、IAPデスクトップを使用するため必要なすべての権限を持っています。
編集者より下の権限しか割り当て貰っていないユーザの方はProjectオーナ権限をもっている方へ次の2つの権限付与してもらうように依頼してください。

アクセス権限は、それぞれのVMへのアクセスや起動・停止などを実施する場合は、それに応じた権限付与をする必要があります。
細かな制限をしない場合は[Compute インスタンス管理者(V1)]を設定しておくとVMへの操作とアクセスが可能となります。

詳細な設定方法は、Idnetity-Aware Proxyを活用しVPNフリーなメンテナンスをしよう!に記載していますので、参考にしてください。

最新のIAP Desktopの前提条件は、Google Cloud IPA DesktopのGitページをご確認ください。

Google Cloud IAP Desktopのインストール

インストール方法はこちらのURLの抜粋版になります。

IAP Desktopのインストール

1.最新のインストーラーをダウンロード

IapDesktop.msi をダウンロードします。

リリースノートが表示されます、大きなアップデートが今後あるそうです。
将来的には64Bitのみになるようです。

リリース情報には過去のアップデート情報も記載されています、最新版をつかってみて「あれ、前の機能と変更されている?」という場合は一度リリース情報を確認するのがよいと考えています。

IAPDesktop内の機能が別ツールに移行したなども記載もありました。チーム内で同じツールを使っていて何かメニューが違うなというときは要確認です。

2.インストールの開始

ダウンロードしたファイルをダブルクリックしてIapDesktop.msi、インストールを開始し、インストーラーを起動します。

3.ライセンスへの同意

Apache 2.0 ライセンスに同意する場合は、[インストール] をクリックします。

4.インストールの完了

インストールが完了したら、[完了] をクリックして IAPDesktopを起動します。
2.png

IAP Desktopの初期設定

IAP Desktopは初回起動時に環境設定が必要になります。
次の手順で設定します。

1.IAP Desktop起動と[サインイン]

ダイアログが表示されます、[サインイン]表記がでましたらサインインをクリックします。

ボタンを押すとログインWebブラウザウィンドウが開きます。
3.png

2.サインイン

Google ユーザーアカウントでサインインします。
4.png

3.サインインユーザを利用したIAPDesktopへの権限付与

IAP Desktopへの権限付与設定をします。
[IAP Desktopが Google アカウントへのアクセスを求めています]画面で、チェックボックスを有効に設定します。
IAP デスクトップがGoogle Cloud データを表示、編集、構成、および削除できるようにします。

IAP Desktop では、Google Cloud プロジェクトにアクセスし、IAP TCP 転送を使用するために、このスコープが必要です。
8.png

チェックを入れない場合次の認証エラーの画面がでます。
もし、認証エラーになった場合は、一度IAP Desktopクライアントを再起動する事により再度設定可能です。
上記の「Google Cloudのデータ参照、編集、設定、削除、Googleアカウントのメールアドレスの参照」にチェックを入れ直し再設定してください。
7.png

4.サインイン完了

[続行]をクリックしてサインインを完了します。
完了すると画面上に次のメッセージが表示されます。
6.png

5.利用プロジェクトの登録設定

[プロジェクトの追加] ダイアログで、Google Cloud プロジェクトを選択し、[プロジェクトの追加] をクリックします。

プロジェクトを選択します。
12.png

プロジェクト エクスプローラーに、プロジェクトと、プロジェクトに含まれるすべてのVMインスタンスが表示されるようになりました。

プロジェクトエクスプローラー
必要に応じて、メニューで [ファイル] > [プロジェクトの追加] をクリックして、さらにプロジェクトを追加します。

IAP Desktop のインストールは完了です。

6.初期設定の完了

スタートメニューのIAP Desktopアイコンから起動する事ができます。
19.png

※IAP Desktopは、利用ユーザがProjectのオーナ権限がある場合は、接続可能ですが、編集者より下位の権限の場合はIAPのトンネルの許可を個別で付与する必要があります。
編集者権限より下位の権限の場合はこの記事を参考にしながら、Identity-Aware Proxyのへの接続権限を付与してください。

IAP Desktopを利用しWindowsサーバへリモートデスクトップ接続してみよう。

リモート デスクトップ (RDP) を使用してWindowsVMに接続するには、次の手順を実行します。

1.IAP Desktop画面の構成

画面左のProject Explorerツール ウィンドウにIAP Desktop内へ設定したプロジェクトとVMインスタンスが表示されます。

次の様な階層構造になっている為、プロジェクトとリージョンがわかりやすく配置されています。

     Project名
         └ リージョン-ゾーン
             └ インスタンス名

2.WindowsOSの起動

Project Explolerツールからインスタンスの起動・停止などもする事が可能です。
まずは、Windowsサーバを起動してみます。
起動したいWindowsVMへ右クリックし、 [Control] を選択、[Start]を選択します。
30.png

Start VM instance と表示されます。
OSを起動して良いか確認がありますので、[はい(Y)]ボタンを教えてください。
ボタンを押すとOSが起動します。Linuxも同様のオペレーションでOSの起動が可能です。
31.png

画面左下に、OSのステータス状況が表示されます。
32.png

OSが起動すると、PCの画像にz文字が無くなります。
33.png

3.WindowsVMユーザの作成

WindowsVM用のユーザとパスワードを新規に作成してみます。
Generate Windows logon Credentialsを選択します。
34.png

3−1.パスワードを更新するユーザもしくは、新規のユーザを入力し、[OK]ボタンを押します。

35.png

3-2.Windows logon credentialsを生成します。

36.png

生成が完了したら、Logon credentials画面が表示されます。

作成されたパスワードは、ここで取得できます。
クリップボードボタンを押しパスワードをコピーしメモ帳などに貼りつけ生成されたパスワードを確認し管理してください。

37.png

4.Windowsリモートデスクトップへ接続

38.png

簡単にGoogleCloud上のWindowsへアクセスできました!
39.png

5.Widnows OSを停止します。

Windowsの作業が完了しましたら、[Project Explorer]のWindowsインスタンスを右クリックし
[Control]から[Stop]を押しOSを停止します。
39-1.png

Stop VM instanceウィンドウが表示されたら、[はい(Y)]を押してOSを停止してください。
39-2.png

6.RDP接続設定のカスタマイズ

接続設定をカスタマイズするには、接続設定ツールウィンドウを使用できます。

プロジェクト エクスプローラーツール ウィンドウで、VMインスタンスを右クリックし、[接続設定]を選択します。

[接続設定]ウィンドウで、必要に応じて設定をカスタマイズします。
42.png

ユーザ名やパスワードを変更したい場合はこちらのプロパティで設定変更します。
43.png

注: デフォルト以外の設定を指定すると、文字が太字で表示されます。

IAP Desktopの画面からはWindowsクライアントかLinuxクライアントを判別するには、インスタンスを選択し、[右クリック]をし、[Properties]を選択します。
40.png

ネーミングルールでOSを判別しておくのが良いですが、できない場合はPropatiesの情報を見ながら、OSの種別する事も可能です。
Instance DetailsのLicensesに利用しているOSのバージョンが表示されます。
41.png

(おまけ)IAP Desktopを利用しLinuxサーバへリモートデスクトップ接続してみよう。

接続したいLinux VMインスタンスを選択し、右クリックします。
[Connect]を押し、VMインスタンスへ接続します。
22.png

Windowsとは異なり、Linuxは標準でGoogle CloudのGoogle IDとLinuxOSの権限が連携している為、1クリックでログインできます。
23.png

24.png

WindowsOSと同じく、[Controle]メニューで起動・停止などのオペレーションも可能です。
25.png

停止前にStopVM Windowsが表示され、間違って停止ししない作りになっています。
26.png

最後に

今回はGoogle Cloud のIAP Desktopの接続方法・使い方をまとめてみました。
比較的簡単に設定ができ、GCEへのアクセスが非常に便利です。

Linux接続時はオペレーションLogが記録できない為、OS側でscriptコマンドなどで、Logを保管するなどしながら使うといいかもしれません。

また、IAP Desktopを利用するとGCEへのアクセスがIAMで管理できる為、既存のセキュリティーポリシーへの影響も少なくオペレーションもしやすくなって非常に便利です。
Windowsを利用する場合はこのツールも積極的に活用していきたいと考えています。

本記事は2022年11月に作成しております。よって、引用している文章などはこの時点での最新となります。ご了承ください。

10
1
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
10
1