コマンドプロンプトから自動化を実行する - AWS での Cloud Migration Factory

コマンドプロンプトから自動化を実行する

ウェブインターフェイスから自動化ジョブを実行することをお勧めしますが、自動化スクリプトを自動化サーバーのコマンドラインから手動で実行することができます。これにより、組織が環境で AWS CMF 認証情報マネージャー、AWS Secrets Manager および AWS Systems Manager の組み合わせを使用できない、または使用したくない場合、または AWS での Cloud Migration Factory ユーザーが AWS での Cloud Migration Factory にログオンするための多要素認証 (MFA) ワンタイムアクセスコードを提供する必要がある場合、追加のオプションを利用することができます。

コマンドラインからスクリプトを実行する場合、ジョブ履歴とログはウェブインターフェイスの [ジョブ] ビュー内からは参照できません。ログ出力はコマンドライン出力のみに送られます。スクリプトは引き続き AWS API での Cloud Migration Factory にアクセスして、レコードの読み取りと更新を行ったり、API を通じてその他の関数を利用できます。

スクリプトの最新バージョンまたは現在使用が承認されているバージョンにアクセスして使用できるように、スクリプトライブラリまたは別の場所にスクリプトを保管することをおすすめします。

自動化パッケージを手動で実行する

このセクションでは、AWS での Cloud Migration Factory からパッケージをダウンロードし、自動化サーバーで手動で実行する手順について説明します。ステップ 1 と 2 をソース固有のダウンロードステップに置き換えることで、他のスクリプトソースの場所のプロセスを実行することもできます。

  1. スクリプトが AWS での Cloud Migration Factory に保存されている場合、「スクリプトパッケージをダウンロードする」で説明されている手順に従って、自動化パッケージの ZIP ファイルを入手してください。

  2. zip ファイルを、c:\migrations\scripts のような自動化サーバーの場所にコピーし、内容を解凍します。

  3. FactoryEndpoints.json ファイルを、解凍した各スクリプトフォルダにコピーします。サーバーを含む Cloud Migration Factory インスタンスの特定の API エンドポイント、またはこの自動化ジョブが参照するその他のレコードを使用してファイルを設定します。このファイルの作成方法の詳細については、「FactoryEndpoints.json の作成」を参照してください。

  4. コマンドラインから、解凍したパッケージのルートディレクトリ内にいることを確認し、以下のコマンドを実行します。

python [package master script file] [script arguments]

パッケージマスタースクリプトファイル — これは、MasterFileName キーの下にある Package-Structure.yml から取得できます。

スクリプト引数 — 引数に関する情報は、Arguments キーの下にある Package-Structure.yml で提供されます。

  1. スクリプトは、AWS API での Cloud Migration Factory ととリモートサーバーに必要な認証情報をリクエストします。手動で入力された認証情報は、同じ認証情報の再入力を避けるため、この処理の間メモリにキャッシュされます。認証情報マネージャー機能を使用して保存されたシークレットにアクセスするスクリプト引数を入力すると、AWS Secrets Manager とそれに関連するシークレットへのアクセスが必要です。何らかの理由でシークレットの取得に失敗した場合、スクリプトはユーザー認証情報の入力を求めます。

FactoryEndpoints.json の作成

このファイルは、AWS での Cloud Migration Factory ソリューションのデプロイ時に一度作成することをおすすめします。コンテンツは初回デプロイ後も変更されず、自動化サーバーの中央ロケーションに保存されるためです。このファイルは、AWS での Cloud Migration Factory API エンドポイントとその他の主要パラメータに自動化スクリプトを提供します。この ファイルの内容の例を示します。

{ "UserApi": "cmfuserapi", "VpceId": "", "ToolsApi": "cmftoolsapi", "Region": "us-east-1", "UserPoolId": "us-east-1_AbCdEfG", "UserPoolClientId": "123456abcdef7890ghijk", "LoginApi": "cmfloginapi" }
注記

デプロイされた AWS Cloud Migration Factory インスタンスに対してこのファイルを作成するのに必要なほとんどの情報は、UserPoolClientId 以外のデプロイされたスタックの AWS CloudFormation [出力] タブから確認できます。この値を取得するには、次の手順を実行します。

  1. Amazon Cognito コンソールに移動します。

  2. [ユーザープール設定] を開きます。

  3. [アプリ統合] を選択します。[アプリクライアント設定] を提供します。

{ "UserApi": <UserApi-value>, "Region": <Region-value>, "UserPoolId": <UserPoolId-value>, "UserPoolClientId": <Amazon-Cognito-user-pool-app-clients-console>, "LoginApi: <LoginApi-value> }

<LoginApi-value><UserApi-value><Region-value>、および <UserPoolId-value> を AWS CloudFormation 出力コンソールから取得した対応する値と置換します。URL の末尾にはフォワードスラッシュ (/) を追加しないでください。

このファイルにはオプションの DefaultUser キーがあります。このキーの値を、AWS での Cloud Migration Factory インスタンスにアクセスするのに使用されるデフォルトユーザー ID に設定すると、毎回入力する必要がなくなります。Cloud Migration Factory のユーザー ID の入力を求められたら、ユーザー ID を入力するか、Enter キーを押してデフォルト値を使用できます。これを実行できるのは、スクリプトを手動で実行する場合のみです。