エラー処理
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 というステータスのほかに、エラーの診断に役立つエラー固有の情報も表示されることがあります。