

# ディレクトリバケットのパフォーマンスの最適化
<a name="s3-express-optimizing-performance"></a>

ディレクトリバケットを使用して最高のパフォーマンスを得るには、以下のガイドラインに従うことをお勧めします。

S3 Express One Zone のベストプラクティスの詳細については、「[S3 Express One Zone のパフォーマンスを最適化するためのベストプラクティス](s3-express-optimizing-performance-design-patterns.md)」を参照してください。

## セッションベースの認証を使用する
<a name="s3-express-optimizing-performance-session-authentication"></a>

ディレクトリバケットは、ディレクトリバケットへのリクエストを認証および認可するための新しいセッションベースの認可メカニズムをサポートしています。セッションベースの認証では、AWS SDK は自動的に `CreateSession` API オペレーションを使用して、ディレクトリバケットへのデータリクエストの低レイテンシー認可に使用できる一時セッショントークンを作成します。

AWS SDK は `CreateSession` API オペレーションを使用して一時的な認証情報をリクエストし、5 分ごとにユーザーに代わって自動的にトークンを作成して更新します。ディレクトリバケットのパフォーマンスの利点を活用するには、AWS SDK を使用して `CreateSession` API リクエストを開始および管理することをお勧めします。このセッションベースのモデルの詳細については、「[`CreateSession` を使用したゾーンエンドポイント API オペレーションの承認](s3-express-create-session.md)」を参照してください。

## S3 の追加のチェックサムのベストプラクティス
<a name="s3-express-optimizing-performance-checksums"></a>

ディレクトリバケットには、アップロードやダウンロード中のデータ検証に使用するチェックサムアルゴリズムを選択するオプションがあります。CRC32、CRC32C、SHA-1、SHA-256 などのセキュアハッシュアルゴリズム (SHA) や巡回冗長検査 (CRC) データ整合性チェックアルゴリズムのいずれかを選択できます。MD5 ベースのチェックサムは S3 Express One Zone ストレージクラスではサポートされていません。

CRC32 は、ディレクトリバケットとの間でデータをやり取りする際に AWS SDK で使用するデフォルトのチェックサムです。ディレクトリバケットで最高のパフォーマンスを得るには、CRC32 と CRC32C を使用することをお勧めします。

## 最新バージョンの AWS SDK と一般的なランタイムライブラリを使用する
<a name="s3-express-optimizing-performance-aws-sdks"></a>

一部の AWS SDK では、S3 クライアントのパフォーマンスをさらに向上させる AWS Common Runtime (CRT) ライブラリも提供しています。このような SDK には AWS SDK for Java 2.x、AWS SDK for C\$1\$1、AWS SDK for Python (Boto3) があります。CRT ベースの S3 クライアントは、ディレクトリバケットとの間でオブジェクトをやり取りする際に、マルチパートアップロード API オペレーションとバイト範囲フェッチを自動的に使用して水平スケーリング接続を自動化し、パフォーマンスと信頼性を向上させます。

ディレクトリバケットで最高レベルのパフォーマンスを実現するには、CRT ライブラリを含む最新バージョンの AWS SDK を使用するか、AWS Command Line Interface (AWS CLI) を使用することをお勧めします。