【EC2】英語版Windows ServerのAMIから起動、日本語化したらリモート管理でエラー

AWS運用自動化サービス「Cloud Automator」

こんにちは。技術4課の伊藤Kです。
先日はハロウィンでした。日本の各所でイベントが行われていたようですが、
ハロウィンはいつごろから日本に定着したんでしょうか。
節分の「恵方巻」とともに謎に思っている関東人です。

ちなみにサーバーワークスでもハロウィンでささやかに盛り上がりました。
仕事の合間に無料でできる、仮装パーティーの始め方(1日限定!)

さて今回は小ネタです。

EC2インスタンスで英語版Windows Server 2012 R2のAMIから起動し、その後言語設定を日本語化しました。
最初から日本語版を使えればよかったのですが、特定のバージョン/エディションのSQL Serverを使用するためには英語版しか選択肢がなかったのです。
日本語化した後、OSの「リモート管理」機能が使えなくなりました。

言語設定の日本語化手順

OSはWindows Server 2012 R2 英語版です。以下のブログ過去記事の手順を実行しました。
サーバーワークスエンジニアブログ – Windows Server 2012 R2英語版の日本語表示

エラーが発生していた

しばらくは気づかずに使っていたのですが、あるときふとサーバーマネージャーを見ると、リモート管理の状態が「不明」になっています。

「不明」のリンクをクリックすると下図の画面が表示されました。

内部エラー:リモート処理の状態を読み取ることができませんでした: 指定されたファイルが見つかりません。

リモート管理を有効にする必要があったので「他のコンピューターからのこのサーバーのリモート管理を有効にする」にチェックを入れて[OK]ボタンをクリックしましたが、エラー表示(スクリーンショット取りそこないました)となり、有効にできません。

対応方法

コマンドプロンプトを「管理者として実行」で起動して、以下のコマンドを実行します。

特にOS再起動も必要なく「有効」に戻りました。

原因は、言語設定を変更することで、OSがリモート管理の使用に必要な Windowsファイアウォールのルールを認識できなくなったためのようです。上記コマンドでそのルールを追加しています。
本事象はWindows ファイアウォールそのものを「無効」にしていても発生します。
(コマンド実行前にWindowsファイアウォールの管理コンソールを開くと同名のルールが一見存在するように見えるのですが、何かが違うのか、内部的にそれを認識できていない状態なのか、コマンドの実行が必要となります。)

おまけ

現象を元に検索すると、まず見つかるのが「winrm quickconfig」コマンドで解決する、という記事。
しかし、今回の現象では「winrm quickconfig」コマンドを実行すると以下のエラーメッセージが表示されて解決に至りませんでした。

おわりに

記事を書くために再現実験をしましたが、事象は必ず発生するわけではなく何らかがトリガーとなって発生するようです。(トリガーは特定できず)
本事象で困っている方の助けになれば幸いです。

AWS運用自動化サービス「Cloud Automator」