Migrate to Containers CLI リリースノート

このページでは、Migrate to Containers CLI の本番環境での更新を説明します。このページを定期的にチェックして、新機能や更新された機能、バグ修正、既知の問題、非推奨になった機能に関するお知らせを確認してください。

2024 年 1 月 3 日

2024 年 1 月 3 日に、Migrate to Containers モダナイゼーション プラグインのバージョン 1.4.1 をリリースしました。これには、Tomcat の移行に関するバグの修正が含まれています。

2023 年 12 月 4 日

2023 年 12 月 4 日に、Migrate to Containers CLI バージョン 1.2.2 をリリースしました。

非推奨

websphere-traditional プラグインは非推奨になりました。既存のお客様の場合、このプラグインは 2023 年 12 月まで引き続きサポートされますが、それ以降は使用できなくなります。WebSphere ワークロードのモダナイゼーションを初めて行う場合は、代わりに Migrate to Containers CLI で websphere-container プラグインを使用してください。

2023 年 11 月 2 日

2023 年 11 月 2 日に、バグ修正を含む Migrate to Containers CLI バージョン 1.2.1 をリリースしました。

2023 年 10 月 30 日

2023 年 10 月 30 日に、Migrate to Containers CLI バージョン 1.2.0 をリリースしました。

機能

Linux アプリケーションのオフライン移行のサポートを追加

Migrate to Containers CLI で、新しいオフライン モードを使用してインターネットに接続せずに作業できるようになりました。オフライン モードでは、Linux アプリケーションをオフライン環境で移行できます。

これは、ローカルマシン、ソースマシン、デプロイ クラスタを含むローカル環境が、外部ファイルとバイナリをダウンロードする際に事前承認とセキュリティ スキャンを必要とする安全なネットワーク内にある場合に役立ちます。オフライン モードでは、ファイルのバンドルとバンドル解除のオプションを追加することで、外部ソースから安全なネットワークにソフトウェア アップデートを受信するプロセスが簡素化されました。また、移行されたアプリケーションに必要なアーティファクトのソースとして、ローカル レジストリとセキュリティ保護されたレジストリを指定できます。

オフライン移行を設定するには、Migrate to Containers CLI をダウンロードした後、次の手順を行います。

  1. オフラインの Migrate to Containers CLI プラグイン バンドルをダウンロードします。

    curl -O https://storage.googleapis.com/modernize-plugins-prod/$(curl -s https://storage.googleapis.com/modernize-plugins-prod/latest)/m2c-offline-bundle-linux.tar
    
  2. 必要に応じて、Migrate to Containers CLI とオフラインの Migrate to Containers CLI プラグイン バンドルをオフライン環境にコピーします。

  3. オフラインの Migrate to Containers CLI プラグイン バンドルを解凍します。

    ./m2c plugins unpack -i m2c-offline-bundle-linux.tar
    

    オフライン データ移行のサポートを追加するには、ローカル ネットワークで利用可能な Container Registry を指定します。

    ./m2c plugins unpack -i m2c-offline-bundle-linux.tar --registry HOSTNAME
    

    HOSTNAME は、Container Registry のホスト名に置き換えます。

詳しくは、オフライン移行を設定するをご覧ください。

2023 年 8 月 22 日

2023 年 8 月 22 日に Migrate to Containers CLI バージョン 1.1.0 をリリースしました。

機能

Windows IIS サービスの移行に対する追加機能

Migrate to Containers CLI で、Windows IIS サービスの移行がサポートされるようになりました。Windows IIS サービスを移行するには、Windows マシンで Migrate to Containers CLI を実行する必要があります。

Windows IIS サービスをモダナイズするには、次の操作を行います。

  1. ソース VM ディスク イメージを VHD ファイルにエクスポートします

    たとえば、Compute Engine からイメージをエクスポートするには、まず、Cloud Storage にイメージをエクスポートしてから、ローカルマシンにイメージをダウンロードします。

    gcloud compute images export \
        --export-format vhdx \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME
    gsutil cp DESTINATION_URI LOCAL_PATH
    
  2. ディスク イメージを分析して、移行計画を作成します。

    ./m2c analyze \
       -s PATH_TO_IMAGE \
       -p windows-iis-container \
       -o ANALYSIS_OUTPUT_PATH
    
  3. 移行計画を編集します

  4. ディスク イメージと移行計画から移行アーティファクトを生成します。

    ./m2c generate \
       -i ANALYSIS_PATH \
       -o OUTPUT_ARTIFACTS_PATH
    

IBM WebSphere アプリケーションの移行に対するサポートの強化

IBM WebSphere のサポートが変更および拡張されました。既存のプラグインは、移行元として WebSphere Application Server traditional をサポートしています。移行元として WebSphere Application Server Liberty をサポートする新しいプラグインが追加されました。

