リモート・デスクトップ・ゲートウェイ経由でOCI Windows VMへの接続ガイド

OCI General

初めに

オンプレミスからOracle Cloud Infrastructure (OCI)プライベートサブネット内のComputeインスタンスに接続する方法はいくつかあります。本記事は、Microsoft リモート・デスクトップ・ゲートウェイ (RDG) を介して Windows インスタンスに接続する方法を紹介します。
Connect OCI Windows via Remote Desktop Gateway

メリット
✅ RDG サービスは Windows サーバの標準機能である。
HTTPS (443 ポート)を経由するので、パブリック・サブネットにTCP 3389 ポートを公開しない。
✅ クライアントと踏み台サーバーの間にSSL証明書認証を利用することで、セキュアな接続が確保できる。
✅ SSHポート転送の方法 (OCI Bastionなど) と比較して、SSHセッションのタイムアウトを心配することなく、長時間の接続が可能。

デメリット
🛠️ 踏み台サーバの作成・設定には手間がかかる。
⏳ クライアント側から初期セッションを立てるまでにやや長い時間がかかり、約1分ほど。
💰 コスト面では、Linux系の踏み台サーバよりも高くなる。

1. 事前準備

関連 OCI リソース

タイプ項目コメント
VCNCIDR10.0.0.0/16
パブリック・サブネットCIDR10.0.0.0/24踏み台サーバ
プライベート・サブネットCIDR10.0.1.0/24接続先サーバ
インターネット・ゲートウェイルート表に追加する
セキュリティ・リスト (パブリック・サブネット用)IngressXX.XX.XX.XX/32, TCP 443接続元の IP アドレスを指定する
XX.XX.XX.XX/32, TCP 3389最初にこれを追加する必要がある。RDG 経由で接続先のインスタンスに正常に接続できたら、削除しても問題がない。
Egress0.0.0.0/0, 全てのプロトコル
セキュリティ・リスト (プライベート・サブネット用)Ingress10.0.0.0/24, TCP All踏み台からのアクセスを許可
Egress0.0.0.0/0, 全てのプロトコル
ルート表 (パブリック・サブネット用)ルールターゲット: インターネット・ゲートウェイ
宛先: 0.0.0.0/0
Compute インスタンス踏み台サーバWindows サーバ 2022
接続先サーバWindows サーバ 2022プライベート IP: 10.0.1.167

2. リモート・デスクトップ・ゲートウェイをインストール (踏み台)

サーバーマネージャーからインストールすることもできますが、PowerShellを使ったほうが手軽です。

踏み台サーバに RDP ログインし、次のPowerShell コマンドを実行します。
Install-WindowsFeature RDS-Gateway -IncludeAllSubFeature -IncludeManagementTools

Install Remote Desktop Gateway with PowerShell

3. 承認ポリシーの作成 (踏み台)

サーバー・マネージャー → ツール → Remote Desktop Services → "リモート デスクトップ ゲートウェイ マネージャー"
Select Remote Desktop Gateway Manager

RD ゲートウェイ マネージャー → ポリシー (右クリック) → 新しい承認ポリシーの作成
Create a policy
デフォルトの「RD CAP と RD RAP を作成する (推奨)」を選択し, 「次へ」をクリックします。
Create RD CAP and RD RAP (By default)

RD CAP の名前を入力し、「次へ」をクリックします。
Enter the name of RDP CAP

グループの追加」ボタンをクリックして、RD CAP に関連付けられるグループを追加します。
Click add group button

グループ名を入力し、「名前の確認」をクリックします。 有効なグループ名を確認した後、OK をクリックして画面を閉じます。
Enter group name and confirm

「次へ」をクリックして続行します。
Click next

デフォルトのままで、「次へ」をクリックして続行します。
Enable device redirect (by default)

タイムアウトを設定したくない場合、デフォルトのままで、「次へ」をクリックして続行します。
Session timeout is disalbed (by default)

「次へ」をクリックします。
Confirm RD CAP setting

RD RAP の名前を入力し、「次へ」をクリックします。
Enter the name of RD RAP

同じグループを使用してもよいので、そのままで「次へ」をクリックします。
Select group

ユーザーによる任意のネットワーク リソース (コンピューター) への接続を許可する」を選択し、「次へ」をクリックします。
Allow connection to any network

「ポート 3389 への接続のみを許可する」はデフォルトでチェックされています。 「次へ」をクリックして続行します。
Select port 3389

「完了」をクリックします。
Confirm RD RAP setting

ポリシーの作成を確認し、「閉じる」をクリックします。
Policy is created

4. SSL証明書の作成 (踏み台)

RD ゲートウェイ マネージャー → サーバー名をクリック → "証明書のプロパティを表示または変更"
Show certificate property

このテストには自己署名証明書を使用します。「証明書の作成とインポート」をクリックして続行します。
Create self-signed certificate

デフォルトの証明書の名前は、サーバー名と同じです。 踏み台サーバーのパブリック IP またはパブリック DNS 名に変更します (このテストにはパブリック IP を使用)。

