

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS DataSync 転送のモニタリング
<a name="monitoring-overview"></a>

モニタリングは、 AWS DataSync の転送アクティビティの信頼性とパフォーマンスを維持する上で重要です。エラーが発生した場合により簡単にデバッグできるよう、モニタリングデータを収集することをお勧めします。ただし、DataSync のモニタリングを開始する前に、以下の質問に対する回答を反映したモニタリング計画を作成する必要があります。
+ モニタリングの目的は何ですか?
+ どのリソースをモニタリングしますか?
+ どのくらいの頻度でこれらのリソースをモニタリングしますか?
+ どのモニタリングツールを利用しますか?
+ 誰がモニタリングタスクを実行しますか?
+ 問題が発生したときに誰が通知を受け取りますか?

AWS には、DataSync をモニタリングするためのさまざまなサービスとツールが用意されています。これらの中には、自動モニタリング機能を設定できるものもあれば、手動操作を必要とするものもあります。モニタリングタスクをできるだけ自動化することをお勧めします。

**Topics**
+ [データ転送パフォーマンスカウンターについて](transfer-performance-counters.md)
+ [Amazon CloudWatch メトリクスを使用したデータ転送のモニタリング](monitor-datasync.md)
+ [タスクレポートによるデータ転送のモニタリング](task-reports.md)
+ [Amazon CloudWatch Logs によるデータ転送のモニタリング](configure-logging.md)
+ [を使用した AWS DataSync API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)
+ [Amazon EventBridge を使用した イベントのモニタリング](events.md)
+ [手動ツール AWS DataSync によるモニタリング](monitoring-task-manually.md)

# データ転送パフォーマンスカウンターについて
<a name="transfer-performance-counters"></a>

[タスクを開始すると](run-task.md)、 は、データ転送のパフォーマンスと進行状況を追跡するのに役立つカウンター AWS DataSync を提供します。

各カウンターが何を表すかを理解するには次の情報を使用します。これらのカウンターは、DataSync コンソールまたは [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) レスポンスで表示できます。一部のカウンターは、すべての[タスクモードで](choosing-task-mode.md)利用できるわけではありません。


