本ブログは、オラクル・クラウドの個人ブログの1つです。
初めに
2023年6月27日、OCI Secure Desktopsという新サービスがリリースされました。ずっと前から期待していたサービスなので、さっそく体験してみました。
このサービスの特徴は、エンドユーザに安全なデスクトップ接続を提供できることです。特に多数のエンドユーザの同時接続という利用場面に向きます。
相当なサービス
クラウド・プロバイダー | OCI | AWS | Azure |
---|---|---|---|
サービス名 | OCI Secure Desktops | Amazon Workspaces | Azure Virtual Desktop |
サポート対象イメージ (2023/07/05時点)
Oracle Linux 7, 8
Windows 10, 11
これから、「Oracle Linux 8」を例に、設定と接続方法の詳細を紹介します。この記事の最後には感想がいくつかありますが、あくまで個人的な意見ですので、ご参考までに。
ステップ
※、
STEP-1、2と4は、デスクトップの管理者のタスクです。
STEP-3は、デスクトップ利用者(エンドユーザ)のタスクです。
1. 事前準備
1-1. 利用可否の確認
今現在(2023年7月)では、、このサービスは東京リージョンで利用可能ですが、大阪リージョンではまだです。なお、デスクトップ・プールを作成する前、サービス制限の画面で、"Desktop Pool Count"の使用可能の数を確認しておいてください。
1-2. IAMリソースの作成
リソース・タイプ | 名前 | コメント |
---|---|---|
コンパートメント | Secure_Desktop | デスクトップ・プールの場所 (この例では、root/PoCの下に) |
動的グループ | DesktopPool_DG | |
グループ | Desktop_Admins | デスクトップ管理者を入れる |
Desktop_Users | デスクトップ利用者を入れる | |
ポリシー | DesktopPool_Service_Policy_1 | サービス用(テナンシ・レベル) |
DesktopPool_Service_Policy_2 | サービス用(コンパートメント・レベル) | |
DesktopPool_Admin_Policy | 管理者用(コンパートメント・レベル) | |
DesktopPool_User_Policy | 利用者用(コンパートメント・レベル) |
動的グループ (DesktopPool_DG)
マッチング・ルール:
All {resource.type = 'desktoppool', resource.compartment.id = '<Compartment_OCID>'}
ポリシー (rootコンパートメントの下に)
名前:DesktopPool_Service_Policy_1
ステートメント:
Allow dynamic-group DesktopPool_DG to {DOMAIN_INSPECT} in tenancy
Allow dynamic-group DesktopPool_DG to inspect users in tenancy
Allow dynamic-group DesktopPool_DG to inspect compartments in tenancy
Allow dynamic-group DesktopPool_DG to use tag-namespaces in tenancy
名前:DesktopPool_Service_Policy_2 (roo/Pocの下に)
ステートメント:
Allow dynamic-group DesktopPool_DG to manage virtual-network-family in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to read instance-images in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to manage instance-family in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to manage volume-family in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to manage dedicated-vm-hosts in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to manage orm-family in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to {VNIC_CREATE, VNIC_DELETE} in compartment Secure_Desktop
Allow dynamic-group DesktopPool_DG to manage instance-configurations in compartment Secure_Desktop
名前:DesktopPool_Admin_Policy (root/Pocの下に)
Allow group Desktop_Admins to manage desktop-pool-family in compartment Secure_Desktop
Allow group Desktop_Admins to read all-resources in compartment Secure_Desktop
Allow group Desktop_Admins to use virtual-network-family in compartment Secure_Desktop
Allow group Desktop_Admins to use instance-images in compartment Secure_Desktop
名前:DesktopPool_User_Policy (root/Pocの下に)
Allow group DesktopPool_User_Policy to use published-desktop in compartment Secure_Desktop
1-3. ネットワーク・リソースの作成
リソース・タイプ | 項目 | 値 | コメント |
---|---|---|---|
VCN | CIDR | 10.0.0.0/16 | |
サブネット | CIDR | 10.0.0.0/24 | この例ではプライベートを使っているが、パブリックでもよい |
サービスGW | サービス | "All Region-ID Services in Oracle Service Network" | |
NAT GW | デスクトップから、インターネットに接続したい時 | ||
ルート表 (サブネットに付ける) |
ルール | ターゲット・タイプ: サービス・ゲートウェイ 宛先サービス: "All Region-ID Services in Oracle Service Network" |
|
ルール | ターゲット・タイプ: NAT GW 宛先 CIDR: 0.0.0.0/0
|
||
セキュリティ・リスト (サブネットに付ける) |
Ingress | 設定しなくてもよい | エンドユーザのCIDRの許可は不要 |
Egress | 0.0.0.0/0, TCP All | デスクトップから、インターネットに接続したい時 |
1-4. カスタム・イメージの作成
この例では、オフィシャルのOracle Linux 8のイメージを利用します。
次のように、イメージをインポートします。
- OS:
Oracle Linux
を選択 - オブジェクト・ストレージ URL: オフィシャルのイメージURLを貼り付ける(ここからコピーできる)
- イメージ・タイプ:
OCI
を選択
インポート完了までしばらくお待ちください(この例では、Available
になるまで、十数分間かかりました)。完了後は、次のように確認できます。
1-5. カスタム・イメージにタグを付ける
カスタム・イメージができたら、専用のタグを付けてください。タグをつけないと、次のステップでプールを作成しようとする時、イメージが見つからないので、ご注意ください。
タグは3個があります。
タグ名 | 値 |
---|---|
oci:desktops:is_desktop_image | true |
oci:desktops:image_version | 例:"1.0" |
oci:desktops:image_os_type | "Oracle Linux" or "Windows" |
2. セキュア・デスクトップ・プールの作成
Computeの下に、「Secure Desktops」が追加されましたので、そこからお入りください。
入力項目は多くて、この例では必須のみを入力します。ほとんどはデフォルトのままにします。
- 名前と説明:適当に入力する。
- プール・サイズの最大値は要注意です。上記のサービス制限により、一個のデスクトップ・プールにあるデスクトップの数は、10個以上は必要です。デフォルトの「1」のままで通らないです。
- スタンドバイ・サイズ:デフォルトのまま「1」にする。そうなると、デスクトップ・プールが作成された直後、一個のスタンドバイ・デスクトップが自動に作成されるという意味。
- イメージ:リストからインポートしたイメージを選択する(専用のタブをつけないと、リストに表示されない)。
- シェイプ:リストから各種のシェイプを選択できる。
- VCNとサブネットを選択する(パブリックかプライベートのどちらでもOK)
- 起動・停止のスケジュールも指定できる(この例では、スケジュールなしにする)。
上記の入力内容で作成を開始します。完了までしばらくお待ちください(この例では、ACTIVE
になるまで、数分間ぐらいかかりました)。
デスクトップ・プールができたら、スタンドバイ・デスクトップの作成が自動に開始されます。作成後、次のように確認できます(Ownerはハイフン)。
※、この時点で、新しいComputeインスタンス1個が一覧から見えます。
ここまで、管理者の設定作業は完了です。利用者から接続可能の状態になります。
3. デスクトップへの接続
3-1. セキュア・デスクトップ・インターフェースへのログイン
デスクトップの管理者がエンドユーザを利用者グループに入れたら、次のようなアクセスURLをエンドユーザに提供します。
東京リージョンの例:https://published.desktops.ap-tokyo-1.oci.oraclecloud.com/client
エンドユーザが、テナンシ、ユーザー名とパスワードを入力してログインします。
OCIコンソールのログイン画面に似ていますが、ログイン先が異なります。
インターフェースに入ったら、作成されたデスクトップが表示されます。
デスクトップへの接続は、2つ方法があります。これから両方を紹介します。
3-2. Webブラウザを利用する場合
デフォルトは、Webブラウザを利用しますので、デスクトップのリンクをクリックします。
デスクトップ(Computeインスタンス)を準備していますので、しばらくお待ちください。
Webブラウザに1個新しいタブが開かれて、ロード処理の画面が表示されます。もう少しお待ちください。
※、自分の検証結果により、デスクトップ・プール新規作成後、ブラウザで初回目の接続をした時、以下のメッセージが必ず表示されます。何かエラーがあったと思っていましたが、もう一回デスクトップのリンクをクリックしたら、無事に接続できました。
接続後、次のようにOracle Linuxのデスクトップが表示されます。ここまで、接続はもう完了で通常に使えます。
※、デスクトップ管理者へ
Computeインスタンスの一覧画面に、エンドユーザ・デスクトップ用のインスタンスが一個増えます。つまり、スタンドバイ用のインスタンスを含め、2個の新インスタンスが見えます。
3-3. Oracle Secure Global Desktop Clientを利用する場合
クライアント・ツールのダウンロード
左側の「Downloads」をクリックし、クライアントのOSにより選択してください。
この例では、Windows Client
を選択します。
クライアント・ツールのインストール
ダウンロードしたファイル名は、sgdcwin.msi
です。ダブルクリックしてインストールを開始します。
※、ローカルのクライアントから、直接に起動することではなく、セキュア・デスクトップ・インターフェースに入って、ブラウザより「Oracle Secure Global Desktop Client」を起動しますので、ご注意ください。
優先クライアントの設定
左側の「Preferences」をクリックし、「インストール済クライアント (Installed Client)」を選択してください。
クライアント・ツールの起動
左上の「Desktops」に戻り、デスクトップのリンクをクリックします。
ローカルのデスクトップの左上、次の画面が表示されます。すぐ消えますので、特に動作しなくてもよいです。
クライアント・ツールの場合、次のように共有対象の指定ができます。デフォルトは全部チックなしですが、必要に応じて選択してください。
接続後のイメージは以下のようです。外観はほぼ同じですが、Webブラウザと異なり、左側のメニューがないです。
※、あるエンドユーザが、Webブラウザで初回接続をした時、"The Application Disconnected"というメッセージが表示されます。もしこのユーザーの初回接続は、クライアント・ツールを使う場合、例のメッセージがないけど、ツールが反応しないという現象を確認しました。Webブラウザと同様で、2回目よりはOKです。
4. デスクトップの管理
-
デスクトップ管理者は、OCIコンソールを使って、デスクトップの起動・停止・編集・削除などの管理作業ができる。注意していただきたいのは、Computeインスタンスを直接に操作せず、デスクトップの画面から実施してください。
ドキュメントの記載を抜粋: "Always use the Secure Desktops service to stop and delete desktops. Do not delete the underlying compute instance directly." -
セキュア・デスクトップ・プールを停止(INACTIVE)すると、その下の全デスクトップ(スタンドバイを含め)は停止になる。
-
管理者がデスクトップの一覧から、デスクトップごとの管理(起動・停止・削除)ができる。次の画面は停止の例であり、停止後の状態は、"Inactive"となる。次回、エンドユーザがデスクトップに接続する時、デスクトップが自動に起動される(起動時間は必要で、クライアントからの接続時間は通常より少長くなる)。
-
スタンドバイのデスクトップ(Ownerはハイフンの行)を直接に削除しないでください。削除しても自動に作成される。スタンドバイ・デスクトップの数を増減したい時、デスクトップ・プールの編集機能を利用してください。
トラブル・シューティング
自分が経験したエラーと当時の対応方法です。ご参考まで。
イメージが選べない
- 現象:セキュア・デスクトップ・プールの作成画面に、イメージが選べるない。
可能な原因:カスタム・イメージにタグを付けていない、或いはタグの内容は不正。
対策:正しいタグを付ける(STEP 1-5をご参照ください)。
プールの最大サイズの入力チェック
- 現象:セキュア・デスクトップ・プールを作成しようとする時、以下のエラーが起きた。
原因:サービス制限のドキュメントにより、一つのプールにあるデスクトップ数は、10個以上の設定は必要であるが、プールの作成入力画面に、デフォルト値は1となっている。
対策:プールの最大サーズ(Maximum size)を修正する(1→10)。
イメージ・シェイプのリソースが足りない
- 現象:セキュア・デスクトップ・プールを作成しようとする時、以下のエラーが起きた。
エラーメッセージ:Some fields have errors. Complete all required fields correctly, and then resubmit.
可能な原因:選択したシェイプのリソースが一時的に足りない。
対策:他シェイプを選択するか、しばらくお待ってからもう一度作成する。
個人的な感想
- 待望のサービスがついに登場し、全体として期待に応えていると思いますが、細かい部分では改善の余地があります。
- 初回接続には少し時間がかかりますが(インスタンスの準備)、接続後は特にレイテンシもなくスムーズに使えます。リモートの感覚がありません。
- 価格面ではメリットがあります(サービス自体は安価で、Computeインスタンスとストレージは別料金です)。
- デスクトップの管理者にとって、事前準備とプールの作成作業はやや複雑で、この記事の半分を占めます。初めての方には設定に時間がかかるかもしれません。
- 現在サポートしているイメージの種類はまだ少ないため、今後の種類増加を期待しています。
以上です。
関連記事
オラクル・クラウドの個人ブログ一覧
オフィシャル・リンク
※、ドキュメントは、今現在(2023/7/5)英語版しかないで、日本版を読みたい方は少しお待ちください。
Official Announcement (英語)
ドキュメント・ポータル
Setting Up the Tenancy
Supported Images (Oracle Linux 7, 8のカスタム・イメージURL)
Providing Access to Users (エンドユーザのアクセス用URL)
MOS Doc
OCI Secure Desktops: Frequently Asked Questions (FAQ) (Doc ID 2965012.1)