[Oracle Cloud] Windows Serverインスタンスを使ってみた

# はじめに
Oracle Cloud上で、Windows ServerのComputeインスタンスを使いたくなったので、気づいたことをメモする。

# 前提環境
* Windows Server 2019 Standardを使用
* シェイプはE3.Flex、検証用途なので1OCPU、4GBメモリにした。Boot Volumeサイズはデフォルト(256GB)

この条件だと、Windows Serverの従量課金額は、下のような感じです

--------------------------------------
* [E3.Flexの従量課金/時間](https://www.oracle.com/jp/cloud/compute/pricing.html)
 * 3.00円*1OCPU + 0.18円*4GB = 3.72円/時間
* [Windows Server OSライセンスの従量課金/時間](https://www.oracle.com/jp/cloud/compute/pricing.html)
 * 11.04円*1OCPU = 11.04円/時間
 * [FAQ](https://www.oracle.com/jp/cloud/compute/faq.html#charged)によれば、実行中のみ課金
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/63482517-7166-1118-4965-d37aa1bfad1e.png)
* [Block Volume(バランス)の従量課金/月](https://www.oracle.com/jp/cloud/storage/pricing.html)
 * (3.06円+0.204円*10VPU)*256GB = 1305.6円/月

--------------------------------------


# 気づいたこと・注意点など
## インスタンス作成時の注意点
Oracle Linuxインスタンスの場合、「名前」と「ホスト名」に別の名前を付けた場合、DNS名・ホスト名ともに、「ホスト名」に指定した名前がつきましたが、Windowsインスタンスの場合は、DNS名は「ホスト名」に設定した値が設定されましたが、ホスト名は「名前」に設定した値になってました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/8d189c00-ba29-50b2-4b06-1e5e81b4f3f6.png)
↑「名前」と「ホスト名」を別名にしたケース

通常、「ホスト名」に指定した名前がホスト名になっていることを期待すると思いますので、意図しない値になってしまった場合は修正が必要です

## 接続
私は、Windows Serverをプライベート・サブネットに作成したので、パブリック・サブネット上においたOELベースの踏み台サーバを経由してリモートデスクトップ接続しました。この構成の場合は、SSのポートフォワーディングすることで、リモート・デスクトップに接続できます。

以下のような環境で、踏み台サーバに普通にSSH接続した後、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/e053d85d-e310-2bc0-01ab-ee6e351f6687.png)

ポートフォワードの設定をすることで、SSHのセッションを通して踏み台の向こう側のリモートデスクトップに接続することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/0eda869c-f772-2cf4-1311-527c5d636f68.png)

### teratermの場合のやりかた
Teratermを起動して、踏み台サーバにSSH接続します。
踏み台に接続しているターミナルの画面上部メニューの[設定]から、[SSH転送]を選択して[追加]ボタンを押します。下の画面で、端末側のリッスンポート(teratermがオープンする端末のリッスン・ポート)、Windows ServerのプライベートIP、リモデのポート番号を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/e05485a5-9179-d3da-aee4-2887acb74289.png)

設定後、端末側でnetstatコマンドなどを利用して、ローカル・ポートに指定したポート番号をリッスンしていることを確認します。
リモートデスクトップ・クライアントを起動し、接続先として「localhost:ローカルのポート」を指定して接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/7edbe22e-8040-ff9e-4d4d-284d76ad5dcf.png)

OPCユーザの画面が見えたら成功!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/b837017e-b399-f778-2d94-edd12f53ca20.png)

まずはパスワード変更します。初期パスワードは、Webコンソールから、Computeインスタンスの詳細画面から確認します。パスワード設定時は、キーボードが日本語になっていることを確認してから入力します。英語キーボードになっているとパスワードとして記号を入力した場合に意図しない文字が設定されてしまうかもしれません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/8616d4a6-246e-39d3-1095-68e4afc283c4.png)

## 日本語化
続いてやることは日本語化です。日本語化やることが多いです。。検索していると、日本語化するためには、新元号(令和)対応のKBいれるか、日本語化パックを別途インストールする必要がある、という記事もありましたが、2021年1月現在のWindows Serverのイメージを使ったところその必要はありませんでした。

* 日本語のインストール、デフォルト表示言語を日本語に変更
* 地域の設定
* システムロケールの設定
* 日付の設定

### 日本語のインストール、デフォルト表示言語を日本語に変更
デスクトップ上のWindowsマークを右クリック⇒[Settings]⇒[Time&Language]⇒左ペインから[Language]を選択して、右ペインから[Add a language]を選択⇒日本語を選択して[Next]