デフォルトのサーバー名を使用する場合、接続セッションを立てる時、問題-3が発生する可能性がありますので、ご注意ください。
Enter certificate name
作成後、次のようなメッセージが表示されます。
Self-signed certificate is created
「適用」をクリックします。
Click apply button
証明書が踏み台サーバーにインストールされていることを確認し、OK をクリックして終了します。
Click OK button to close

5. SSL証明書のエクスポート (踏み台)

検索ボックスにcertlm.mscと入力し、管理コンソールを起動します。
Startup certlm.msc
個人 → 証明書 → 証明書を選択 → すべてのタスク → エクスポート
Click export

「次へ」をクリックします。
Click next to begin
デフォルトのままで、「次へ」をクリックします。
Click next

デフォルトのままで、「次へ」をクリックします。
Click next (DER encoded binary X.509)
ファイル名を入力し、「次へ」をクリックして続行します。
Enter export file name

「完了」 をクリックすると、次のような成功メッセージが表示されます。OK をクリックして終了します。
Certificate is exported

踏み台サーバーからローカル クライアントに証明書をコピーします。
Copy certificate to local

6. SSL証明書のインポート (クライアント)

ローカル クライアントに保存されている証明書ファイルWin2022-RDG.cerをダブルクリックしたら、以下の画面が表示されます。「証明書のインストール」ボタンをクリックします。
Import certificate
「現在のユーザー」は、デフォルトでチェックされています。「次へ」をクリックして続行します。
Click next to begin import
「証明書をすべての次のストアに配置する」を選択し、「参照」ボタンをクリックします。
Select certificate store
「信頼されたルート証明機関」を選択し、OK をクリックします。それ以外のストアを選択した場合、接続セッションを立てる時、問題-4が発生する可能性がありますので、ご注意ください。
Select trusted Certificate Authority
「次へ」をクリックして続行します。
Click next
「完了」をクリックします。
Certificate is imported
次のような警告メッセージが表示されたら、「はい」 をクリックして続行します。
Confirm warning message
「OK」をクリックしてウィザードを終了します。
Click OK button

7. 接続テスト (クライアント/踏み台)

RD ゲートウェイ サービスを起動 (踏み台)

次のように、サービスを起動します。起動後の状態は「停止」から「実行中」に変わったことを確認します。

サーバー・マネージャー → リモート デスクトップ サービス → サーバー → サービス
Startup service

ユーザをグループに追加 (踏み台)

RD CAP/RAP に関連付けられているグループにログイン・ユーザーを追加することを忘れないでください。このテストでは、デフォルトの opc ユーザーでログインします。
Add user into group

接続を開始 (クライアント)

ローカル クライアントから「リモート デスクトップ接続」を起動します。 「詳細設定」タブに切り替え、「設定」ボタンをクリックします。
Advanced setting
次の RD ゲートウェイ サーバー設定を使用する」を選択し、踏み台のパブリック IP またはパブリック DNS 名を入力します。 「ローカル アドレスには RD ゲートウェイ サーバーを使用しない」のチェックを外し、OK をクリックします。
Specify RD gateway server

「全般」タブに切り替え、接続先のWindowsサーバーのプライベートIPとユーザー名を入力し、「接続」ボタンをクリックします。
Enter Private IP and user name

踏み台サーバーのユーザー名とパスワードを入力します。
ユーザー名の例:localhost\opc
Enter user name and password

次のように、リモート セッションの作成が始まります。しばらくお待ちください。このテストは、接続完了まで1分ほどかかりました。
Begin to setup remote session

「このコンピュータへの接続について今後確認しない」にチェックを入れ、「はい」をクリックして続行します。
Confirm popup message

接続先サーバーのユーザー名とパスワードを入力します。
Enter username and password

接続先の Windows サーバーにログインできました。
Remote Windows desktop is shown

セキュリティ・リスト(パブリック サブネット用)
最後に、TCP 3389 ポートのルールを削除し、443 ポートのみを保留します。
Edit security list

踏み台サーバーを接続先にしたい場合
「詳細設定」タブを上記と同様に設定し、「全般」タブで、コンピューター名にlocalhostを入力します。
RDP login to bastion server

トラブル・シューティング

うまくいかない時に、次をご参考ください。

問題-1 「リモート リソースを使用できません」

Trouble Shooting - Issue 1
考えられる理由 1:RD ゲートウェイ サービスが開始されていません。("RD ゲートウェイ サービスを起動"をご参照)
考えられる理由 2:セキュリティ・リストに、接続元(クライアント)からの入力(Ingress)ルールが追加されていません。

問題-2 「リモート コンピューターに接続できません」

Trouble Shooting - Issue 2
考えられる理由:ログイン ユーザーは、RD CAP/RAP に関連付けられているグループに追加されていません。("ユーザをグループに追加"をご参照)

問題-3 「サーバーアドレスと証明書のサブネット名が一致しません」

Trouble Shooting - Issue 3
考えられる理由:証明書のサブジェクト名は、踏み台サーバーのパブリック IP または、パブリック DNS 名ではありません。(Step 4をご参照)

問題-4 「RD ゲートウェイの ID を確認できません」

Trouble Shooting - Issue 4
考えられる理由:証明書は、「信頼されたルート証明機関」に配置されていません。(Step 6をご参照)

以上

タイトルとURLをコピーしました