OCIでWindows Server 2022を構築してみる

以前、OCIでLinuxを構築する事を記事にしてみましたが、今回はOCIでWindows Server 2022を構築す方法を紹介します。

ネットワーク基盤周りは以前構築したものをそのまま流用するため、下記リンクを参照してください。
https://qiita.com/yosakata/items/dbe32d3833862a266fed

## Windowsインスタンスの構築

### OSの選択
OCIコンソールの左上のハンバーガーメニュー（三本線）の中から「コンピュート」を選択し、その中の「インスタンス」を選択します。
![Untitled-1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/c8a67d75-9e8e-4deb-b6fe-23f927f93205.jpeg)

コンピュート・インスタンスの作成画面が開いたらインスタンスの名前、設置するコンパートメントを入力します。
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/bcd1779b-47fd-4fc1-8c2b-b6802091096f.jpeg)
「イメージとシェイプ」の項目の右上にある「編集」を押下してOSとマシンスペックを選んでいきます。

まず、OSを変更するために「イメージの変更」を押下します。
![3-os.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/01733667-c486-cc90-3883-288c1939e53e.jpeg)

上の方にOSの種類、下の方にバージョンが表示されているため、上の方でWindowsを選択します。
すると利用できるWindowsServerのバージョン一覧が表示されますが、Windows Server 2022はこの記事の執筆時は下の方にあるためスクロールして下の方を表示します。
![4-os.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/7321cc5a-d8f1-f6dc-4251-3a59b4afc3ec.jpeg)

WindowsServer2022が出てきたらチェックボックスにチェックを入れます。
下図ではStandardEditionを選択してあります。
![5-os.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/67e4217a-3616-56b4-7585-7a7a8e607093.jpeg)
下部にある「次のドキュメントを確認したうえでこれに同意します。」の右側の使用条件を確認した上で、チェックボックスにチェックを入れて「イメージの選択」を押下するとWindowsServer2022のイメージ選択が完了します。

### CPUとメモリの選択
次に「Change Shape」を押下してサーバーのスペックを選択していきます。
![6-shape.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/c179c581-720c-ced3-afc6-f5b72aaffee7.jpeg)

今回は「仮想マシンタイプ」「AMDプロセッサ」で構成する事としてそれぞれ選択すると下の方に利用できるシェイプ一覧が表示されます。
![7-shape.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/260273eb-c1b9-1fca-00c7-daafb93b65e1.jpeg)
下の方にスクロールすると一覧が見れます。

今回は「VM.Standard.E4.Flex」シェイプを選択します。
![8-shape.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/25c0f061-e28d-bd42-4d26-f7b71277ce48.jpeg)
OCIの「Flexシェイプ」の場合、OCPU数とメモリ数を自由に決める事ができます。
他社クラウドのようにCPUとメモリの割合が決まってしまっているものではないので使いたい分、自由に選択できます。
今回は1oCPU、8GBメモリにしました。
「バースト可能」については別の記事で説明しますが、今回はOFFのままにして「シェイプの選択」を押下します。

こんな感じで選択したOSとサーバスペックになっています。
![9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/83a56367-7085-fac5-1289-6231a2af66ba.jpeg)

### VCNの選択（確認）
次に下の方にスクロールしてネットワーク（プライマリVNIC）の確認をしてください。


私の環境ではVCNが1つしかないので既にそれが選択されていますが、複数ある場合は設置したいVCNとサブネットをこで選択します。
![10-vnic.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/8cdbed2e-e57e-20a9-65ea-6811a68a6db5.jpeg)
VNICを適切に設定したら「作成」を押下するとWindowsServerのデプロイが始まります。
数分でできるかと思います。

### セキュリティリストの設定

WindowsServerへのログインはリモートデスクトップを利用しますがVCNにアタッチするセキュリティリストではデフォルトではRDP用のポートは許可されていません。
そこで、RDPで使う3389番ポートを追加します。

今回構築するWindowsではOracleDBへの接続とHTTPDを建てたいので80番ポートと1521番ポートも追加で許可しておきますが、純粋にWindowsだけであれば3389番ポートだけ許可すれば通信できます。

OCIコンソールの左上のハンバーガーメニューより「ネットワーク」→「仮想クラウドネットワーク」を開き、今回WindowsServerを配置するVCNを選択します。

その左側のリソースペインに「セキュリティ・リスト」という項目があるので選択すると右側に「Default Security List for ＜VCN名＞」という項目があるので選択します。
![11-vcn.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/889767fc-ffe7-ac27-6de7-7ef35ebc854d.jpeg)

そうすると、現在設定されているイングレス・ルールが表示されます。
![12-vcn.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/6f978c2b-4166-ff55-f580-b81fce81d813.jpeg)
デフォルトではICMPとTCP/22しか許可されていないと思います。
新たに許可するポートを増やしたいので「イングレス・ルールの追加」を押下します。

ここではソースとしてすべてのIPアドレスを示す0.0.0.0/0にしTCP/3389を指定してあります。
![13-rule.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/81ed328c-bab0-2396-2765-e271c83fd570.jpeg)

他にもルールを追加したい場合は同様の手順を繰り返す区とにより複数のルールを追加する事ができます。
イングレス・ルールの一覧にも追加されたものが表示され、このルールがVCNに適用されます。
※下図はTCP/80とTCP/1521も追加した例
![14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/34877d7f-928c-e8c8-4deb-4b599397c8f2.jpeg)


### Windows Serverへログイン
これでWindows Serverへログインする準備ができたので早速リモートデスクトップ接続してみましょう。
接続先のWindows ServerのIPアドレスはOCIコンソールのハンバーガーメニューから「コンピュート」→「インスタンス」→「Win01（任意でつけたインスタンス名）」を選択するとインスタンスの詳細が表示され、その右側に書いてあります。

![15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/41b693bd-7187-af6c-f03d-0f605b040794.jpeg)

●パブリックIPアドレス → Windows ServerのグローバルIPアドレス
●ユーザー名　→　opc　（OCIのWindowsではopcがデフォルトユーザーになります）
●初期パスワード　→　（一番最初のログインに使うので「コピー」ボタンを押下してどこかにペーストしておきます）

ローカルのWindowsからリモートデスクトップ接続をしてみます。
「コンピュータ」には上記のグローバルIPアドレスを入力して接続を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/4c0d2e20-3d7e-18f2-b4cc-68972d7c5fef.png)

始めてアクセスするホストなので以下のようなメッセージがでるので必要に応じて「このコンピューターへの接続について今後確認しない」をチェックして「接続」を押下します。
![16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/89b66371-e81b-5715-02f9-e6f5b416a77b.jpeg)

接続すると下記のようなメッセージが出ますが同様に「はい」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/f48f8cf7-88a9-991b-7f3b-94211d3ee312.png)

先ほどコピーしておいたパスワードを入力します。
※ペーストはできません。手動で入力する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/9edc7f36-21e0-1fb2-da54-96d97be049d5.png)

ログインできると初期パスワードを変更するようにメッセージが出てくるのでパスワードを変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2367692/9e932a61-3717-f75d-feec-378943fa5c09.png)

以上で、WindowsServerへログインできるようになりました。