【OCI_08】Windows のインスタンスを作成して、Bastion経由でプライベート・サブネットのインスタンスへ接続する

 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Oracle Linux インスタンスの作成、Bastion経由の接続は以下の記事で検証したので、次はWindowsのインスタンスの作成、Bastion経由の接続を検証してみます。

   

インスタンスの作成

OCIコンソールの左上のハンバーガーメニューを展開し、「コンピュート」を選択、「コンピュート」の「インスタンス」を選択します。

インスタンス画面で「インスタンスの作成」をクリックします。

基本情報は以下のとおり入力、選択します。
 「名前」は、任意の名前を入力します。
 「コンパートメント」は権限のあるコンパートメントが表示されていることを確認します。
 配置の「可用性ドメイン」は、指定しているリージョンの可用性ドメインを選択します。
 ※私は大阪リージョンで可用性ドメインが1つですので選択の余地はありません

拡張オプションを展開します。
 「容量タイプ」はデフォルトの「オンデマンド容量」を選択します。
 「クラスタ配置グループ」はデフォルトのOFFとします。
 「フォルト・ドメイン」は未選択だと自動で選択されるそうです。今回は未選択で進めてみます。

「イメージ」は、「イメージの変更」をクリックします。
イメージの選択で「Windows」を選択します。

「Windows Server 2025 Standard」を選択しました。
ライセンスは持ってないので「追加のライセンス料金」と表示されたものを選択します。

料金について、気になったので chatgpt に聞きました。
料金は、1 OCPU(=2 vCPU)のWindows Server 2025を1時間動かした場合、約 6.9円($1=150円換算) ほどだそうです。
これくらいであれば個人でも安心して利用できそうです。
右下の「イメージの選択」をクリックします。

イメージにおいて、「Windows Server 2025 Standard」が選択されました。

「シェイプ」は、「VM.Standard3.Flex」へ変更して、右下の「次」をクリックします。

「セキュリティ」は、デフォルトのままで「次」をクリックします。

ネットワーキングは、以下のとおり入力、選択します。

「VNIC名」は、デフォルトの空欄のままとします。
「プライマリ・ネットワーク」は、「既存の仮想クラウド・ネットワークを選択」を選択し、自身の権限のあるコンパートメント、作成したVCNを選択します。
「サブネット」は、「既存のサブネットを選択」を選択します。
自身の権限のあるコンパートメント、サブネットはBastion経由の接続を検証したいので、プライベート・サブネットを選択しています。
用途に応じてサブネットを選択してください。

「プライベートIPv4アドレス」は、「プライベートIPv4アドレスの自動割当て」を選択します。
「パブリックIPv4アドレスの自動割当て」は、デフォルトのままOFFにします。
「IPv6アドレス」は、デフォルトのままOFFにします。

「SSHキーの追加」は、Oracle Linux を作成した際にダウンロードした秘密鍵、公開鍵を利用します。
「次」をクリックします。

ブート・ボリュームは、公式ドキュメントに従って以下のとおり設定します。

「カスタム・ブート・ボリューム・サイズを指定します」は、デフォルトのままOFFとします。
「転送中暗号化の使用」は、デフォルトのままONとします。
「自分が管理するキーでこのボリュームを暗号化」は、デフォルトのままOFFとします。
「次」をクリックします。

確認画面で内容を確認し、「作成」をクリックします。

インスタンスが作成されました。しばらく待つと「状態」が「進行中」から「成功」になります。

該当インスタンスの「詳細」タブを選択、「インスタンス・アクセス」項目の「初期パスワード」の横の3点アイコンをクリックします。
「表示」をクリックすることで初期パスワードが表示されます。「コピー」をクリックしてパスワードを控えておきます。

   

SSHポート転送セッションでWindowsインスタンスに接続

Bastionは、すでにOracle Linuxで接続する際に作成したものがありますので、それを利用したいと思います。関連記事は冒頭のリンクを参照してください。

   

SSHポート転送セッションとは

SSHポート転送セッションについて、わからないのでchtgptに聞いてみました。
SSHポート転送セッションとは、自分のPCの特定ポート(例:3399)を、クラウド上のWindowsサーバーのRDPポート(3389)にトンネル接続する仕組み」 だそうです。
Windowsパソコンから出ていく時にSSHクライアントが通信(3399番)を SSHプロトコル(TCP 22番) に包んでBastionに送信するので暗号化されていないプロトコルを使用してもセキュリティ面でより安全に使用できます。

今回の通信の仕組みとしては、以下のようになります。

1.SSHポート転送で、ローカルの3399番ポートで通信開始
2.Windowsパソコンから出ていく時にSSHクライアントがこの通信(3399番)を SSHプロトコル(TCP 22番) に包んでBastionに送信
3.Bastion上で新しいTCPセッションが作られ、Bastion → Windows Server (3389番) という別の新しい内部接続が開始される
4.Bastionが中継し、Windows Serverの3389ポートに最終的に到達

   

セキュリティ・リストにRDP透過ルールを追加