| コンソール | `DescribeTaskExecution` | タスクモードのサポート | 説明 | 
| --- | --- | --- | --- | 
|  –  |  `BytesWritten`  |  拡張、基本  |  DataSync が転送先の場所に実際に書き込んだ論理バイト数。  | 
|  **データスループット**  |  –  |  拡張、基本  |  DataSync が送信先の場所に論理バイトを書き込むレート。 [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) を使用している場合、このカウンターの計算方法はタスクモードによって異なります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
| 転送されたデータ |  `BytesTransferred`  |  拡張、基本  |  圧縮前に DataSync がネットワークに送信するバイト数 (圧縮可能な場合)。 ネットワーク経由で転送されたバイト数については、**[ネットワークスループット]** (コンソール内) または `BytesCompressed` ([DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) 内) カウンターを参照してください。  | 
|  **送信先から削除されました**  |  `FilesDeleted`  |  Basic  |  DataSync が転送先の場所で実際に削除したファイル、オブジェクト、およびディレクトリの数。 [送信元にない送信先のデータを削除する](configure-metadata.md#task-option-file-object-handling)ようにタスクを設定していない場合: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **送信先から削除されました**  |   `FilesDeleted`, `FoldersDeleted`   |  拡張  |  DataSync が送信先ロケーションで実際に削除するファイルまたはオブジェクト、およびディレクトリの数。 [送信元にない送信先のデータを削除する](configure-metadata.md#task-option-file-object-handling)ようにタスクを設定していない場合: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |  `EstimatedBytesToTransfer`  | 拡張、基本 |  DataSync が転送先の場所に書き込む論理バイト数の予定。  | 
|  –  |  `EstimatedFilesToDelete`  | Basic |  DataSync が転送先の場所で削除する予定のファイル、オブジェクト、およびディレクトリの数。 送信元にない送信先のデータを削除するように[タスクを設定](configure-metadata.md#task-option-file-object-handling)しない場合、値は常に `0` です。  | 
|  –  |   `EstimatedFilesToDelete`, `EstimatedFoldersToDelete`   | 拡張 |  DataSync が送信先ロケーションで削除することが予想されるファイルまたはオブジェクト、およびディレクトリの数。 送信元にない送信先のデータを削除するように[タスクを設定](configure-metadata.md#task-option-file-object-handling)しない場合、値は常に `0` です。  | 
|  –  |  `EstimatedFilesToTransfer`  |  Basic  |  DataSync がネットワーク経由で転送する予定のファイル、オブジェクト、およびディレクトリの数。この値は、DataSync が転送を[準備](run-task.md#understand-task-execution-statuses)している間に計算されます。 これの計算方法は、主に使用している[転送モード](configure-metadata.md#task-option-transfer-mode)によって異なります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `EstimatedFilesToTransfer`, `EstimatedFoldersToTransfer`   |  拡張  |  DataSync がネットワーク経由で転送することを期待するファイルまたはオブジェクト、およびディレクトリの数。この値は、DataSync が転送を[準備](run-task.md#understand-task-execution-statuses)している間に計算されます。 これの計算方法は、主に使用している[転送モード](configure-metadata.md#task-option-transfer-mode)によって異なります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **ファイルスループット**  |  –  |  拡張、基本  |  DataSync がネットワーク経由でファイル、オブジェクト、およびディレクトリを転送するレート。 [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) を使用している場合、このカウンターの計算方法はタスクモードによって異なります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `FilesFailed`, `FoldersFailed`   |  拡張  |  タスクの実行中に DataSync が準備、転送、検証、削除に失敗したファイルまたはオブジェクト、およびディレクトリの数。 障害が発生した場合は、それぞれ **[準備済み]**、**[転送済み]**、**[スキップ済み]**、**[送信先から削除されました]** のコンソールカウンターの横に表示されます。  | 
|  **送信元で一覧表示済み**  |   `FilesListed.AtSource`, `FoldersListed.AtSource`   |  拡張  |  DataSync がソースロケーションで検出したファイルまたはオブジェクト、およびディレクトリの数。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `FilesListed.AtDestinationForDelete`, `FoldersListed.AtDestinationForDelete`   |  拡張  |  DataSync が送信先で検出したファイルまたはオブジェクト、およびディレクトリの数。 このカウンターが適用されるのは、[送信元にはない送信先のデータを削除する](configure-metadata.md#task-option-file-object-handling)ようにタスクを設定している場合のみです。  | 
|  **ネットワークスループット**\$1  |  `BytesCompressed`  |  拡張、基本  |  圧縮が適用された後にネットワーク上で DataSync が転送した物理バイト数 (圧縮可能な場合)。 この数値は通常、データが圧縮可能でない場合を除き、**転送されたデータ** (コンソール内) または `BytesTransferred` ([DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) 内) より小さくなります。 \$1 拡張モードでは、**ネットワークスループット**はコンソールに表示されません。  | 
|  **圧縮された割合 (%)**  |  –  |  拡張、基本  |  ネットワーク経由で送信する前に DataSync が圧縮した転送データの割合。 [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) を使用している場合は、`1 - BytesCompressed / BytesWritten` を使用してこのカウンターを計算できます。  | 
|  **準備済み**  |   `FilesPrepared`, `FoldersPrepared`   |  拡張  |  送信元と送信先の場所を比較した後に DataSync が転送を試みるファイルまたはオブジェクト、およびディレクトリの数。 コンソールでは、このカウンターには、準備中に DataSync がスキップするオブジェクトの数も表示されます。詳細については、「[DataSync がデータ転送を準備する方法](how-datasync-transfer-works.md#how-datasync-prepares)」を参照してください。 このカウンターは、[すべてのデータを転送する](configure-metadata.md#task-option-transfer-mode)ようにタスクを設定している場合には適用されません。この場合、DataSync は、場所間の違いを比較せずに、送信元から送信先にすべてコピーします。  | 
|  **処理レート**  |  –  |  拡張、基本  |  DataSync が送信元の場所でファイル、オブジェクト、ディレクトリを読み取るレート。 処理レートは、複数の [CloudWatch メトリクス](monitor-datasync.md#accessing-metrics)に基づきます。正確なメトリクスは、使用しているタスクモードによって異なります。 **拡張モード**: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html) **基本モード:** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **残り**  |  –  |  Basic  |  DataSync がネットワーク経由で転送する予定のファイル、オブジェクト、およびディレクトリの残りの数。 [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) を使用している場合は、`EstimatedFilesToTransfer` から `FilesTransferred` を引いてこのカウンターを計算できます。  | 
|  **スキップ済み**\$1  |  `FilesSkipped`  | Basic |  転送中に DataSync がスキップするファイル、オブジェクト、およびディレクトリの数。  | 
|  –  |   `FilesSkipped`, `FoldersSkipped`   | 拡張 |  転送中に DataSync がスキップするファイルまたはオブジェクト、およびディレクトリの数。 **スキップされた**項目は、[変更されたデータのみを転送する](configure-metadata.md#task-option-transfer-mode)場合は**準備**済みカウンターに、[すべてのデータを転送する](configure-metadata.md#task-option-transfer-mode)場合は**転送済み**カウンターに含まれます。  | 
|  **転送済み**  |  `FilesTransferred`  |  Basic  |  DataSync がネットワーク経由で転送したファイル、オブジェクト、およびディレクトリの数。この値は、タスクの実行中に送信元から何かが読み取られ、ネットワーク経由で送信されたときに定期的に更新されます。 DataSync が何かの転送に失敗した場合、この値は `EstimatedFilesToTransfer`または より小さくすることができます`EstimatedFoldersToTransfer`。場合によっては、この値は `EstimatedFilesToTransfer`または よりも大きくなることもあります`EstimatedFoldersToTransfer`。一部の場所タイプではこのカウンターは実装に固有のものであるため、転送されたものを正確に示すものとして使用したり、タスクの実行をモニタリングするために使用したりしないでください。  | 
|  **転送済み**  |   `FilesTransferred`, `FoldersTransferred`   |  拡張  |  DataSync がネットワーク経由で転送するファイルまたはオブジェクト、およびディレクトリの数。この値は、タスクの実行中に送信元から何かが読み取られ、ネットワーク経由で送信されたときに定期的に更新されます。 DataSync が何かの転送に失敗した場合、この値は `EstimatedFilesToTransfer`または より小さくすることができます`EstimatedFoldersToTransfer`。場合によっては、この値は `EstimatedFilesToTransfer`または よりも大きくなることもあります`EstimatedFoldersToTransfer`。一部の場所タイプではこのカウンターは実装に固有のものであるため、転送されたものを正確に示すものとして使用したり、タスクの実行をモニタリングするために使用したりしないでください。  | 
|  **検証済み**  |  `FilesVerified`  |  Basic  |  転送中に DataSync が検証するファイル、オブジェクト、およびディレクトリの数。 [転送されたデータのみを検証する](configure-data-verification-options.md)ようにタスクを設定すると、DataSync は状況によってはディレクトリを検証せず、また転送に失敗したファイルやオブジェクトを検証しません。  | 
|  **検証済み**  |   `FilesVerified`, `FoldersVerified`   |  拡張  |  転送中に DataSync が検証するファイルまたはオブジェクト、およびディレクトリの数。  | 

# Amazon CloudWatch メトリクスを使用したデータ転送のモニタリング
<a name="monitor-datasync"></a>

Amazon CloudWatch は、DataSync 転送パフォーマンスを追跡し、転送タスクに関する問題をトラブルシューティングするためのメトリクスを提供します。

Amazon CloudWatch メトリクスを使用して AWS DataSync 転送パフォーマンスをモニタリングできます。DataSync メトリクスは、[ログ記録の設定](configure-logging.md)方法に関係なく 5 分間隔で CloudWatch に自動的に送信されます。メトリクスは 15 か月間保持されます。

DataSync の CloudWatch メトリクスを確認するには、以下のツールを使用できます。
+ CloudWatch コンソール
+ CloudWatch CLI
+ CloudWatch API
+ DataSync コンソール (タスク実行の詳細ページ)

詳細については、[https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)を参照してください。

## DataSync の CloudWatch メトリクス
<a name="accessing-metrics"></a>

DataSync メトリクスは `aws/datasync` ネームスペースを使用し、次のディメンションのメトリクスを提供します。
+ **AgentId** – エージェントの一意の ID (タスクでエージェントを使用している場合)。
+ **TaskId** －タスクの一意の ID。`task-01234567890abcdef` の形式です。

`aws/datasync` 名前空間には、次のメトリクスが含まれます。一部のメトリクスは、すべての[タスクモードで](choosing-task-mode.md)利用できるわけではありません。


| CloudWatch メトリクス | タスクモードのサポート | 説明 | 
| --- | --- | --- | 
|  `BytesCompressed`  | ベーシック |  圧縮が適用された後にネットワーク上で DataSync が転送した物理バイト数 (圧縮可能な場合)。データが圧縮可能でない限り、この数値は通常 `BytesTransferred` よりも小さくなります。 単位: バイト  | 
|  `BytesPreparedDestination`  | ベーシック |  DataSync が送信先の場所で準備する論理バイト数。 単位: バイト  | 
|  `BytesPreparedSource`  | ベーシック |  DataSync が送信元の場所で準備する論理バイト数。 単位: バイト  | 
|  `BytesTransferred`  | ベーシック |  圧縮前に DataSync がネットワークに送信するバイト数 (圧縮可能な場合)。ネットワーク経由で転送されるバイト数については、`BytesCompressed` のメトリックを参照してください。 単位: バイト  | 
|  `BytesVerifiedDestination`  | ベーシック |  DataSync が送信先の場所で検証する論理バイト数。 単位: バイト  | 
|  `BytesVerifiedSource`  | ベーシック |  DataSync が送信元の場所で検証する論理バイト数。 単位: バイト  | 
|  `BytesWritten`  | 拡張、基本 |  DataSync が転送先の場所に書き込む論理バイト数。 単位: バイト  | 
|  `FilesDeleted`  | 拡張、基本 |  DataSync が送信先の場所で削除するファイル、オブジェクト、およびディレクトリの数。送信元にない送信先のデータを削除するように[タスクを設定](configure-metadata.md#task-option-file-object-handling)しない場合、値は常に `0` です。 単位: 数  | 
|  `FilesListedSource`  | 拡張 |  DataSync が送信元の場所で検出するオブジェクトの数。 単位: 数  | 
|  `FilesPrepared`  | 拡張 |  送信元と送信先の場所を比較した後に DataSync が転送を試みるオブジェクトの数。詳細については、「[DataSync がデータ転送を準備する方法](how-datasync-transfer-works.md#how-datasync-prepares)」を参照してください。 このメトリクスは、[すべてのデータを転送する](configure-metadata.md#task-option-transfer-mode)ようにタスクを設定する場合には適用されません。この場合、DataSync は、場所間の違いを比較せずに、送信元から送信先にすべてコピーします。 単位: 数  | 
|  `FilesPreparedDestination`  | ベーシック |  DataSync が送信先の場所で準備するファイル、オブジェクト、およびディレクトリの数。 単位: 数  | 
|  `FilesPreparedSource`  | ベーシック |  DataSync が送信元の場所で準備するファイル、オブジェクト、およびディレクトリの数。 単位: 数  | 
|  `FilesSkipped`  | ベーシック |  転送中に DataSync がスキップするファイル、オブジェクト、およびディレクトリの数。 単位: 数  | 
|  `FilesTransferred`  | 拡張、基本 |  DataSync がネットワーク経由で転送したファイル、オブジェクト、およびディレクトリの数。この値は、[タスク実行](run-task.md#understand-task-execution-statuses)中にソースから何かが読み取られ、ネットワーク経由で送信されたときに定期的に更新されます。  DataSync が何かの転送に失敗した場合、この値は [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) レスポンスの `EstimatedFilesToTransfer` よりも小さくすることができます。場合によっては、この値は `EstimatedFilesToTransfer` より大きくなることもあります。一部の場所タイプではこのメトリクスは実装に固有のものであるため、転送されたものを正確に示すものとして使用したり、あるいはタスクの実行をモニタリングするために使用したりしないでください。  単位: 数  | 
|  `FilesVerified`  | 拡張 | 転送中に DataSync が検証するオブジェクトの数。 単位: 数 | 
|  `FilesVerifiedDestination`  | ベーシック |  DataSync が送信先の場所で検証するファイル、オブジェクト、およびディレクトリの数。 単位: 数  | 
|  `FilesVerifiedSource`  | ベーシック |  DataSync が送信元の場所で検証するファイル、オブジェクト、およびディレクトリの数。 単位: 数  | 

# タスクレポートによるデータ転送のモニタリング
<a name="task-reports"></a>

*タスクレポート*には、タスクの実行中に AWS DataSync が試行した転送、スキップ、検証、削除の詳細が記されています。詳細については、「[DataSync がファイルやオブジェクト、ディレクトリを転送する仕組み](how-datasync-transfer-works.md#transferring-files)」を参照してください。

タスクレポートは JSON 形式で作成されます。タスクレポートの詳細度はカスタマイズが可能です。
+ [概要のみのタスクレポート](#task-report-types-summary)では、転送されたファイルの数や、DataSync がそれらのファイルのデータ整合性を検証できるかなど、タスクの実行に関する必須情報が記されています。
+ [標準のタスクレポート](#task-report-types-standard)には、DataSync が転送、スキップ、検証、削除を試みた、各ファイル、オブジェクト、フォルダを一覧表示する詳細なレポートと概要が記されています。標準のタスクレポートでは、[レポートの詳細度](#task-report-level)を指定して、タスク実行の失敗のみまたは成功と失敗を示すこともできます。

## ユースケース
<a name="task-reports-use-cases"></a>

データ転送のモニタリングと監査にタスクレポートが役立つケースは以下のとおりです。
+ 数百万のファイルを移行する場合に、DataSync で転送中に問題が生じているファイルをすばやく特定できます。
+ ファイルの管理の流れを検証できます。

## 概要のみのタスクレポート
<a name="task-report-types-summary"></a>

タスク実行の概要のみを記したレポートには、以下の情報が記されています。
+ タスク実行 AWS アカウント を実行した 
+ 送信元と送信先の場所
+ スキップ、転送、検証、削除されたファイル、オブジェクト、フォルダの総数
+ 転送された合計バイト数 (論理バイトと物理バイト)
+ タスクの実行が完了したか、キャンセルされたか、エラーが発生したか
+ 開始時刻と終了時刻 (転送の合計時間を含む)
+ タスクの設定 (帯域幅の制限、データ整合性の検証、DataSync 転送のその他の選択肢など)

## 標準タスクレポート
<a name="task-report-types-standard"></a>

標準のタスクレポートには、タスク実行の[概要](#task-report-types-summary)のほか、DataSync が行った転送、スキップ、検証、削除の詳細なレポートが含まれています。

**Topics**
+ [レポートレベル](#task-report-level)
+ [転送されたレポート](#task-report-types-transferred)
+ [スキップされたレポート](#task-report-types-skipped)
+ [検証済みレポート](#task-report-types-verified)
+ [削除のレポート](#task-report-types-deleted)

### レポートレベル
<a name="task-report-level"></a>

標準タスクレポートでは、以下のレポートレベルのいずれかを選択できます。
+ エラーのみ
+ 成功と失敗 (基本的にタスクの実行中に発生したことをすべてリスト化)

たとえば、転送中に DataSync が正常にスキップしたファイルと正常にスキップされなかったファイルを確認したい場合があります。DataSync が正常にスキップしたファイルは、送信先にすでに存在するため、意図的に DataSync に除外させたファイルである可能性があります。ただし、たとえばスキップされたエラーは、DataSync にファイルを読み取るための適切な許可がないことを示している可能性があります。

### 転送されたレポート
<a name="task-report-types-transferred"></a>

タスクの実行中に DataSync が転送を試みたファイル、オブジェクト、ディレクトリのリスト。転送のレポートには以下の情報が記されています。
+ 転送されたデータのパス
+ 転送された内容 (コンテンツ、メタデータ、または両方)
+ データタイプ、コンテンツサイズ (オブジェクトとファイルのみ) などを含むメタデータ
+ 項目が転送された時刻
+ オブジェクトバージョン (送信先がバージョニングが有効になっている Amazon S3 バケットの場合)
+ 送信先で上書きが実行されたか
+ アイテムが正常に転送されたかどうか

**注記**  
S3 バケット間でデータを移動する場合、[送信元の場所](create-s3-location.md)で指定したプレフィックスは、そのプレフィックスが送信先の場所にオブジェクトとして存在しない場合でも、レポート (または Amazon CloudWatch Logs) に表示されることがあります。(DataSync コンソールでは、このプレフィックスがスキップデータまたは検証済みデータとして表示されることもあります。)

### スキップされたレポート
<a name="task-report-types-skipped"></a>

DataSync が送信元で検出したが、転送を試みなかったファイル、オブジェクト、ディレクトリのリスト。DataSync がデータをスキップする理由は、タスクの設定方法やストレージシステムのアクセス許可などさまざまな要因に応じて異なります。次に例を示します。
+ 送信元と送信先のロケーションに存在するファイルがあります。送信元のファイルは、前回のタスク実行以降、変更されていません。[変更されたデータのみを転送している](configure-metadata.md#task-option-transfer-mode)ため、DataSync は次のタスクの実行中にはそのファイルを転送しません。
+ 両方の場所に存在するオブジェクトが送信元で変更されます。タスクを実行すると、DataSync は送信先のこのオブジェクトをスキップします。これは、タスクが[送信先のデータを上書き](configure-metadata.md#task-option-file-object-handling)しないためです。
+ DataSync は、[アーカイブストレージクラス](create-s3-location.md#using-storage-classes)を使用していて復元されていない送信元のオブジェクトをスキップします。DataSync がオブジェクトを読み取るには、アーカイブされたオブジェクトを復元する必要があります。
+ DataSync は、送信先の場所にある読み取り不能なファイル、オブジェクト、ディレクトリをスキップします。これが予期せず発生する場合は、ストレージシステムのアクセス許可を確認し、スキップされた内容を DataSync が読み取れることを確認してください。

スキップのレポートには以下の情報が記されています。
+ スキップされたデータのパス
+ アイテムがスキップされた時刻
+ スキップされた理由
+ アイテムが正常にスキップされたかどうか

**注記**  
スキップされたレポートに成功と失敗が含まれており、[変更したデータのみを転送する](configure-metadata.md)ようにタスクを設定し、ソースデータが既に送信先に存在する場合は、レポートのサイズが大きくなる可能性があります。

### 検証済みレポート
<a name="task-report-types-verified"></a>

タスクの実行中に DataSync が整合性を検証しようとしたファイル、オブジェクト、ディレクトリのリスト。検証済みデータのレポートには以下の情報が記されています。
+ 検証済みデータのパス
+ 項目が検証された時刻
+ 検証に失敗した理由 (該当する場合)
+ 送信元と送信先の SHA256 チェックサム (ファイルのみ)
+ アイテムが正常に検証されたかどうか

検証済みレポートについては、次の点に注意してください。
+ [転送されたデータのみを検証する](configure-data-verification-options.md)ようにタスクを設定すると、DataSync は状況によってはディレクトリを検証せず、また転送に失敗したファイルやオブジェクトを検証しません。いずれの場合も、DataSync はこのレポートに未検証のデータを含めません。
+ [拡張モード](choosing-task-mode.md)を使用している場合、大きなオブジェクトを転送する際、検証に通常よりも時間がかかることがあります。

### 削除のレポート
<a name="task-report-types-deleted"></a>

タスクの実行中に削除されたファイル、ディレクトリ、オブジェクトのリスト。DataSync は、送信先にあって送信元にはないデータを削除するように[タスクを設定した](configure-metadata.md)場合のみ、このレポートを作成します。削除されたデータのレポートには以下の情報が記されています。
+ 削除されたデータのパス
+ アイテムが正常に削除されたかどうか
+ アイテムが削除された時刻

## タスクレポートの例
<a name="task-report-example"></a>

タスクレポートの詳細レベルはユーザーが選択できます。以下は、次のように設定した転送済みデータのレポートの例です。
+ **レポートタイプ** — 標準
+ **レポートレベル** — 成功とエラー

**注記**  
レポートでは、タイムスタンプ形式に ISO-8601 標準を使用します。時間は UTC で、ナノ秒単位で測定されます。この動作は、他のタスクレポートメトリクスの測定方法とは異なります。たとえば、`TransferDuration` や `VerifyDuration` などの[タスク実行の詳細](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskExecutionResultDetail.html)はミリ秒単位で測定されます。

拡張モードタスクレポートでは、基本モードタスクレポートとは若干異なるスキーマが使用されます。次の例は、使用する[タスクモード](choosing-task-mode.md)に応じて、レポートに何が期待できるのかを理解するのに役立ちます。

**ステータスが成功である転送済みデータのレポートの例**  
次のレポートは、`object1.txt` という名前のオブジェクトの転送が成功したことを示しています。  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "object1.txt",
        "SourceMetadata": {
            "Type": "Object",
            "ContentSize": 6,
            "LastModified": "2024-10-04T14:40:55Z",
            "SystemMetadata": {
                "ContentType": "binary/octet-stream",
                "ETag": "\"9b2d7e1f8054c3a2041905d0378e6f14\"",
                "ServerSideEncryption": "AES256"
            },
            "UserMetadata": {},
            "Tags": []
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2024-10-04T14:48:39.748862183Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "SUCCESS"
    }]
}
```

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "/object1.txt",
        "SrcMetadata": {
            "Type": "Regular",
            "ContentSize": 6,
            "Mtime": "2022-01-07T16:59:26.136114671Z",
            "Atime": "2022-01-07T16:59:26.136114671Z",
            "Uid": 0,
            "Gid": 0,
            "Mode": "0644"
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2022-01-07T16:59:45.747270957Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "SUCCESS"
    }]
}
```

**ステータスが失敗である転送済みデータのレポートの例**  
次のレポートは、DataSync が `object1.txt` という名前のオブジェクトを転送できない場合の例を示しています。  
このレポートは、 AWS KMS のアクセス許可の問題により、DataSync が `object1.txt` という名前のオブジェクトにアクセスできないことを示しています。(このようなエラーが発生したときは、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください)。  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "object1.txt",
        "SourceMetadata": {
            "Type": "Object",
            "ContentSize": 6,
            "LastModified": "2022-10-07T20:48:32Z",
            "SystemMetadata": {
                "ContentType": "binary/octet-stream",
                "ETag": "\"3a7c0b2f1d9e5c4a6f8b2e0d1c9f7a3b2\"",
                "ServerSideEncryption": "AES256"
            },
            "UserMetadata": {},
            "Tags": []
        },
        "Overwrite": "False",
        "TransferTimestamp": "2022-10-09T16:05:11.134040717Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "FAILED",
        "ErrorCode": "AccessDenied",
        "ErrorDetail": "User: arn:aws:sts::111222333444:assumed-role/AWSDataSyncS3Bucket/AwsSync-loc-0b3017fc4ba4a2d8d is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:kms:us-east-1:111222333444:key/1111aaaa-22bb-33cc-44d-5555eeee6666 because no identity-based policy allows the kms:GenerateDataKey action"
    }]
}
```
このレポートは、`object1.txt` という名前のオブジェクトが、S3 バケットのアクセス許可に問題があったため転送されなかったことを示しています (このようなエラーが発生したときは、「[DataSync に対する S3 バケットへのアクセス許可の付与](create-s3-location.md#create-s3-location-access)」を参照してください)。  

```
{
    "TaskExecutionId": "exec-abcdefgh12345678",
    "Transferred": [{
        "RelativePath": "/object1.txt",
        "SrcMetadata": {
            "Type": "Regular",
            "ContentSize": 6,
            "Mtime": "2022-01-07T16:59:26.136114671Z",
            "Atime": "2022-01-07T16:59:26.136114671Z",
            "Uid": 0,
            "Gid": 0,
            "Mode": "0644"
        },
        "Overwrite": "False",
        "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP",
        "TransferTimestamp": "2022-01-07T16:59:45.747270957Z",
        "TransferType": "CONTENT_AND_METADATA",
        "TransferStatus": "FAILED",
        "FailureReason": "S3 Get Object Failed",
        "FailureCode": 40974
    }]
}
```

## 制限事項
<a name="task-report-limitations"></a>
+ 個別のタスクレポートは 5 MB を超えることはできません。大量のファイルをコピーすると、タスクレポートは複数のレポートに分割されることがあります。
+ タスクレポートの作成が、データ転送のパフォーマンスに影響を与えることがあります。例えば、ネットワーク接続のレイテンシーが高く転送するファイルが小さい場合や、メタデータの変更のみをコピーする場合などです。

# DataSync タスクレポートの作成
<a name="creating-task-report"></a>

AWS DataSync タスクレポートは、タスク実行の概要のみ、または DataSync が転送、スキップ、検証、削除を試みる内容に関する一連の詳細レポートにすることができます。

## 前提条件
<a name="setting-up-task-report"></a>

タスクレポートを作成するには、次の操作を行う必要があります。

**Topics**
+ [タスクレポート用に S3 バケットを作成する](#setting-up-task-report-create-bucket)
+ [S3 バケットにタスクレポートをアップロードすることを DataSync に許可する](#task-report-access)

### タスクレポート用に S3 バケットを作成する
<a name="setting-up-task-report-create-bucket"></a>

まだない場合は、DataSync がタスクレポートをアップロードできる [S3 バケットを作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)します。レポートは S3 Standard ストレージクラスに保存されます。

このバケットでは、以下が推奨されます。
+ S3 バケットにデータを転送する予定があり、[**[削除されたファイルを保持する]** オプション](configure-metadata.md)を無効にした場合、同じバケットをタスクレポートに使用しないでください。そうしないと、DataSync はタスクを実行するたびに以前のタスクレポートをすべて削除します。これらのレポートは送信元に存在しないためです。
+ 複雑なアクセス許可の設定を回避するには、タスクレポートバケットが DataSync 転送タスクと同じ AWS アカウント およびリージョンにあることを確認してください。

### S3 バケットにタスクレポートをアップロードすることを DataSync に許可する
<a name="task-report-access"></a>

DataSync がタスクレポートを S3 バケットにアップロードできるようにする AWS Identity and Access Management (IAM) ロールを設定する必要があります。

DataSync コンソールでは、タスクレポートをほとんどの場合にバケットにアップロードする許可が自動的に含まれる IAM ロールを作成できます。この自動生成されたロールは、最小特権の観点からはニーズに合わない可能性あることに注意してください。このロールは、バケットがカスタマーマネージド AWS Key Management Service (AWS KMS) キー (SSE-KMS) で暗号化されている場合にも機能しません。このような場合、ロールが少なくとも次のことを行っていれば、ロールを手動で作成できます。
+ ロールの信頼されたエンティティにおける、[サービス間の混乱した代理の問題を防止します](https://docs.aws.amazon.com/datasync/latest/userguide/cross-service-confused-deputy-prevention.html)。

  次の詳しい例では、CodeBuild で `aws:SourceArn` および `aws:SourceAccount` グローバル条件コンテキストキーを使用して、DataSync の混乱した代理問題を回避する方法を示します。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "123456789012"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:123456789012:*"
                  }
              }
          }
      ]
  }
  ```

------
+ DataSync が S3 バケットにタスクレポートをアップロードすることを許可します。

  次の例では、バケット内の特定のプレフィックス (`reports/`) に対する `s3:PutObject` アクションのみを含めることでこれを行っています。

------
#### [ JSON ]

****  

  ```
  {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Action": [
                  "s3:PutObject"
              ],
              "Effect": "Allow",
              "Resource": "arn:aws:s3:::your-task-reports-bucket/reports/*"
          }]
  }
  ```

------
+ S3 バケットが顧客管理の SSE-KMS キーで暗号化されている場合、[キーポリシー](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)には DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。

  詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。

## 概要のみのタスクレポートの作成
<a name="creating-task-report-summary"></a>

DataSync タスクの作成時、タスクの開始時、またはタスクの更新時に、[概要のみ](task-reports.md#task-report-types-summary)を含むタスクレポートを設定できます。

以下のステップでは、タスクの作成時に概要のみのタスクレポートを設定する方法を示します。

### DataSync コンソールの使用
<a name="creating-task-report-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]**、**[タスクの作成]** の順に選択します。

1. タスクのソースと送信先の場所を設定します。

   詳細については、[でデータを転送できる場所 AWS DataSync](working-with-locations.md)を参照してください。

1. **[タスクレポート]** セクションまで、下にスクロールします。**[レポートタイプ]** には **[概要のみ]** を選択します。

1. **[レポート用の S3 バケット]** には、DataSync がタスクレポートをアップロードする S3 バケットを選択します。
**ヒント**  
S3 バケットにデータを転送する予定があり、[**[削除されたファイルを保持する]** オプション](configure-metadata.md)を無効にした場合、同じバケットをタスクレポートに使用しないでください。そうしないと、DataSync はタスクを実行するたびに以前のタスクレポートをすべて削除します。これらのレポートは送信元に存在しないためです。

1. **[フォルダ]** には、DataSync が S3 バケットにレポートをアップロードするときにタスクレポートに使用するプレフィックス (例: **reports/**) を入力します。

   プレフィックスの末尾には適切な区切り文字を含めてください。この文字は通常、フォワードスラッシュ (`/`) です。詳細については、「*Amazon S3 ユーザーガイド*」の「[プレフィックスを使用してオブジェクトを整理する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)」を参照してください。

1. **[IAM role]** (IAM ロール) で、次のいずれかを実行します。
   + **[自動生成する]** を選択すると、DataSync は S3 バケットへのアクセスに必要な権限を持つ IAM ロールを自動的に作成します。

     DataSync が以前にこの S3 バケット用 IAM ロール を作成した場合、そのロールがデフォルトで選択されます。
   + 作成したカスタム IAM ロールを選択します。

     場合によっては、ロールを自分で作成する必要があります。詳細については、「[S3 バケットにタスクレポートをアップロードすることを DataSync に許可する](#task-report-access)」を参照してください。
**重要**  
S3 バケットが顧客管理の SSE-KMS キーで暗号化されている場合、キーのポリシーには DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。  
詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。

1. タスクの作成を完了したら、[タスクを開始](run-task.md)してデータの転送を開始します。

転送が完了すると、[タスクレポートを表示](task-report-viewing.md)できます。

### の使用 AWS CLI
<a name="creating-task-report-cli"></a>

1. 次の `create-task` AWS Command Line Interface (AWS CLI) コマンドをコピーします。

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --task-report-config '{
       "Destination":{
         "S3":{
           "Subdirectory":"reports/",
           "S3BucketArn":"arn:aws:s3:::your-task-reports-bucket",
           "BucketAccessRoleArn":"arn:aws:iam::123456789012:role/bucket-iam-role"
           }
       },
       "OutputType":"SUMMARY_ONLY"  
     }'
   ```

1. `--source-location-arn` パラメータには、転送の送信元の Amazon リソースネーム (ARN) を指定します。を適切な `us-east-1`に AWS リージョン、 を適切な AWS アカウント 数値`123456789012`に、 を適切なソースロケーション ID `12345678abcdefgh` に置き換えます。

1. `--destination-location-arn` パラメータには、転送の送信先の ARN を指定します。を適切な `us-east-1`に AWS リージョン、 を適切な AWS アカウント 数値`123456789012`に、 を適切な送信先ロケーション ID `abcdefgh12345678` に置き換えます。

1. `--task-report-config` パラメータについては、以下を行います。
   + `Subdirectory` — `reports/` を DataSync がタスクレポートをアップロードする S3 バケットのプレフィックスに置き換えます。

     プレフィックスの末尾には適切な区切り文字を含めてください。この文字は通常、フォワードスラッシュ (`/`) です。詳細については、「*Amazon S3 ユーザーガイド*」の「[プレフィックスを使用してオブジェクトを整理する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)」を参照してください。
   + `S3BucketArn` — タスクレポートをアップロードする S3 バケットの ARN を指定します。
**ヒント**  
S3 バケットにデータを転送する予定があり、[**[削除されたファイルを保持する]** オプション](configure-metadata.md)を無効にした場合、同じバケットをタスクレポートに使用しないでください。そうしないと、DataSync はタスクを実行するたびに以前のタスクレポートをすべて削除します。これらのレポートは送信元に存在しないためです。
   + `BucketAccessRoleArn` — DataSync が S3 バケットにタスクレポートをアップロードすることを許可する IAM ロールを指定します。

     詳細については、「[S3 バケットにタスクレポートをアップロードすることを DataSync に許可する](#task-report-access)」を参照してください。
**重要**  
S3 バケットが顧客管理の SSE-KMS キーで暗号化されている場合、キーのポリシーには DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。  
詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。
   + `OutputType` - `SUMMARY_ONLY` を指定します。

     詳細については、「[概要のみのタスクレポート](task-reports.md#task-report-types-summary)」を参照してください。

1. `create-task` コマンドを実行してタスクを作成します。

   作成したタスクの ARN を示す次のような応答が返されます。`start-task-execution` コマンドを実行するには、この ARN が必要です。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh"
   }
   ```

1. 次の `start-task-execution` コマンドをコピーします。

   ```
   aws datasync-task-report start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. `--task-arn` パラメータには、開始するタスクの ARN を指定します。`create-task` コマンドを実行して受け取った ARN を使用します。

1. `start-task-execution` コマンドを実行します。

転送が完了すると、[タスクレポートを表示](task-report-viewing.md)できます。

## 標準のタスクレポートの作成
<a name="creating-task-report-standard"></a>

DataSync タスクの作成時、タスクの開始時、またはタスクの更新時に、[標準タスクレポート](task-reports.md#task-report-types-standard)を設定できます。

以下のステップでは、タスクの作成時に標準タスクレポートを設定する方法を示します。

### DataSync コンソールの使用
<a name="ccreating-task-report-console"></a>

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]**、**[タスクの作成]** の順に選択します。

1. タスクのソースと送信先の場所を設定します。

   詳細については、[でデータを転送できる場所 AWS DataSync](working-with-locations.md)を参照してください。

1. **[タスクレポート]** セクションまで、下にスクロールします。**[レポートタイプ]** には **[標準レポート]** を選択します。

1. **[レポートレベル]** で、次のいずれかを選択します。
   + **[エラーのみ]** — タスクレポートには、DataSync が転送、スキップ、検証、削除を試みた際の問題のみが含まれます。
   + **[成功とエラー]** — タスクレポートには、DataSync が正常に転送、スキップ、検証、削除したものとされなかったものが含まれます。
   + **[カスタム]** — タスクレポートの特定の部分にエラーのみを表示するか、成功とエラーを表示するかを選択できます。

     たとえば、転送されたファイルリストでは **[成功とエラー]** を選択し、レポートの残りの部分では **[エラーのみ]** を選択できます。

1. オブジェクトバージョニングを使用する S3 バケットに転送する場合、転送された各オブジェクトの新しいバージョンをレポートに含める場合は、**[Amazon S3 オブジェクトバージョンを含める]** を選択したままにします。

1. **[レポート用の S3 バケット]** には、DataSync がタスクレポートをアップロードする S3 バケットを選択します。
**ヒント**  
S3 バケットにデータを転送する予定があり、[**[削除されたファイルを保持する]** オプション](configure-metadata.md)を無効にした場合、同じバケットをタスクレポートに使用しないでください。そうしないと、DataSync はタスクを実行するたびに以前のタスクレポートをすべて削除します。これらのレポートは送信元に存在しないためです。

1. **[フォルダ]** には、DataSync が S3 バケットにレポートをアップロードするときにタスクレポートに使用するプレフィックス (例: **reports/**) を入力します。プレフィックスの末尾には適切な区切り文字を含めてください。この文字は通常、フォワードスラッシュ (`/`) です。詳細については、「*Amazon S3 ユーザーガイド*」の「[プレフィックスを使用してオブジェクトを整理する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)」を参照してください。

1. **[IAM role]** (IAM ロール) で、次のいずれかを実行します。
   + **[自動生成する]** を選択すると、DataSync は S3 バケットへのアクセスに必要な権限を持つ IAM ロールを自動的に作成します。

     DataSync が以前にこの S3 バケット用 IAM ロール を作成した場合、そのロールがデフォルトで選択されます。
   + 作成したカスタム IAM ロールを選択します。

     場合によっては、ロールを自分で作成する必要があります。詳細については、「[S3 バケットにタスクレポートをアップロードすることを DataSync に許可する](#task-report-access)」を参照してください。
**重要**  
S3 バケットが顧客管理の SSE-KMS キーで暗号化されている場合、キーのポリシーには DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。  
詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。

1. タスクの作成を完了し、[タスクを開始](run-task.md)してデータの転送を開始します。

転送が完了すると、[タスクレポートを表示](task-report-viewing.md)できます。

### の使用 AWS CLI
<a name="creating-task-report-cli"></a>

1. 次の `create-task` コマンドをコピーします。

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --task-report-config '{
       "Destination":{
         "S3":{
           "Subdirectory":"reports/",
           "S3BucketArn":"arn:aws:s3:::your-task-reports-bucket",
           "BucketAccessRoleArn":"arn:aws:iam::123456789012:role/bucket-iam-role"
           }
       },
       "OutputType":"STANDARD",
       "ReportLevel":"level-of-detail",
       "ObjectVersionIds":"include-or-not"    
     }'
   ```

1. `--source-location-arn` パラメータには、転送元の ARN を指定します。を適切な `us-east-1`に AWS リージョン、 を適切な AWS アカウント 数値`123456789012`に、 を適切なソースロケーション ID `12345678abcdefgh` に置き換えます。

1. `--destination-location-arn` パラメータには、転送の送信先の ARN を指定します。を適切な `us-east-1`に AWS リージョン、 を適切な AWS アカウント 数値`123456789012`に、 を適切な送信先ロケーション ID `abcdefgh12345678` に置き換えます。

1. `--task-report-config` パラメータについては、以下を行います。
   + `Subdirectory` — `reports/` を DataSync がタスクレポートをアップロードする S3 バケットのプレフィックスに置き換えます。プレフィックスの末尾には適切な区切り文字を含めてください。この文字は通常、フォワードスラッシュ (`/`) です。詳細については、「*Amazon S3 ユーザーガイド*」の「[プレフィックスを使用してオブジェクトを整理する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)」を参照してください。
   + `S3BucketArn` — タスクレポートをアップロードする S3 バケットの ARN を指定します。
**ヒント**  
S3 バケットにデータを転送する予定があり、[**[削除されたファイルを保持する]** オプション](configure-metadata.md)を無効にした場合、同じバケットをタスクレポートに使用しないでください。そうしないと、DataSync はタスクを実行するたびに以前のタスクレポートをすべて削除します。これらのレポートは送信元に存在しないためです。
   + `BucketAccessRoleArn` — DataSync が S3 バケットにタスクレポートをアップロードすることを許可する IAM ロールを指定します。

     詳細については、「[S3 バケットにタスクレポートをアップロードすることを DataSync に許可する](#task-report-access)」を参照してください。
**重要**  
S3 バケットが顧客管理の SSE-KMS キーで暗号化されている場合、キーのポリシーには DataSync がバケットへのアクセスに使用する IAM ロールが含まれている必要があります。  
詳細については、「[サーバー側の暗号化を使用して S3 バケットにアクセスする](create-s3-location.md#create-s3-location-encryption)」を参照してください。
   + `OutputType` — `STANDARD` レポートを指定します。

     詳細については、「[標準タスクレポート](task-reports.md#task-report-types-standard)タスクレポートのタイプ」を参照してください。
   + (オプション) `ReportLevel` — `ERRORS_ONLY` (デフォルト) または `SUCCESSES_AND_ERRORS` をレポートに含めるかを指定します。
   + (オプション) `ObjectVersionIds` — オブジェクトバージョニングを使用する S3 バケットに転送する場合、転送された各オブジェクトの新しいバージョンをレポートに含めない場合は `NONE` を指定します。

     このオプションはデフォルトで `INCLUDE` に設定されています。
   + (オプション) `Overrides` — レポートの特定部分の `ReportLevel` をカスタマイズします。

     たとえば、送信先で DataSync が削除する内容のリストで `SUCCESSES_AND_ERRORS` を表示したいが、それ以外では `ERRORS_ONLY` が必要な場合があります。この例では、`--task-report-config` パラメーターに次の `Overrides` オプションを追加します。

     ```
     "Overrides":{
       "Deleted":{
         "ReportLevel":"SUCCESSES_AND_ERRORS"
       }
     }
     ```

     `Overrides` を使用しない場合、指定した `ReportLevel` がレポート全体で使用されます。

1. `create-task` コマンドを実行してタスクを作成します。

   作成したタスクの ARN を示す次のような応答が返されます。`start-task-execution` コマンドを実行するには、この ARN が必要です。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh"
   }
   ```

1. 次の `start-task-execution` コマンドをコピーします。

   ```
   aws datasync-task-report start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. `--task-arn` パラメータには、実行中のタスクの ARN を指定します。`create-task` コマンドを実行して受け取った ARN を使用します。

1. `start-task-execution` コマンドを実行します。

転送が完了すると、[タスクレポートを表示](task-report-viewing.md)できます。

# DataSync のタスクレポートの表示
<a name="task-report-viewing"></a>

DataSync は、タスクを実行するたびにタスクレポートを作成します。タスクが完了すると、S3 バケットに関連するタスクレポートが表示されます。タスクレポートは、タスクとその実行の ID を含むプレフィックスごとにまとめられます。

S3 バケット内のタスクレポートを見つけやすくするには、次の例を参考にしてください。
+ **概要のみのタスクレポート** – `reports-prefix/Summary-Reports/task-id-folder/task-execution-id-folder`
+ **標準タスクレポート** – `reports-prefix/Detailed-Reports/task-id-folder/task-execution-id-folder`

タスクレポートは JSON 形式で作成されるため、いくつかの方法でレポートを表示できます。
+ [Amazon S3 Select](https://docs.aws.amazon.com/AmazonS3/latest/userguide/selecting-content-from-objects.html) を使用してレポートを表示します。
+ Amazon Athena AWS Glueや Amazon Quick などの AWS サービスを使用してレポートを視覚化します。 Amazon Athena タスクレポートの視覚化に関する詳細は、「[AWS Storage Blog](https://aws.amazon.com/blogs/storage/derive-insights-from-aws-datasync-task-reports-using-aws-glue-amazon-athena-and-amazon-quicksight/)」を参照してください。

# Amazon CloudWatch Logs によるデータ転送のモニタリング
<a name="configure-logging"></a>

CloudWatch Logs を使用して AWS DataSync 転送をモニタリングできます。少なくとも基本情報 (転送エラーなど) をログに記録するようにタスクを設定することをお勧めします。

## DataSync が CloudWatch ロググループにログをアップロードすることを許可する
<a name="cloudwatchlogs"></a>

DataSync タスクの[ログ記録を設定する](#configure-logging-for-task)には、DataSync がログを送信するアクセス許可を持つ CloudWatch ロググループが必要です。このアクセスは、 AWS Identity and Access Management (IAM) ロールを使用してセットアップします。これが具体的にどのように機能するかは、[タスクモード](choosing-task-mode.md)によって異なります。

------
#### [ Enhanced mode ]

拡張モードでは、DataSync はタスクログを `/aws/datasync` という名前のロググループに自動的に送信します。そのロググループが に存在しない場合 AWS リージョン、DataSync はタスクの作成時に IAM [サービスにリンクされたロール](https://docs.aws.amazon.com/datasync/latest/userguide/using-service-linked-roles-service-action-2.html)を使用して、ユーザーに代わってロググループを作成します。

------
#### [ Basic mode ]

基本モードを使用して DataSync タスクの CloudWatch ロググループを設定するには、いくつかの方法があります。コンソールでは、ほとんどの場合に DataSync がログをアップロードするために必要なアクセス許可が含まれる IAM ロールを自動的に作成できます。この自動生成されたロールは、最小特権の観点からはニーズに合わない可能性あることに注意してください。

既存の CloudWatch ロググループを使用する場合や、タスクをプログラムで作成する場合は、IAM ロールを自分で作成する必要があります。

これらのアクセス許可を付与する IAM ポリシーの例を次に示します。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DataSyncLogsToCloudWatchLogs",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents",
                "logs:CreateLogStream"
            ],
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": [
                    "arn:aws:datasync:us-east-1:444455556666:task/*"
                    ]
                },
                "StringEquals": {
                "aws:SourceAccount": "444455556666"
                }
            },
            "Resource": "arn:aws:logs:us-east-1:444455556666:log-group:*:*"
        }
    ]
}
```

ポリシーでは、`Condition` ステートメントを使用して、指定したアカウントの DataSync タスクのみが、指定した CloudWatch ロググループにアクセスできるようにします。混乱した代理問題を防ぐために、これらの `Condition` ステートメントで [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) および [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) グローバル条件コンテキストキーを使用することをお勧めします。詳細については、「[サービス間の混乱した代理の防止](cross-service-confused-deputy-prevention.md)」を参照してください。

DataSync タスクを指定するには、 をタスク AWS リージョン がある のリージョンコード ( など`us-west-2`) *`region`*に置き換え、 をタスクを含むアカウントの AWS アカウント ID *`account-id`*に置き換えます。CloudWatch ロググループを指定するには、同じ値を置き換えます。`Resource` ステートメントを修正して、特定のロググループをターゲットにすることもできます。`SourceArn` および `SourceAccount` の使用の詳細については、「*IAM ユーザーガイド*」の「[Global condition keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)」を参照してください。

ポリシーを適用するには、このポリシーステートメントをローカルコンピュータ上のファイルに保存します。次に、次の AWS CLI コマンドを実行してリソースポリシーを適用します。このサンプルコマンドを使用するには、`full-path-to-policy-file` を、ポリシーステートメントを含むファイルへのパスに置き換えます。

```
aws logs put-resource-policy --policy-name trust-datasync --policy-document file://full-path-to-policy-file
```

**注記**  
DataSync エージェントをアクティブ化したのと同じ AWS アカウント と AWS リージョン を使用して、このコマンドを実行します。

詳細については、「[https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)」を参照してください。

------

## DataSync タスクのログ記録の設定
<a name="configure-logging-for-task"></a>

DataSync タスクには、少なくともある程度のレベルのログ記録を設定することをお勧めします。

**[開始する前に]**  
DataSync には、CloudWatch ロググループにログをアップロードするためのアクセス権限が必要です。詳細については、「[DataSync が CloudWatch ロググループにログをアップロードすることを許可する](#cloudwatchlogs)」を参照してください。

### DataSync コンソールの使用
<a name="configure-logging-steps-console"></a>

次の手順は、タスクを作成する際に CloudWatch ロギングを設定する方法を示しています。タスクを編集するときにログ記録を設定することもできます。

1. [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) で AWS DataSync コンソールを開きます。

1. 左側のナビゲーションペインで **[データ転送]** を展開し、**[タスク]**、**[タスクの作成]** の順に選択します。

1. タスクのソースと送信先の場所を設定します。

   詳細については、[でデータを転送できる場所 AWS DataSync](working-with-locations.md)を参照してください。

1. **[設定の構成]** ページで、[[タスクモード]](choosing-task-mode.md) とその他のオプションを選択します。

   オプションは以下のとおりです。
   + [マニフェスト](transferring-with-manifest.md)または[フィルター](filtering.md)を使用して、転送するデータを指定します。
   + [ファイルメタデータを処理し](configure-metadata.md)、[データ整合性を検証する](configure-data-verification-options.md)方法を設定します。

1. [**ログレベル**] で、次のオプションのいずれかを選択します。
   + **[転送エラーなどの基本情報をログに記録する]** – 基本情報 (転送エラーなど) のみを公開します。
   + **[転送されたすべてのオブジェクトとファイルをログに記録する]** – DataSync が転送し、データ整合性チェックを実行するすべてのファイルまたはオブジェクトのログを公開します。
   + **[ログを生成しない]**

1. CloudWatch ロググループを作成または指定するために使用しているタスクモードに応じて、次のいずれかを実行します。

------
#### [ Enhanced mode ]

   **[タスクの作成]** を選択すると、DataSync は `/aws/datasync` という名前のロググループを自動的に使用 (または作成) します。

------
#### [ Basic mode ]

   **CloudWatch ロググループ** には、次のいずれかを実行して DataSync がログをアップロードする権限を持つロググループを指定します。
   + DataSync がログをアップロードできるようにするロググループを自動的に作成するには、[**自動生成**] を選択します。
   + 現在の AWS リージョンの既存のロググループを選択します。

     既存のロググループを選択する場合は、そのロググループにログをアップロードする[アクセス許可が DataSync にある](#cloudwatchlogs)ことを確認してください。

------

1. **[Create task]** (タスクの作成) を選択します。

[タスクを開始する](run-task.md)準備ができました。

### の使用 AWS CLI
<a name="configure-logging-steps-cli"></a>

1. 次の `create-task` コマンドをコピーします。

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --task-mode "ENHANCED-or-BASIC" \
     --name "task-name" \
     --options '{"LogLevel": "log-level"}' \
     --cloudwatch-log-group-arn "arn:aws:logs:us-east-1:account-id:log-group:log-group-name:*"
   ```

1. `--source-location-arn` パラメータには、ソースの場所の Amazon リソースネーム (ARN) を指定します。

1. `--destination-location-arn` には、転送先の場所の ARN を指定します。

    AWS リージョン または アカウント間で転送する場合は、ARN に他のリージョンまたはアカウント ID が含まれていることを確認してください。

1. `--task-mode` には `ENHANCED` または `BASIC` を指定します。

1. (推奨) `--name` では、簡単に覚えられる名前をタスクに指定してください。

1. `LogLevel` では以下のいずれかのオプションを指定します。
   + `BASIC` - 基本情報 (転送エラーなど) のみを含むログを公開します。
   + `TRANSFER` - DataSync タスクが転送し、データの整合性チェックを行うすべてのファイルまたはオブジェクトのログを公開します。
   + `NONE` – ログを生成しません。

1. -`-cloudwatch-log-group-arn` では、CloudWatch ロググループの ARN を指定します。
**重要**  
`--task-mode` が `ENHANCED` の場合、このオプションを指定する必要はありません。詳細については、「[DataSync が CloudWatch ロググループにログをアップロードすることを許可する](#cloudwatchlogs)」を参照してください。

1. `create-task` コマンドを実行します。

   コマンドが成功すると、作成した場所の ARN を示す応答が返されます。例えば、次のようになります。

   ```
   { 
       "TaskArn": "arn:aws:datasync:us-east-1:111222333444:task/task-08de6e6697796f026" 
   }
   ```

[タスクを開始する](run-task.md)準備ができました。

### DataSync API の使用
<a name="configure-logging-steps-api"></a>

以下のいずれかのオペレーションで `CloudWatchLogGroupArn` パラメータを使用して、タスクの CloudWatch ロギングを設定できます。
+ [https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)

## DataSync タスクログの表示
<a name="monitoring-verification-errors-cloudwatch"></a>

[タスクを開始する](run-task.md)ときは、CloudWatch コンソールまたは AWS CLI (他のオプションの中でも) を使用して、タスク実行のログを表示できます。詳細については、「[https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)」を参照してください。

DataSync は、拡張モードタスク用の JSON 構造化ログを提供しています。基本モードタスクには非構造化ログがあります。次の例は、基本モードログと比較して、拡張モードログで検証エラーがどのように表示されるかを示しています。

------
#### [ Enhanced mode log example ]

```
{
    "Action": "VERIFY",
    "Source": {
        "LocationId": "loc-abcdef01234567890",
        "RelativePath": "directory1/directory2/file1.txt"
    },
    "Destination": {
        "LocationId": "loc-05ab2fdc272204a5f",
        "RelativePath": "directory1/directory2/file1.txt",
        "Metadata": {
            "Type": "Object",
            "ContentSize": 66060288,
            "LastModified": "2024-10-03T20:46:58Z",
            "S3": {
                "SystemMetadata": {
                    "ContentType": "binary/octet-stream",
                    "ETag": "\"1234abcd5678efgh9012ijkl3456mnop\"",
                    "ServerSideEncryption": "AES256"
                },
                "UserMetadata": {
                    "file-mtime": "1602647222/222919600"
                },
                "Tags": {}
            }
        }
    },
    "ErrorCode": "FileNotAtSource",
    "ErrorDetail": "Verification failed due to file being present at the destination but not at the source"
}
```

------
#### [ Basic mode log example ]

```
[NOTICE] Verification failed > /directory1/directory2/file1.txt
[NOTICE] /directory1/directory2/file1.txt   dstMeta: type=R mode=0755 uid=65534 gid=65534 size=8972938 atime=1728657659/0 mtime=1728657659/0 extAttrsHash=0
[NOTICE]   dstHash: f9c2cca900301d38b0930367d8d587153154af467da0fdcf1bebc0848ec72c0d
```

------

# を使用した AWS DataSync API コールのログ記録 AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS DataSync は AWS CloudTrail、DataSync のユーザー、ロール、または によって実行されたアクションを記録するサービスである と統合 AWS のサービス されています。CloudTrail は、 DataSync のすべての API コールをイベントとしてキャプチャします。キャプチャされた呼び出しには、 DataSync コンソールからの呼び出しと、DataSync API オペレーションへのコード呼び出しが含まれます。

証跡を作成する場合は、 AWS DataSync のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、 AWS DataSyncに対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)」を参照してください。

## CloudTrail での DataSync 情報の使用
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail は、アカウントの作成 AWS アカウント 時に で有効になります。 AWS DataSync でアクティビティが発生すると、そのアクティビティはイベント履歴の他の AWS のサービス イベントとともに CloudTrail イベントに記録されます。 ****で最近のイベントを表示、検索、ダウンロードできます AWS アカウント。詳細については、「[CloudTrail Event 履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

 AWS DataSync のイベントなど AWS アカウント、 のイベントの継続的な記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョンに適用されます。証跡は、同じ AWS パーティション AWS リージョン 内のすべての からのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集されたイベントデータをさらに分析して処理 AWS のサービス するように他の を設定できます。詳細については、次を参照してください: 
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ 「[CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)」
+ [CloudTrail ログファイルを複数のリージョンから受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)、[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべての DataSync アクションが CloudTrail により記録されます。(詳細については、「DataSync [API リファレンス](https://docs.aws.amazon.com/datasync/latest/userguide/API_Operations.html)」を参照してください。)

たとえば `CreateAgent`、`CreateTask`、および `ListLocations` の各オペレーションへのコールは、CloudTrail ログファイル内にエントリを生成します。

各イベントまたはログエントリには、誰がリクエストを生成したかという情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ リクエストがルート認証情報または AWS Identity and Access Management (IAM) 認証情報を使用して行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが、別の AWS のサービスによって送信されたかどうか。

詳細については、「AWS CloudTrail ユーザーガイド」の「[CloudTrail userIdentity 要素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## DataSync ログファイルのエントリについて
<a name="understanding-service-name-entries"></a>

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルには、ログエントリが 1 つ以上あります。イベントはあらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどの情報が含まれます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

`CreateTask` オペレーションを示す CloudTrail ログエントリの例は、次のとおりです。

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "1234567890abcdef0",
        "arn": "arn:aws:iam::123456789012:user/user1",
        "accountId": "123456789012",
        "accessKeyId": "access key",
        "userName": "user1",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-12-13T14:56:46Z"
            }
        },
        "invokedBy": "signin.amazonaws.com"
    },
    "eventTime": "2018-12-13T14:57:02Z",
    "eventSource": "datasync.amazonaws.com",
    "eventName": "CreateTask",
    "awsRegion": "ap-southeast-1",
    "sourceIPAddress": "192.0.2.1",
    "userAgent": "signin.amazonaws.com",
    "requestParameters": {
        "cloudWatchLogGroupArn": "arn:aws:logs:ap-southeast-1:123456789012:log-group:MyLogGroup",
        "name": "MyTask-NTIzMzY1",
        "tags": [],
        "destinationLocationArn": "arn:aws:datasync:ap-southeast-1:123456789012:location/loc-abcdef01234567890",
        "options": {
            "bytesPerSecond": -1,
            "verifyMode": "POINT_IN_TIME_CONSISTENT",
            "uid": "INT_VALUE",
            "posixPermissions": "PRESERVE",
            "mtime": "PRESERVE",
            "gid": "INT_VALUE",
            "preserveDevices": "NONE",
            "preserveDeletedFiles": "REMOVE",
            "atime": "BEST_EFFORT"
        },
        "sourceLocationArn": "arn:aws:datasync:ap-southeast-1:123456789012:location/loc-021345abcdef6789"
    },
    "responseElements": {
        "taskArn": "arn:aws:datasync:ap-southeast-1:123456789012:task/task-1234567890abcdef0"
    },
    "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

# Amazon EventBridge を使用した イベントのモニタリング
<a name="events"></a>

Amazon EventBridge イベントは、DataSync リソースの変更を表示します。このようなイベントを一致させるルールを設定して、1 つ以上のターゲット関数またはストリームにルートできます。イベントは、ベストエフォートベースで出力されます。

## DataSync 転送イベント
<a name="events-transfer"></a>

DataSync 転送では、以下のEventBridge イベントを使用できます。


| **Agent state changes** | 
| --- |
| [Event] (イベント) | 説明 | 
| Online | The agent is configured properly and ready to use. This is the normal running status for an agent. | 
| Offline | The agent has been out of contact with the DataSync service for five minutes or longer. This can happen for a few reasons. For more information, see [エージェントがオフラインの場合の対処は?](troubleshooting-datasync-agents.md#troubleshoot-agent-offline) | 
| **Location state changes** | 
| --- |
| [Event] (イベント) | 説明 | 
| Adding | DataSync is adding a location. | 
| Available | The location is created and is available to use. | 
| **Task state changes** | 
| --- |
| [Event] (イベント) | 説明 | 
| Available | The task was created and is ready to start. | 
| Running | The task is in progress and functioning properly.  | 
| Unavailable | The task isn't configured properly and can't be used. You might see this event when an agent associated with the task goes offline.  | 
| Queued | Another task is running and using the same agent. DataSync runs tasks in series (first in, first out).  | 
| **Task execution state changes** | 
| --- |
| [Event] (イベント) | 説明 | 
| Queueing | Another task execution is running and using the same DataSync agent. For more information, see [タスクがキューに登録されるタイミングを知る](run-task.md#queue-task-execution). | 
| Launching | DataSync is initializing the task execution. This status usually goes quickly but can take up to a few minutes. | 
| Preparing |  DataSync がどのデータを転送するかを決定しています。 このステップには、両方の場所にあるファイル、オブジェクト、またはディレクトリの数や、タスクをどのように設定しているかに応じて数分から数時間かかる場合があります。準備はタスクに適用できない場合もあります。詳細については、「[DataSync がデータ転送を準備する方法](how-datasync-transfer-works.md#how-datasync-prepares)」を参照してください。  | 
| Transferring |  DataSync is performing the actual data transfer. | 
| Verifying | DataSync is performing a data-integrity check at the end of the transfer. | 
| Success | The task execution succeeded. | 
| Cancelling | The task execution is in the process of being cancelled. | 
| Error | The task execution failed. | 

# 手動ツール AWS DataSync によるモニタリング
<a name="monitoring-task-manually"></a>

コンソールまたはコマンドラインから AWS DataSync 転送を追跡できます。

## DataSync コンソールを使用して転送をモニタリングする
<a name="monitoring-task-console"></a>

コンソールを使用して DataSync 転送をモニタリングできます。コンソールには、転送されたデータ、データとファイルのスループット、データ圧縮などのリアルタイムメトリックが表示されます。

**DataSync コンソールを使用して転送をモニタリングするには**

1. [DataSync タスクの開始](run-task.md#starting-task)後、**[実行の詳細を表示]** を選択します。

1. 転送に関するメトリクスを表示します。

## を使用した転送のモニタリング AWS CLI
<a name="monitor-task-execution"></a>

DataSync 転送は、 AWS Command Line Interface () を使用してモニタリングできますAWS CLI。

次の `describe-task-execution` コマンドをコピーします。このコマンド例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。

```
aws datasync describe-task-execution \
  --task-execution-arn 'arn:aws:datasync:region:account-id:task/task-id/execution/task-execution-id'
```

このコマンドは、次に示すようなタスク実行に関する情報を返します。

```
{
    "BytesCompressed": 3500,
    "BytesTransferred": 5000,
    "BytesWritten": 5000,
    "EstimatedBytesToTransfer": 5000,
    "EstimatedFilesToDelete": 10,
    "EstimatedFilesToTransfer": 100,
    "FilesDeleted": 10,
    "FilesSkipped": 0,
    "FilesTransferred": 100,
    "FilesVerified": 100,
    "Result": {
        "ErrorCode": "??????",
        "ErrorDetail": "??????",
        "PrepareDuration": 100,
        "PrepareStatus": "SUCCESS",
        "TransferDuration": 60,
        "TransferStatus": "AVAILABLE",
        "VerifyDuration": 30,
        "VerifyStatus": "SUCCESS"
    },
    "StartTime": 1532660733.39,
    "Status": "SUCCESS",
    "OverrideOptions": {
        "Atime": "BEST_EFFORT",
        "BytesPerSecond": "1000",
        "Gid": "NONE",
        "Mtime": "PRESERVE",
        "PosixPermissions": "PRESERVE",
        "PreserveDevices": "NONE",
        "PreserveDeletedFiles": "PRESERVE",
        "Uid": "NONE",
        "VerifyMode": "POINT_IN_TIME_CONSISTENT"
    },
    "TaskExecutionArn": "arn:aws:datasync:us-east-1:111222333444:task/task-aaaabbbbccccddddf/execution/exec-1234abcd1234abcd1",
    "TaskReportConfig": {
        "Destination": {
            "S3": {
                "BucketAccessRoleArn": "arn:aws:iam::111222333444:role/my-datasync-role",
                "S3BucketArn": "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "Subdirectory": "reports"
            }
        },
        "ObjectVersionIds": "INCLUDE",
        "OutputType": "STANDARD",
        "Overrides": {
            "Deleted": {
                "ReportLevel": "ERRORS_ONLY"
            },
            "Skipped": {
                "ReportLevel": "SUCCESSES_AND_ERRORS"
            },
            "Transferred": {
                "ReportLevel": "ERRORS_ONLY"
            },
            "Verified": {
                "ReportLevel": "ERRORS_ONLY"
            }
        },
        "ReportLevel": "ERRORS_ONLY"
    }
}
```
+ タスクの実行が成功した場合、[**ステータス**] の値は [**SUCCESS (成功)**] に変わります。応答要素の意味についての情報は、「[DescribeTaskExecution](API_DescribeTaskExecution.md)」を参照してください。
+ タスクの実行が失敗すると、結果はトラブルシューティングに役立つエラーコードを送信します。エラーコードについての情報は、「[TaskExecutionResultDetail](API_TaskExecutionResultDetail.md)」を参照してください。

## `watch` ユーティリティを使用して転送をモニタリングする
<a name="monitor-realtime"></a>

コマンドラインからタスクの進行状況をリアルタイムで監視するには、標準の Unix `watch` ユーティリティを使用できます。タスク実行時間の値はミリ秒単位で測定されます。

`watch` ユーティリティは DataSync エイリアスを認識しません。以下の例は CLI を呼び出してこれを行う方法を示しています。このコマンド例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。

```
# pass '-n 1' to update every second and '-d' to highlight differences 
        $ watch -n 1 -d \ "aws datasync describe-task-execution --task-execution-arn 'arn:aws:datasync:region:account-id:task/task-id/execution/task execution-id'"
```