

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

# タスクレポートによるデータ転送のモニタリング
<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/)」を参照してください。