移行プロセスの一環として、さまざまなデータ リポジトリに情報が書き込まれます。
- イメージ移行インテントでは、移行された VM ディスクを含む Docker イメージ ファイルが Docker レジストリに書き込まれます。Data Intent を使用して移行する場合、このリポジトリは不要です。
- 移行されたワークロードを表す移行アーティファクトが 2 つ目のリポジトリに書き込まれます。アーティファクトには、移行されたワークロードのデプロイに使用できる構成 YAML ファイルなどのファイルが含まれます。
リポジトリのステータスを表示する
インストール後、migctl doctor コマンドを実行してインストールを確認できます。migctl doctor コマンドは、この検証の一環としてリポジトリのステータスを確認します。
migctl doctor
次の migctl doctor コマンドの出力例で、チェックマークは Migrate が正常にデプロイされたものの、必要なデータ リポジトリがまだ構成されていないことを示しています。
[✓] Deployment
[!] Docker Registry
[!] Artifacts Repo
[!] Source Status
リポジトリを構成した後に migctl doctor コマンドをもう一度実行すると、リポジトリが正しく構成されていることを確認できます。
[✓] Deployment
[✓] Docker registry
[✓] Artifacts repo
[!] Source Status
リポジトリの場所
データ リポジトリの場所は、移行のパフォーマンスとコストに影響する可能性があります。たとえば、イメージ インテント移行の場合、VM のディスクのコピーを含む containerDisk Docker イメージが大きくなることがあります。この Docker イメージを Google Cloud の Container Registry に書き込むと、データ アップロードのパフォーマンス レイテンシと、そのデータの保存コストが発生します。ベアメタル版 Anthos クラスタに対してローカルな Docker レジストリを定義する方が効率的な場合があります。
TLS サポート
一部のリポジトリには、TLS / SSL を使用して HTTPS 経由でアクセスできます。リポジトリへの HTTPS 接続で自己署名証明書を使用する場合は、リポジトリを構成するときに次のいずれかの証明書を含む PEM ファイルを渡す必要があります。
- 自己署名証明書の公開鍵
- ルート証明書とすべての中間証明書から実際のサーバー証明書までの連結
Docker レジストリを構成する
migctl コマンドを使用して、Docker レジストリを構成します。migctl コマンドを使用すると、レジストリ構成に対して次の操作を行えます。
- 作成
- 更新
- 削除
- リスト
- デフォルトを設定
複数のレジストリを定義できます。デフォルトを含む定義されたレジストリを表示するには、migctl docker-registry list
コマンドを使用します。migctl
docker-registry set-default
コマンドを使用して、デフォルトのレジストリを設定します。次の例は、GCR Docker レジストリを構成する方法を示しています。
migctl docker-registry create gcr REGISTRY_NAME --project <project-id> --json-key=key.json
次のように置き換えます。
- REGISTRY_NAME は、Docker レジストリ構成のユーザー定義名です。
- PROJECT_ID は、Google プロジェクト ID です。
- KEY.JSON は、サービス アカウントの構成の説明に沿って、Container Registry と Cloud Storage にアクセスするためのサービス アカウントの JSON キーファイルの名前です。
後でレジストリ構成を更新するには、作成に使用したものと同じ引数で migctl docker-registry
update
コマンドを実行します。
migctl docker-registry update gcr <registry-name> <same-flags-as-create>
Docker レジストリを構成すると、そのレジストリがデフォルトのレジストリになります。ただし、複数のレジストリが定義されることもあります。レジストリの最新リストを表示するには:
migctl docker-registry list
デフォルトのレジストリ構成を設定するには、次のコマンドを使用します。
migctl docker-registry set-default <registry-name>
レジストリ構成を削除するには:
migctl docker-registry delete <registry-name>
アーティファクト リポジトリを構成する
migctl
コマンドを使用して、アーティファクト リポジトリを構成します。migctl
コマンドを使用すると、リポジトリ構成に対して次の操作を行えます。
- 作成
- 更新
- 削除
- リスト
- デフォルトを設定
複数のリポジトリを定義できます。Migrate は、現在デフォルトとして定義されている構成を使用します。migctl artifacts-repo list
コマンドを使用して、デフォルトの構成を含む現在の構成を表示します。migctl artifacts-repo
set-default
コマンドを使用してデフォルト構成を設定します。
次の例は、Google Cloud Storage 上にアーティファクト リポジトリを構成する方法を示しています。
migctl artifacts-repo create gcs <repository-name> --bucket-name <bucket-name> --json-key=key.json
ここで
- repository-name は、アーティファクト リポジトリ構成のユーザー定義名です。
- bucket-name は、Cloud Storage リポジトリ内の既存のバケットを指定します。既存のバケットがない場合は、ストレージ バケットの作成の手順に沿ってバケットを作成します。注: Migrate をインストールすると、インストーラによって
GCP_PROJECT-migration-artifacts
という名前のデフォルト バケットが自動的に作成されます。ここでは、次のようになります。- project-id を Google プロジェクト ID にします。
- key.json は、サービス アカウントの構成の説明に沿って、Container Registry と Cloud Storage にアクセスするためのサービス アカウントの JSON キーファイルの名前です。
後でリポジトリ構成を更新するには、作成に使用したものと同じ引数で migctl artifacts-repo
update
コマンドを実行します。
migctl artifacts-repo update gcs <repository-name> <same-flags-as-create>
アーティファクト リポジトリを構成すると、これがデフォルトのリポジトリになります。ただし、複数のリポジトリが定義されることもあります。リポジトリの最新リストを表示するには:
migctl artifacts-repo list
デフォルトのリポジトリ構成を設定するには、次のコマンドを使用します。
migctl artifacts-repo set-default <repository-name>
リポジトリ構成を削除するには:
migctl artifacts-repo delete <repository-name>