エラー処理

Migrate to Containers は、移行中に再試行可能なエラーとターミナル エラーの 2 種類のエラーを検出できます。Migrate to Containers がエラーを検出した場合のアクションは、検出されたエラーの種類によって異なります。

  • 再試行可能なエラー: Migrate to Containers オペレーションが再試行します。このエラーが検出されると、オペレーションのステータスが Retrying に設定されます。

  • ターミナル エラー: このタイプのエラーは、通常は手動で解決する必要があるため、Migrate to Containers はオペレーションを停止します。このエラーが検出されると、オペレーションのステータスが「エラー」に設定されます。

オペレーションのステータスの表示

移行の進行状況を確認するには、migctl ツールまたは Google Cloud Console を使用します。Google Cloud コンソールでは、移行の [ステータス] 列に移行の現在のステータスが表示されます。

次の migctl コマンドも使用できます。

migctl migration status my-migration

出力は次の形式になります。

NAME            CURRENT-OPERATION       PROGRESS        STEP            STATUS   AGE
my-migration    GenerateArtifacts       [1/1]           ExtractImage    Retrying 12m2s

migctl を使用すると、詳細なステータスも取得できます。この場合、出力の下部にイベントのリストと追加のエラー情報が表示されます。次の例では、移行の詳細ステータスを取得するため、コマンドに -v オプションを指定しています。

migctl migration status my-migration -v

出力には、エラーの診断に役立つイベントとエラー メッセージが含まれています。

Events:
  Type     Reason             Age                     From                                           Message
  ----     ------             ----                    ----                                           -------
  Warning  GetInstanceFailed  2m39s (x91 over 5h32m)  SourceSnapshot sourcesnapshot-58a2405a-603ba2  Failed quering VM my-vm, with error: googleapi: got HTTP response code 404 with body:

この例では、my-vm という名前の VM が見つからないことを示しています。

再試行可能なエラー

再試行可能なエラーは、オペレーションの再試行やユーザーの操作で解決される可能性のあるエラーです。再試行に成功すると、処理が続行されます。

たとえば、Compute Engine VM の移行を作成する前に、VM をシャットダウンする必要がありますが、VM がシャットダウンされていない状態で移行を開始すると、Migrate to Containers がエラーを検出し、移行を再試行します。VM をシャットダウンするか、移行をキャンセルするまで、Migrate to Containers はオペレーションの再試行を継続します。

ターミナル エラー

ターミナル エラーは、オペレーションの再試行で解決されないエラーです。通常、ターミナル エラーを解決するにはユーザーの操作が必要になります。

ターミナル エラーの処理方法は、エラーの内容と、移行プロセスのどこで発生したのかによって異なります。

  • 移行の作成時にターミナル エラーが発生した場合は、移行を削除し、エラーを修正してから移行をやり直す必要があります。

  • 移行の実行オペレーションで移行アーティファクトの生成時にターミナル エラーが発生した場合は、手動でエラーを解決してからオペレーションを再試行します。

たとえば、VM に IIS をインストールせずに Windows IIS アプリケーションを移行しようとした場合、Migrate to Containers で Windows IIS アプリケーションを移行するには Microsoft IIS 7 以降がインストールされている必要があるため、ターミナル エラーが発生します。移行を続行する前に、VM でこの問題を解決する必要があります。

ターミナル エラーの場合、Error というステータスのほかに、エラーの診断に役立つエラー固有の情報も表示されることがあります。