「Install language pack and set as my Windows display language」にチェックが入っていることを確認して、インストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/375aebde-f4f9-8adf-85c2-d51bba4920cc.png)

インストール完了後、一度ログオフしてから再度ログインします。デスクトップやメニューが日本語になっていることを確認します。

### 地域の設定
デスクトップ上のWindowsマークを右クリック⇒[設定]⇒[時刻と言語]⇒左ペインから[地域]を選択して、右ペインから[国または地域]を日本語に変更します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/5a2f5459-ad67-906f-eb97-4f105af330de.png)

### システムロケールの設定
上記[地域]の右ペインをスクロールして、画面最下部の[日付・時刻・地域の設定]のリンクを押下します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/923689c8-59c7-bc8b-99a0-359f739c8d00.png)

[日付、時刻、数値形式の変更]のリンクを押下します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/55db13c1-bc83-fd15-ac29-0f0372e5c78f.png)

[管理]タブから、[システムロケールの変更]ボタンを押下して、システムロケールを日本語に変更します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/5b7bcf99-1427-7788-76be-9f97679fe10d.png)

戻った画面から、[設定のコピー]ボタンを押下します。[ようこそ画面とシステムアカウント]のボタンをチェックして、画面上部の「ようこそ画面」と「新しいユーザ―アカウント」の設定値も日本語に変更されたことを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/02df5e34-6ea0-0563-4570-3348dd054d35.png)

OSを再起動して、再度ログオンします。

ログオン画面が日本語になっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/902a3b05-2b0e-494e-43c6-6e02297d3fd4.png)

コマンドプロンプトを起動して、dirコマンドなどをうってみて、メッセージが日本語になっていることを確認します。

### 日付の変更
日付の変更は、管理者権限で実行する必要があります。
デスクトップ上のWindowsマークを右クリック⇒[Windows PowerShell(管理者)]を選択して、管理者モードでPowerShellを起動します。その後、timdate.cplと実行し、日付と時刻を起動します。

```CONSOLE
PS:> timedate.cpl
```

[タイムゾーンの変更]ボタンを押下して、日本のタイムゾーンに設定します

### Windows Update
Windows Updateします。NAT GWに接続できるようにルート表を設定してあれば、特に変わった操作は必要ありませんでした。注意点としては、インストール&再起動後にWindows Update画面を見ると「最新です」の表示がでてるけど、再度[更新プログラムのチェック]で確認するとまた適用が開始されたりするとこくらい。

## cloudbase-init がエラーになってる
Windows updateも終わって、サーバマネージャを起動すると、なんかエラーがでてます。cloudbase-initってサービスがとまってるようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/042ad497-8fee-30da-1d55-ad5570f3e705.png)

[こちらのサイト](https://manual.iij.jp/p2/pub/f-1.html)を参照しましたが、cloudbase-initは、仮想サーバの設定などを簡素化するためのオープンソースパッケージだそうです。

Oracle Cloudではありませんが、[こちらのサイト](https://ecl.ntt.com/faq/2.0/virtual-server-54/)でも、同事象は無視してくださいとあるので無視して問題ないようです。ブート時に起動した後に停止する仕様になっているので、起動後に停止している状態は想定どおりなようです。

## 日本語化した後の初期プロパティ
サーバマネージャを起動したので、日本語化直後の初期プロパティもついでに見てみます。こんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/4971b766-0fe6-78f4-6ab0-f1b28d6cd749.png)

## 初期インストールされているアプリ
インスタンス作成時のオプションによると思いますが、Cloud Agentやmonitoringの項目をデフォルトで作成した時に、以下のアプリが初期インストールされています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/c5cc2c6b-23d0-2c88-e3b7-25137303d005.png)

オプション機能では、SSHクライアント・サーバがインストールされています。ただし、SSHのサービスで無効になっていたので、デフォルトでは起動しないようになっているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/03cff1c0-c3b4-0f49-d022-fb87f1703b11.png)

## 既定のユーザ
既定で、Built in AdministratorやGuestアカウントは無効になっています。有効なユーザは、opc、cloudbase-init、sshdユーザでした。opcユーザはAdministratorsグループに所属しているログイン用のユーザです。cloudbase-init、sshdはそれぞれのミドルウェア用アカウントですかね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/854b23eb-5810-09e0-18e3-90e8c2b77ef1.png)

## ディスク構成
ディスクの構成は以下のようになっていました。Cドライブに約256GB割り当てられています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/456818/ce17be2f-4ccb-3ca0-a5d9-7f2b3d3a24ee.png)