IBM WebSphere Application Server traditional の移行に対する変更

IBM WebSphere Application Server traditional の移行に対して次の変更が行われています。

  • websphere-traditional-container プラグインが IBM WebSphere Application Server traditional のワークロードの移行に使用されるようになりました。
  • ターゲットとして WebSphere Application Server Liberty のサポートが追加されました。
  • mFit を使用してソース VM をスキャンする場合でも、was-home パラメータが必須になりました。

IBM WebSphere Application Server traditional のワークロードを移行するには、次のコマンドを実行します。

./m2c analyze \
    -s PATH_TO_COPIED_FILESYSTEM \
    -p websphere-traditional-container -o ANALYSIS_OUTPUT_PATH \
    -r was-home=PATH_TO_WAS_HOME \
    --volume PATH_TO_BINARYAPPSCANNER:/binaryAppScanner.jar

詳細については、WebSphere traditional ワークロードの移行計画を作成するをご覧ください。

IBM WebSphere Application Server Liberty の移行に対する追加サポート

websphere-container プラグインによる WebSphere Application Server Liberty のモダナイゼーションが一般提供になりました。

IBM WebSphere Liberty ワークロードを移行するには、次のコマンドを実行します。

./m2c analyze \
    -s PATH_TO_COPIED_FILESYSTEM \
    -p websphere-container \
    -o ANALYSIS_OUTPUT_PATH \
    -r websphere-home=WEBSPHERE_HOME \
    -r websphere-java-home=WEBSPHERE_JAVA_HOME
    -r target-base-image=TARGET_BASE_IMAGE

詳細については、WebSphere Application Server Liberty ワークロードの移行計画を作成するをご覧ください。

Tomcat プラグインの更新

Tomcat プラグインの検出パラメータが更新されました。

  • Tomcat 移行に入力として java-version パラメータが追加されました。
  • catalina-base パラメータに、コロン(:)で区切られた複数のディレクトリを含めることができるようになりました。
  • mFit を使用してソース VM をスキャンする場合でも、java-versioncatalina-basecatalina-home の各パラメータは必須になりました。

詳細については、Tomcat ワークロードの移行計画を作成するをご覧ください。

Linux システム コンテナ プラグインの更新

Linux システム サービス エンドポイントは自動的に検出されないため、mFit を使用してソース VM をスキャンする場合でも、Linux 移行計画をカスタマイズするときに手動で指定する必要があります。

修正点

一部のシステムでは、以前のバージョンの Migrate to Containers CLI から /tmp ディレクトリのソケットを使用しようとしたときに、ソケットが自動的に削除されていて、copy コマンドが失敗することがあります。このバージョンでは、デフォルトが変更されています。ソケットの場所をカスタマイズするには、SOCKDIR 環境変数を設定します。

