

# チェックサムの計算
<a name="batch-ops-compute-checksums"></a>

**[チェックサムを計算]** オペレーションで S3 バッチオペレーションを使用して、Amazon S3 に保存されている保管中のオブジェクトのチェックサム計算を実行できます。**[チェックサムを計算]** オペレーションは、オブジェクトのチェックサムを計算します。このチェックサムを使用して、保存されたデータのオブジェクトをダウンロードまたは復元することなく、データの整合性を検証できます。**[チェックサムを計算]** オペレーションを使用して、サポートされているすべてのチェックサムアルゴリズムについて、複合チェックサムタイプとフルオブジェクトチェックサムタイプの両方のチェックサムを計算できます。

**[チェックサムを計算]** オペレーションを使用すると、1 回のジョブリクエストで数十億のオブジェクトを処理できます。このバッチオペレーションは、オブジェクトサイズに関係なく、すべての S3 ストレージクラスと互換性があります。**[チェックサムを計算]** ジョブを作成するには、Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用します。

[サーバーアクセスログ記録を有効](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)にすると、**[チェックサムを計算]** ジョブに関するログエントリを受信することもできます。**[チェックサムを計算]** ジョブオペレーションは、チェックサム計算の完了後に個別のサーバーアクセスログイベントを出力します。これらのログエントリは、標準の [S3 サーバーアクセスログの形式](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html)に従い、オペレーションタイプ、タイムスタンプ、[エラーコード](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)、関連する **[チェックサムを計算]** ジョブ ID などのフィールドが含まれます。このログ記録は、オブジェクトで実行されたチェックサム検証アクティビティの監査証跡を提供し、データ整合性オペレーションの追跡と検証に役立ちます。

**注記**  
**[チェックサムを計算]** オペレーションは、お客様が用意した暗号化キー (SSE-C) 暗号化オブジェクトによるサーバー側の暗号化をサポートしていません。ただし、[S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)、AWS Key Management Service によるサーバー側の暗号化 (DSSE-KMS) を使用して暗号化されたオブジェクトでは、**[チェックサムを計算]** オペレーションを使用できます。**[チェックサムを計算]** オペレーションを実行するための[適切な AWS KMS アクセス許可が付与](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#require-sse-kms)されていることを確認します。

バッチオペレーションを使用して **[チェックサムを計算]** オペレーションを開始するには、次のいずれかを実行します。
+ 新しいマニフェストファイルを手動で作成する。
+ 既存のマニフェストを使用する。
+ 直接バッチオペレーションでは、[ジョブの作成時に指定した](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-create-job.html#specify-batchjob-manifest)オブジェクトフィルター条件に基づいてマニフェストを自動的に生成します。

次に、**[チェックサムを計算]** ジョブリクエストを送信し、そのステータスをモニタリングします。**[チェックサムを計算]** ジョブが完了すると、指定した送信先バケットに完了レポートが自動的に送信されます。この完了レポートには、バケット内のすべてのオブジェクトのチェックサム情報が含まれており、データ整合性を検証できます。このレポートを使用してジョブを確認する方法については、「[ジョブステータスと完了レポートの追跡](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html)」を参照してください。

**[チェックサムを計算]** 機能について、およびコンソールで **[チェックサムを計算]** を使用する方法の詳細については、「[Amazon S3 で保管中のデータのオブジェクトの整合性を確認する](checking-object-integrity-at-rest.md)」を参照してください。**[チェックサムを計算]** に REST リクエストを送信する方法については、「*Amazon S3 API リファレンス*」の「[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeJob.html)」と「[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateJob.html)」を参照してください。

以下のセクションでは、S3 バッチオペレーションで **[チェックサムを計算]** オペレーションの使用を開始する方法について説明します。

**Topics**
+ [S3 バッチオペレーションの **[チェックサムを計算]** に関する考慮事項](#batch-ops-compute-checksum-considerations)
+ [S3 バッチオペレーション完了レポート](#batch-ops-compute-checksum-completion-report)

## S3 バッチオペレーションの **[チェックサムを計算]** に関する考慮事項
<a name="batch-ops-compute-checksum-considerations"></a>

**[チェックサムを計算]** オペレーションを使用する前に、次の考慮事項のリストを確認してください。
+ マニフェストにバージョン ID フィールドが含まれている場合は、マニフェスト内にあるすべてのオブジェクトのバージョン ID を指定する必要があります。バージョン ID が指定されていない場合、**[チェックサムを計算]** リクエストはオブジェクトの最新バージョンに対してオペレーションを実行します。
+ [サーバーアクセスログ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html)で **[チェックサムを計算]** オペレーションの詳細を受信するには、まずソースバケットで[サーバーアクセスログを有効](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html)にし、ログを保存する送信先バケットを指定する必要があります。また、ソースと送信先バケットの両方が同じ AWS リージョンにあり、同じ AWS アカウントが所有している必要があります。サーバーアクセスのログ記録を設定すると、**[チェックサムを計算]** オペレーションは、オペレーションタイプ、HTTP ステータスコード、[S3 エラーコード](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)、タイムスタンプ、関連する **[チェックサムを計算]** ジョブ ID などの標準フィールドを含む[ログレコード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields)を生成します。**[チェックサムを計算]** オペレーションは非同期的に実行されます。その結果、[ログエントリ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#log-record-fields)では、リクエスト ID ではなく **[チェックサムを計算]** ジョブ ID がログエントリに使用されます。
+ 保存されたオブジェクトのレポートの生成には、最大で数時間かかる場合があります。
+ 次の S3 Glacier ストレージクラスの場合、**[チェックサムを計算]** ジョブが完了するまでに最大 1 週間かかることがあります。
  + S3 Glacier Flexible Retrieval
  + S3 Glacier Deep Archive
+ 完了レポートが書き込まれるバケットの場合、**[チェックサムを計算]** オペレーションを実行するときに[バケット所有者条件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-when-to-use)を使用する必要があります。実際のバケット所有者が送信したジョブリクエストの正しいバケット所有者と一致しない場合、ジョブは失敗します。バケット所有者条件がサポートされていない S3 オペレーションのリストについては、「[制約と制限](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-owner-condition.html#bucket-owner-condition-restrictions-limitations)」を参照してください。

## S3 バッチオペレーション完了レポート
<a name="batch-ops-compute-checksum-completion-report"></a>

**[チェックサムを計算]** ジョブを作成するときに、S3 バッチオペレーションの完了レポートをリクエストできます。この CSV ファイルには、オブジェクト、成功コードまたは失敗コード、出力、および説明が表示されます。ジョブの追跡と完了レポートの追跡については、「[完了レポート](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-job-status.html#batch-ops-completion-report)」を参照してください。