RDPで接続するためにプライベートサブネットのセキュリティ・リストにルールを追加します。

ネットワーキング > 仮想クラウドネットワーク を選択、自身のVCN名をクリックします。
「セキュリティ」タブを選択、プライベートサブネットのセキュリティ・リストのリンクをクリックします。
「セキュリティ・ルール」タブを選択し、「イングレス・ルールの追加」をクリックします。

イングレス・ルール1は、以下を入力、選択します。

 ソース・タイプ:CIDR
 ソースCIDR:0.0.0.0/0
 IPプロトコル:TCP
 ソース・ポート範囲:All
 宛先ポート範囲:3389
 説明:任意

RDP接続するためのルールが追加されました。

   

RDP用セッションの作成

OCIコンソールの左上のハンバーガーメニューを展開し、「アイデンティティとセキュリティ」を選択、「要塞」を選択します。
要塞の一覧ページから、作成した要塞の名前のリンクをクリックします。

「セッション」タブを選択し、「セッションの作成」をクリックします。

セッションの作成画面で以下を入力、選択します。

 セッション・タイプ:SSHポート転送セッション
 セッション名:任意名
 IPアドレス:10.0.1.12
 ポート:3389

SSHキーの追加:ここではインスタンスを作成した際にダウンロードしておいたpubファイルをアップロードします
SSHキーがない場合は、SSHキー・ペアの生成 のボタンを押します。そして秘密鍵と公開鍵をダウンロードします。
右下の「セッションの作成」をクリックします。

状態が「アクティブ」になるまで待ちます。
次に、作成したセッションの一番右側のメニューバーをクリックして「SSHコマンドのコピー」を選択します。

「SSHコマンドのコピー」をテキストなどに貼り付けます。以下のようなコマンド例が貼り付けられます。

ssh -i <privateKey> -N -L <localPort>:10.0.1.12:3389 -p 22 ocid1.bastionsession.oc1.ap-osaka-1.amaaaaaa5ekurxyalshoog5zszvnxn2gqijafhsa6kwrgydhh42txtneixuq@host.bastion.ap-osaka-1.oci.oraclecloud.com

コマンド例を自身の環境用に編集します。
テキストエディタで<PrivateKey> を秘密鍵の名前に変更します。
秘密鍵は、「セッションの作成」でアップロードした公開鍵と対になっている秘密鍵となります。
次に秘密鍵の後ろに「-v」オプションを追記します。これでコマンドの実行状態の詳細が確認できます。

次にへ接続元となるポート番号を入力します。今回は、「3399」としました。
以下が完成したコマンドです。

ssh -i ssh-key-2025-10-06(1).key -v -N -L 3399:10.0.1.12:3389 -p 22 ocid1.bastionsession.oc1.ap-osaka-1.amaaaaaa5ekurxyalshoog5zszvnxn2gqijafhsa6kwrgydhh42txtneixuq@host.bastion.ap-osaka-1.oci.oraclecloud.com

コマンドプロンプトを開き秘密鍵が格納されているフォルダに移動します。
例:ダウンロードフォルダの場合

cd C:\Users\admin\Downloads

接続のため作成したコマンドを実行します。

ssh -i ssh-key-2025-10-06(1).key -v -N -L 3399:10.0.1.12:3389 -p 22 ocid1.bastionsession.oc1.ap-osaka-1.amaaaaaa5ekurxyalshoog5zszvnxn2gqijafhsa6kwrgydhh42txtneixuq@host.bastion.ap-osaka-1.oci.oraclecloud.com

チュートリアルには、「debug1 : pledge:network」と表示されたら接続完了していると記載ありましたが、私のWindows11パソコンのコマンドプロンプトでは「debug1 : pledge:filesystem」と表示されました。
これもchatgptに聞くと「debug1 : pledge:network」は、ネットワーク操作(ポート転送など)を許可して動作中でLinux/macOSではよく表示されるとのことでした。
「debug1 : pledge:filesystem」は、ファイルシステム関連操作(認証鍵読み込みなど)を許可して動作中でWindowsでこの表示が出ることがあるとのことでした。
結果、RDP接続できたのでどちらでも接続できていればOKとのことでした。

リモートデスクトップ接続を開いて、localhost:3399 で接続します。するとWindowsインスタンスに接続できます。

控えておいたパスワードを入力します。

初回ログイン時にパスワードを変更してくださいとあるので「OK」をクリックします。

既存パスワードと新パスワードを入力します。

パスワードが変更できたのでOKをクリックします。

OSの言語は英語です。初回サインイン時のメッセージに対して「Accept」をクリックします。

サインインできました!

   

【おまけ】Windowsの日本語化

OSの言語が英語だったので日本語化していきます。今回「Windows Server 2025」を利用しました。AWSで検証した時は綺麗にすべて日本語化できたのですが、今回はパッケージのダウンロードが一部失敗したこともあってか完全に日本語化できませんでした。せっかくいろいろ調べたので自分のためにも手順を残しておこうと思います。

   

Administratorの有効化

