Google Cloud上のWindowsサーバーで設定作業中に、突如としてインターネットから切断されてしまう。経験したことがある方も多いのではないでしょうか。本ガイドでは、最小限の手間で素早く復旧する方法を解説します。

この問題は、ネットワークやルーティング、VPNクライアントの設定ミス、さらにはWindowsファイアウォールの構成エラーなど、さまざまな原因で発生します。
Google Cloud(コンソール)を利用している場合、シリアルコンソールポート経由でインスタンスのSAC(Special Administration Console)インターフェースにアクセスできます。SACから管理者権限のコマンドラインを起動して、問題を解決することが可能です。
このコンソールはターミナルウィンドウに似ており、入出力はテキストモードで行われます。グラフィカルインターフェースやマウス操作には対応していません。
以下の手順を実行するには、対象サーバーのサーバーまたはドメインの管理者パスワードが必要となりますので、あらかじめご準備ください。
シナリオを再現してみる
本記事のデモのため、インターネットから切断された状態のサーバーを再現しました。サーバーに接続したうえで、インスタンスのIPアドレス設定を意図的に「IPアドレスを自動的に取得する」(DHCP)から、IP「1.2.3.4」の静的設定へ変更します。

ご覧の通り、サーバーは即座にpingへ応答しなくなりました。数秒後にはRDP(リモートデスクトップ)接続も切断されています。


**サーバーをオンラインに戻す**
1. Google Cloud Compute Engineのページでインスタンス名をクリックし、「シリアルコンソールに接続」ボタンをクリックします。

ボタンがグレーアウトしてクリックできない場合は、「編集」をクリックして「シリアルポートへの接続を有効にする」にチェックを入れ、変更を保存してください。
インスタンスがインスタンスグループに属している場合や、CLIで操作したい場合は、以下のgcloudコマンドを使用します。
gcloud compute instances add-metadata <INSTANCE_NAME> --metadata serial-port-enable=1 --project <PROJECT-ID>

「シリアルコンソールに接続」ボタンをクリックすると、新しい画面でインスタンスのコンソールが開きます。

2. ここに表示されているのがSACの出力画面です。ここからコマンドラインインターフェースへ進みます。
SACではさまざまな操作が可能ですが、ここではシンプルに、サーバーのコマンドラインへ到達する目的でSACを利用します。

3. 次のコマンドを入力します。
cmd
これでコマンドプロンプトのセッションが作成されます。続いて以下を入力してください。
ch -sn <ChannelName>
コマンドラインの画面に切り替わるので、Enterキーを押します。
下記の例では、チャネル名はCmd0001です。

画面に接続情報がいくつか表示されますが、本デモでは関係ありません。コンソール画面でEnterを押して進みます。

4. コマンドラインインターフェースにアクセスするには、ドメイン/サーバーの管理者資格情報でログインする必要があります。ユーザー名、ドメイン(任意)、パスワードを入力し、Enterを押します。

これで管理者権限のままサーバーのコマンドラインへアクセスできました。

5. CLIコマンドを使えば、サーバー切断の原因になりがちな代表的な設定ミスに対処できます。
8. 今回再現した設定ミスでは、ネットワーク設定を静的IP「1.2.3.4」からDHCPへ戻す必要があります。次のように入力します。
ipconfig /all
これでサーバー上のネットワークインターフェース構成の一覧が表示されます。

サーバーにはEthernetという名前のネットワークインターフェースが1つあり、IPアドレスは1.2.3.4になっています。
9. 以下のコマンドで、インターフェース設定を静的IPからDHCPに変更します。InterfaceNameはご利用のサーバーのインターフェース名に置き換えてください。
netsh interface ip set address "<InterfaceName>" dhcp

これで完了です。サーバーがオンラインに復旧し、pingにも応答するようになりました。

本手法は、予期せず突然ネットワークが切断されてしまったGoogle Cloudユーザー向けの対処法です。生産性を落とさず、作業を続けましょう!
お読みいただきありがとうございました。最新情報はDoiT Engineering Blog、DoiT LinkedInチャンネル、DoiT Twitterチャンネルでご確認ください。採用情報はhttps://careers.doit-intl.comをご覧ください。