問題

  • Skaffold が誤ったターゲットのベースイメージを pull しようとするため、Windows マシンで Windows イメージ用の Skaffold ビルドを実行すると、エラーが発生することがあります。

    この問題の回避策としては、docker pull コマンドを使用してイメージを手動で pull し、Skaffold ビルドを再度実行してください。

  • 短いタイムアウトが原因で、Windows IIS ワークロードのデプロイが「準備未完了」とマークされることがあります。Skaffold を使用してワークロードをデプロイしている場合、デプロイが「失敗」と表示されることがあります。

    この問題の回避策としては、PowerShell を使用し readiness Probe のタイムアウトまでの時間を増やしてください。

    foreach ($file in (Get-ChildItem . -Recurse -Include "deployment_spec.yaml")) { (Get-Content $file).replace("periodSeconds: 10", "periodSe
    conds: 30").replace("timeoutSeconds: 1", "timeoutSeconds: 10") | Set-Content $file }
    

2023 年 6 月 27 日

2023 年 6 月 27 日に、Migrate to Containers CLI バージョン 1.0.0 をリリースしました。

機能

Skaffold API バージョンのアップグレード

Migrate to Containers CLI では、バージョン v2beta25 の代わりに Skaffold API バージョン v4beta4 を使用して Skaffold 構成を生成するようになりました。

Linux VM コンテナ化のサポートの追加

Migrate to Containers CLI を使用して、Linux VM をシステム コンテナに移行できるようになりました。送信元のアプリケーション ファイルを検出して処理し、Dockerfile、Kubernetes マニフェスト、Skaffold に基づく自動デプロイ スクリプトなどの移行アーティファクトを生成します。

Migrate to Containers CLI は、ビルド済みの Linux システム コンテナを使用します。これは、モダナイズされたアプリケーションに必要なサービスのブートローダーとして機能します。Migrate to Containers CLI を使用すると、GKE、Cloud Run、GKE Enterprise のクラスタで実行できるように、Linux ベースのさまざまなステートレス アプリケーションをモダナイズできます。

詳細については、Linux VM コンテナの移行計画を作成するをご覧ください。

copy オペレーションの強化

copy オペレーションで次の改善が行われました。

  • Migrate to Containers CLI の copy オペレーションでは、ローカル tar ファイルを使用する代わりに、ローカル コンテナを使用してソース VM ファイル システムをローカル ディレクトリにコピーするようになりました。この改善により、ローカルマシンに rsync をインストールする必要がなくなり、ソースマシンのファイル システムのコピーに必要なディスク スペースが削減されます。

  • 障害が発生した場合、Migrate to Containers CLI は、障害が発生した時点からコピープロセスを続行するようになりました。

詳細については、移行元マシンのファイル システムをコピーするをご覧ください。

コピーしたファイル システムをクリーンアップする機能の追加

移行の完了後、新しい cleanup コマンドを使用して、ローカルマシンで copy コマンドを使用して作成した移行元マシンのファイル システムのコピーを、権限の問題なく削除できるようになりました。

詳細については、ローカルマシンをクリーンアップするをご覧ください。

データ移行のサポートの追加

移行の実行後、新しい migrate-data コマンドを使用して、ターゲット クラスタの新規または既存の永続ボリューム クレーム(PVC)にデータ ディレクトリをコピーできるようになりました。

この操作は、移行元 VM からターゲット コンテナにマウントされた永続ボリュームに、永続データ ディレクトリを移行する場合に必要です。

詳細については、データを移行するをご覧ください。

2023 年 6 月 13 日

2023 年 6 月 13 日に、Migrate to Containers CLI の一般提供が発表されました。

Migrate to Containers CLI を使用すると、VM で実行されているアプリケーション コンポーネントを、GKE、GKE Autopilot、Cloud Run、GKE Enterprise のクラスタで実行されているコンテナにモダナイズできます。

詳しくは、コマンドラインでアプリケーションをコンテナベースのワークロードにシフトする | Google Cloud ブログをご覧ください。

2023 年 5 月 2 日

2023 年 5 月 2 日に、プレビュー で Migrate to Containers CLI バージョン 0.2.0 をリリースしました。Migrate to Containers CLI を使用すると、VM で実行されているアプリケーション コンポーネントを、GKE、GKE Autopilot、Cloud Run、GKE Enterprise のクラスタで実行されているコンテナにモダナイズできます。このツールは、次の 4 つの主要なステップで構成されるシンプルなフローを提供します。

  1. SSH または gcloud CLI を使用して、移行元 VM からアプリケーション ファイルをコピーする。
  2. アプリケーション ファイルのローカルコピーを分析し、移行計画を生成する。
  3. 移行計画ファイルを編集して移行計画をカスタマイズする。
  4. コンテナ イメージ、Deployment YAML、Skaffold 構成ファイルとして必要なアーティファクトを生成する。

詳細については、Migrate to Containers について | Google Cloud をご覧ください。

機能

ソース アプリケーション ファイルをコピーする

アプリケーション ファイルを SSH 経由でオンプレミスのリモート VM からコピーします。または、gcloud CLI を使用して Google Cloud で実行されている VM からコピーします。

アプリケーションの変更を分析してモダナイゼーションの変更を把握する

アプリケーションのバイナリと構成ファイルを分析し、コピーしたファイルから抽出されたパラメータを使用して移行計画ファイル レポートと移行計画を生成します。

コンテナとして実行するアプリケーション アーティファクトを生成する

Skaffold 構成ファイルを使用して、アプリケーションをコンテナとして実行するために必要なアーティファクトを生成します。生成されたアーティファクトは、ターゲット クラスタに自動的にデプロイされます。

サポートされているモダナイゼーション フロー

新しい Migrate to Containers CLI を使用すると、ローカル環境でアプリケーションのモダナイゼーションに取り組み、生成されたアーティファクトをローカルまたはリモートのクラスタに直接デプロイできます。

Migrate to Containers CLI では、次のモダナイゼーション フローがサポートされています。

  • Tomcat アプリケーションからコミュニティ ベース イメージを使用するコンテナ
  • Apache アプリケーションからコミュニティ ベースのイメージを使用するコンテナ
  • IBM JBoss アプリケーションからコミュニティの WildFly ベースイメージを使用するコンテナ
  • 従来の IBM Websphere Application Server から従来の IBM WebSphere Application Server イメージを使用するコンテナ
  • 従来の IBM Websphere Application Server から Open Liberty コンテナ イメージを使用するコンテナ