セキュア・デスクトップは去年リリースされたOCI上でのマネージドなVDIサービスです。サービス自体については以前の記事↓を参照してください。
OCIセキュア・デスクトップ(OCI Secure Desktops)を使ってみる
先日リリースされたセキュア・デスクトップの新機能の一つで、プライベート・アクセスが利用可能になりました!
これまでは、デスクトップ・ユーザがアクセスする際のネットワークはインターネット経由となっていましたが、プライベート・エンドポイントを使用することで、VCN内またはオンプレミス・ネットワークからOCI上のデスクトップにプライベート・ネットワーク経由でのみアクセスすることができてセキュリティの向上につながります。
さっそくこちらを試してみたいと思います!
VPNや閉域網接続の環境を持っていないので、OCI内のプライベート・サブネット内のWindowsインスタンスを作成してこれをクライアント端末に見立てて実施していきます。
また、プライベート・サブネット内の端末用のインスタンスへは、踏み台用のインスタンスにリモートデスクトップ接続してからさらにリモートデスクトップ接続していきます。ちょっと複雑ですが、以下のようなイメージです。実際に実施したいのは一番下のプライベート・サブネット内の端末からセキュア・デスクトップへの接続です。
0. VCNの設定とクライアント端末としてのWindowsインスタンス、踏み台用インスタンスの作成
- IAMポリシーの設定は前回の記事と同じ設定を使っていきます。
- 端末用のインスタンスを配置するプライベート・サブネットには、サービス・ゲートウェイとNATゲートウェイへのルート・ルールを記載しておきます。
- また、プライベート・サブネットのセキュリティ・リストで、RDP(TCP port3389)と、HTTPS(TCP port443)のイングレス・ルールを許可しておきます。プライベート・エンドポイント用のNSGにルールを追加しても構いませんが、今回は簡易的にサブネットのセキュリティ・リストで設定しました。
- VCNのプライベート・サブネット内にWindowsインスタンスを作成しておきます。シェイプやOSバージョンはなんでもかまいません。
- さらに踏み台用のインスタンスをパブリック・サブネットに作成します。こちらはパブリックIPを持っていますので、私のPCからインターネット経由でアクセス可能です。このインスタンスを経由して二段階でRDPしていきます。
1. デスクトップ・イメージの準備
以前の記事のデスクトップ・イメージの準備を参考にイメージを準備します。今回も事前構成されたOracle Linux 8の汎用イメージを使用しました。イメージは随時更新されているので最新版を使用していきましょう。
2. プライベート・アクセスを有効にしたデスクトップ・プールの作成
-
コンソールのメニュー「コンピュート」→「セキュア・デスクトップ」→「デスクトップ・プール」の画面で「デスクトップ・プールの作成」ボタンをクリックしてデスクトップ・プールの作成画面を開きます。
-
以下の項目を入力していきます。オプション項目は特に入力しなくても構いません。
-
名前:好きなデスクトップ・プールの名前をつけます。ここでは、Demo_PrivateDesktopPoolとしています。
-
プール・サイズ:
- 最大サイズ:このデスクトップ・プール内で起動できるデスクトップの最大数です。最小10から入力可能です。ここでは10にしています。
- スタバイ・サイズ:ユーザがアクセスする前にあらかじめインスタンスを起動して準備しておくスタンバイ用デスクトップの数です。0から最大サイズまでの範囲で入力します。ここではゼロにしてます。
-
イメージとシェイプ
- デスクトップ・イメージ:手順1で準備したイメージを選択します。
- Use dedicated virtual machine host:今回は共有ホスト上に配置するので無効のまま。もし専用仮想マシンホスト(DVH)を利用する場合は有効化する。
- Desktop virtual machine shape type:フレキシブルを選択。(注:「修正済」→Fixed Shapeの日本語訳。つまり固定シェイプのことです。)
- デスクトップ・シェイプ:好きなシェイプで構いませんが、ここでは最新の VM.Standard.E5.Flex を選択。
- Desktop system resource configuration:ここではカスタムを選択。これも新機能の一つです。OCPU数やメモリサイズを柔軟にカスタマイズできます。
-
ストレージ
- デスクトップ・ストレージの有効化:どちらでも構いませんがここでは有効化しています。
- Desktop storage volume size (GB):50GB以上の任意のサイズ。ここでは50にしています。
- バックアップ・ポリシー:任意のバックアップポリシーを選択。ここではポリシーなし。
-
Desktop pool network
-
Private access network
-
デバイス・アクセス・ポリシー:(今回はどれでもよいのでデフォルトのまま)
-
Desktop management policy:新機能の一つである、デスクトップの切断や休止を設定できるのでこれも試してみます。
-
-
すべて入力し終わったら、左下の作成ボタンをクリックしてデスクトップ・プールを作成します。
-
作成中の進捗状況は作業リクエストから確認できます。プライベート・アクセスを有効化している場合は作成完了まで約15分程度かかりました。
3. プライベート・アクセスを試してみる
-
まず自分のWindows PCから踏み台用のインスタンスにパブリックIPアドレスでRDP接続し、さらにそこから端末用のプライベート・インスタンスのプライベートIPアドレスに対してRDP接続します。それぞれ、Windowsインスタンスの初期パスワードを使用して、初回アクセス時に任意のパスワードに変更します。
-
このような形でリモートデスクトップ接続の画面の中にさらにリモートデスクトップ接続の画面がある状態になります。ここからはプライベート・サブネット内のインスタンス上で作業していきます。どのデスクトップ上にいるか間違えないように注意します。
-
今回はデスクトップへのアクセス用のブラウザとしてWindows ServerにデフォルトでインストールされているMicrosoft Edgeを使っていきます。まずはEdgeの設定を修正します。
-
ブラウザから以下のURLにアクセスします。
https://published.desktops.ap-tokyo-1.oci.oraclecloud.com/client -
割り当て済みデスクトップが表示されます。先ほど作成したデスクトッププールの名前が表示されていますのでデスクトップ名をクリックします。
-
「デスクトップを開いています」の表示が出るのでしばらく待ちます。初回起動時はインスタンスを起動する作業が必要なので起動までにしばらく時間がかかります。
4. インターネット経由ではデスクトップに接続できないことを確認
- 次に、同じOCIユーザを使って自分のWindows PCからインターネット経由で直接アクセスしてみます。セキュア・デスクトップのインターフェースにログインはできて、先ほどと同様に割当済みデスクトップまでは表示されます。デスクトップをクリックするとサーバーと通信できないというエラーになります。
- 試しにリンクのURLをクリックしてみても、これはプライベートなエンドポイントを指しているのでこのサイトには通信ができないことがわかります。インターネット経由ではアクセスできないことが確認できました。
以上で、プライベート・エンドポイントを使えばプライベート・ネットワーク内からのみセキュア・デスクトップを利用可能なことが確認できました!