みなさん、こんにちは。サニービュー事業部の小寺です。

先月のアップデートでAmazon S3に4つのチェックサムアルゴリズムのサポートが追加されました。
https://aws.amazon.com/jp/about-aws/whats-new/2022/02/amazon-s3-integrity-checking-requests-90-percent/

アップデート内容

Amazon S3ではすでにMD5がチェックサムとして利用されています。本アップデートにより、よつ使われているチェックサムアルゴリズム、「SHA-1」「SHA-256」「CRC-32」「CRC-32C」が追加になっています。オブジェクトをAmazon S3にアップロードする際に、このチェックサムを用いてデータの整合性を行います。整合性の確認にかかる時間を最大90%以上短縮できるようになりました。

リクエストの整合性のチェックとは

Amazon S3におけるPutObject関数では、オブジェクトのMD5チェックサムが利用可能です。
指定した値がS3によって計算された値と一致する場合にのみ操作が受け入れられています。この機能によって、Amazon S3はデータ通信エラーを検出することができます。

アップデートでのメリット

今までは、PutObjectを呼び出す前、またはGetObjectを呼び出した後にチェックサムを計算する必要があり、ファイルサイズの大きなオブジェクトのチェックサムは計算量が多く、ボトルネックとなる可能性もありました。

その懸念がなくなったのが、このアップデートのメリットです。
新しく追加されたチェックサムアルゴリズムを用いてあらかじめAmazon S3に保存するオブジェクトのチェックサムを計算しておきます。オブジェクトのアップロード時にHTTPのTrailerヘッダ内にチェックサムを格納して送信すれば、Amazon S3は実際にアップロードされるオブジェクトのチェックサムを検証し、一致したときに操作を受容れます。

マルチパートアップロードでは、AWS SDKはクライアントサイドの並列処理を利用することで、各パートのチェックサムを計算するようになりました。各パートのチェックサムをまとめたチェックサムも計算され、アップロードが完了する時点でAmazon S3に送信されます。

ためしてみる

(1)S3にファイルをアップロードします。

(2)オプションで「追加のチェックサム」が表示されていることが確認できます。
追加のチェックサムを「オン」にすると、チェックサム関数から「SHA-1」「SHA-256」「CRC-32」「CRC-32C」を
選ぶことができます。
また、オプションとして「事前計算された値」を入力することができます。

料金

本アップデートを利用するための、追加の料金はかかりません。

対応リージョン

全ての商用リージョンで対応しています。

まとめ

チェックサムアルゴリズム、「SHA-1」「SHA-256」「CRC-32」「CRC-32C」がS3のデータ整合性チェックとして追加で利用できるようになりました。

AWSをご利用いただくには、直接契約するより断然お得。
AWS利用料が5%割引、さらに日本円の請求書による支払いが可能です!