

# AWS Migration Hub API
<a name="api-reference"></a>

AWS Migration Hub API メソッドは、Migration Hub へのプログラムインターフェイスを提供することで、サーバーとアプリケーションの移行ステータスを取得し、リソース固有の移行ツールを統合するのに役立ちます。

## 移行ステータスの更新のレポート
<a name="api-reference-workflow"></a>

### 移行ツールの `ProgressUpdateStream` の作成
<a name="api-reference-create-pus-for-tool"></a>

ステータスを Migration Hub に送信するには、まず `CreateProgressUpdateStream` を使用して移行ツールに対応する `ProgressUpdateStream` を作成する必要があります。`ProgressUpdateStreamName` は、移行ツールの名前空間です。`ProgressUpdateStreamName` は現在の AWS アカウントにスコープされているため、すべてのアカウントで同じにすることができます。`ProgressUpdateStreamName` は、移行ツールを表す名前として、Migration Hub コンソール全体にそのまま表示されます。たとえば、サーバー移行サービスは `ProgressUpdateStreamName` 「SMS」を使用し、アプリケーションのページの [Migrate (移行)] セクションの下に [Migration Tool (移行ツール)] として表示されます。

### 移行タスクの作成
<a name="api-reference-import-migration-task"></a>

`ProgressUpdateStream` を作成したら、`ImportMigrationTask` を呼び出して、移行ツールから移行タスクのインポートを開始できます。タスクがまだ開始されていない場合でも、タスクの存在について Migration Hub ユーザーに通知するために、`ImportMigrationTask` をできるだけ早く呼び出すことをお勧めします。

### 以前に検出されたサーバーへの移行タスクの関連付け
<a name="api-reference-associate_task"></a>

移行タスクの詳細をコンソールに追加するには、タスクをリソースに関連付ける必要があります。リソースは、移行用の既存のサーバーまたは移行元サーバーを表します。 この関連付けには 2 つの方法があります。
+ **自動マッピング（推奨）**: 移行ツールは、十分な識別情報（IP アドレス、MAC アドレス、完全修飾ドメイン名など、また VMware 環境、vCenter ID、MoRef ID、VM 名、VM フォルダパスなどに）を、AWS Migration Hub が AWS Application Discovery Service (ADS) のサーバーリポジトリ内のサーバーに移行するサーバーを正しくマッピングできるように移行タスクを使用して `PutResourceAttributes` を呼び出すことにより、関連付け（プット）できます。Migration Hub が ADS のサーバーリポジトリに一致するサーバーを見つけられない場合は、自動的に ADS リポジトリにサーバーを追加します。
+ **手動マッピング**: または、移行ツールでは、既存の AWS Application Discovery Service (ADS) サーバーの一覧を表示する移行ツールのワークフロー内でマッピング操作を提供することで、ユーザーがこの関連付けを手動で行うことができます。
**注記**  
自動マッピング（上記）では、`PutResourceAttributes` の呼び出し時にツールから Application Discovery Service リポジトリにサーバーが自動的に追加され、マッピングされるため、この方法は推奨されず、ほとんど必要ありません。

### 自動マッピングの説明
<a name="api-reference-automatch"></a>
+ 移行ツールは、`PutResourceAttributes` API を使用して、移行されているリソースに関する情報を提供します。これは、`PutResourceAttributes` 呼び出しが返された後にリソースとの非同期関連付けによって行われます。一致するサーバーが見つからない場合は、`PutResourceAttributes` は自動的に ADS リポジトリにサーバーを追加し、移行タスクを新しいサーバーにマッピングします。 この関連付けは `ListDiscoveredResource.` を呼び出すことによって検証できます。
+ これは、`MigrationTaskName` と `ResourceAttributes` で呼び出されます。`MigrationTaskName` は、移行ツールによって提供される識別子です。 この名前は、`ProgressUpdateStream` 内の移行タスクを一意に識別します。
+ `ResourceAttributes` は、サーバーの MAC アドレス、IP アドレス、完全修飾ドメイン名など、移行されるリソースに関する説明情報です。VMware 環境の VM 名、vCenter ID、MoRef ID などです。これは、移行タスクを Application Discovery Service (ADS) 内のサーバーに関連付けるために使用できます。

### 移行ステータスの更新の送信
<a name="api-reference-send-updates"></a>

移行タスクが存在するので、移行ステータスの更新を送信して Migration Hub に表示することができます。AWS Migration Hub の `NotifyMigrationTaskState` API を呼び出して、最新のタスクステータスを共有します。 この呼び出しから返される情報には、移行タスクの進行状況とステータスが含まれます。これは、Migration Hub に表示されるお客様に表示される情報です。

`MigrationTaskName` input パラメータには、正しいターゲットタスクに対する更新のアドレス指定に使用される引数が含まれます。また、`ProgressUpdateStream` パラメータは、アクセスコントロールや AWS アカウントにスコープされた一意の名前空間を提供するために使用されます。API パラメータについては、このセクションの後半で詳しく説明します。

### 移行ツールの予想される動作
<a name="api-reference-expected-behaviour"></a>

次に、使用する移行ツールと AWS Migration Hub の相互作用に関する重要な情報を示します。
+ 移行ツールは、Migration Hub API の障害に対して再試行することが予想されます。
+  移行ツールは、できるだけ頻繁に更新を公開することが期待されています。 移行ツールは、 `NotifyMigrationTaskState` API を呼び出すために、独自の更新の期待値を指定する必要があります。更新が利用可能になったらすぐに送信することをお勧めします。
+ 移行ツール が `PutResourceAttributes` を呼び出す必要があります。移行中に、移行ツールがリソースに対する変更を検出したり、追加情報を見つけたりすると、`PutResourceAttributes` データを再送信して Migration Hub は新しい値を使用し、古い値を上書きして、Application Discovery Service 内のリソースへの再マッピングを試みます。

## API エンドポイント
<a name="api-reference-endpoint"></a>

API エンドポイントは、API コールのために HTTP URI でホストとして使用する DNS 名です。これらの API エンドポイントはリージョン固有で、次の書式が使用されます。

https://mgh.us-west-2.amazonaws.com/

## API バージョン
<a name="api-reference-version"></a>

使用される API のバージョンは、リクエスト URI の最初のパスセグメントにより特定されます。この形式は ISO 8601 の日付になります。

ドキュメントでは、API バージョン 2017-05-31 について説明されています。

## AWS CloudTrail
<a name="api-cloudtrail-logging"></a>

Migration Hub は CloudTrail と統合されています。これは Migration Hub コンソールから、またはコードから API オペレーションへの Migration Hub API コールをキャプチャするサービスです。CloudTrail で収集された情報に基づいて、Migration Hub に対するリクエスト、リクエストの作成元のソース IP アドレス、リクエストの実行者、リクエストの実行日時などを判断できます。「[AWS CloudTrail を使用した Migration Hub API コールのログ作成](logging-using-cloudtrail.md)」を参照してください。

## 関連トピック
<a name="api-reference-related-topics"></a>

以下のセクションでは、API オペレーション、認証リクエスト用の署名を作成する方法、IAM ポリシーを使用して、これらの API オペレーションのためのアクセス許可を付与する方法を説明します。
+  [AWS Migration Hub に対する認証とアクセスコントロール](auth-and-access-control.md) 
+  [Actions](API_Operations.md) 
+  [Data Types](API_Types.md) 
+  [](logging-using-cloudtrail.md) 