デフォルトではAdministratorが無効化されているので有効化します。
opc ユーザーでサインインしています。

スタートメニューを右クリック、「Computer Management」をクリックします。

左ペインの「Local Users and Groups」を展開、「Users」を選択、「Administrator」を右クリックし、「Set Password」をクリックします。

「Proceed」をクリックします。

任意のパスワードを入力し、「OK」をクリックします。

「OK」をクリックします。

「Administrator」を右クリックし、「Properties」をクリックします。

「Account is disabled」のチェックを外し、「OK」をクリックします。

サインアウトします。
RDPで接続し、ローカルAdministratorでサインインします。
ローカルAdministratorとなるよう「.\administrator」とドットと\マークをつけておきます。

OSの言語は英語です。Administratorによる初回サインイン時のメッセージに対して「Accept」をクリックします。

Administratorでサインインできました。

   

Windows Server 2025の言語の変更

[スタート]メニューを開き、歯車のアイコンをクリックします。

左ペインで[Time & language]を選択、「Language & region」をクリックします。

「Add a language」をクリックします。

検索ウィンドウへ「japanese」と入力、「日本語」を選択し、画面下の「Next」をクリックします。

デフォルトのチェックの状態で「Install」をクリックします。

システムがインターネットに接続できる場合は、言語パックのダウンロードとインストールが開始されます。
インストールが終わるまで待ってくださいとあるのでしばらく待ちます。(私の場合、30分以上かかりました・・・皆様、時間のある時に実施してくださいね)

「Japanese」が追加されました。

※実は、一部ダウンロードエラーになっていたのですが画面キャプチャを取り忘れました・・・

次に「Windows display language」を「日本語」を変更します。
変更すると再サインイン後に反映されるとメッセージ(ベージュのところ)が表示されますがいったん無視しておきます。

次いRegionの「Country or region」と「Regional format」を「Japan」へ変更します。

次にRelated settings のDate & time をクリックします。
Time zone を「(UTC +09:00)Osaka, Sapporo, Tokyo」へ変更します。
※この設定は、Administratorでないと表示されていません

ここでOSを再起動しましたが、まだ一部英語のままでした・・・
左ペインで[Time & language]を選択、「Language & region」をクリックします。
次にRelated settings のAdministrator language settings をクリックします。

「システムロケールの変更」>現在のシステムロケールを「日本語(日本)」へ変更します。

再起動を促すメッセージが表示されるので「今すぐ再起動」をクリックして、OSを再起動します。

まだ一部英語でした。
コントロールパネル → Clock and Region → Region(地域)
Administrative(管理)タブ を開く
「Copy settings…(設定のコピー)」をクリックします。

開いた画面で以下をチェックします。
・「Welcome screen and system accounts(ようこそ画面およびシステムアカウント)」
・「New user accounts(新しいユーザーアカウント)」

再起動を促すメッセージが表示されるので「今すぐ再起動」をクリックして、OSを再起動します。

サインイン画面が日本語になりました。

まだダメでした・・・
chatgpt に相談です。
最も多い原因が “言語パックのインストールが不完全または失敗している” 状態です。
日本語パッケージは後から再ダウンロード・再インストール可能です。

サーバーがインターネットに出られる状態を確認します。
外部通信(HTTP/HTTPS)が通ることを確認します。

Test-NetConnection www.microsoft.com -Port 443

TcpTestSucceeded : True が返されたので外部通信できています。

日本語言語パックの状態を確認します。
一部だけ日本語で他は英語やラテン文字になっていることがわかります。

Get-WinUserLanguageList

PowerShellで以下コマンドレットを実行して言語パックを直接インストールします。

Add-WindowsCapability -Online -Name Language.Basic~~~ja-JP~0.0.1.0
Add-WindowsCapability -Online -Name Language.Handwriting~~~ja-JP~0.0.1.0
Add-WindowsCapability -Online -Name Language.Speech~~~ja-JP~0.0.1.0
Add-WindowsCapability -Online -Name Language.TextToSpeech~~~ja-JP~0.0.1.0

PowerShellで以下コマンドレットを実行して日本語を既定言語に設定します。

 Set-WinUserLanguageList -LanguageList ja-JP -Force
 Set-WinSystemLocale ja-JP
 Set-Culture ja-JP
 Set-WinUILanguageOverride ja-JP

OSを再起動します。
やっぱり一部英語でした・・・

chatgpt曰く、
システムロケールは完全に日本語(ja-JP)へ切り替わっています。
つまり、Windows Server全体の日本語化設定は100%成功しています。
この状態でなお英語表示なのは、英語版のベースイメージに含まれる固定UIリソースの仕様です。とのことでした。本当かわかりませんが。。

   

まとめ

同じOSバージョンでも、AWSは綺麗に日本語化できたのですが、今回はここまでとしたいと思います。疲れた・・・

   

以下、他の記事をまとめた一覧です。OCI以外にAWSもまとめています。

   

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Copyright© しっぱいはせいこうのもと , 2025 All Rights Reserved.