

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

# Amazon EMR on EKS を使用した Amazon S3 Express One Zone へのデータの読み取り、書き込み、アップロード
<a name="upload-data-s3-express"></a>

リリース 7.2.0 以降の Amazon EMR では、Amazon EMR on EKS を [Amazon S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html) ストレージクラスと組み合わせて使用することで、ジョブとワークロードを実行する際のパフォーマンスを向上させることができます。S3 Express One Zone は、最もレイテンシーの影響を受けやすいアプリケーションに 1 桁のミリ秒単位で一貫したデータアクセスを提供する、高パフォーマンスの単一ゾーンの Amazon S3 ストレージクラスです。リリース時点で、S3 Express One Zone は、Amazon S3 の中でレイテンシーが最も低く、パフォーマンスの最も高いクラウドオブジェクトストレージを提供しています。

## 前提条件
<a name="upload-data-s3-express-prereqs"></a>

Amazon EMR on EKS で S3 Express One Zone を使用するには、次の前提条件を満たしている必要があります。
+ [Amazon EMR on EKS のセットアップの完了](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/setting-up.html)。
+ Amazon EMR on EKS をセットアップしたら、[仮想クラスターを作成します](https://docs.aws.amazon.com/emr/latest/EMR-on-EKS-DevelopmentGuide/virtual-cluster.html#create-virtul-cluster)。

## S3 Express One Zone の使用を開始する
<a name="upload-data-s3-express-getting-started"></a>

S3 Express One Zone の使用を開始するには、次の手順に従います。

1. `CreateSession` アクセス許可をジョブの実行ロールに追加します。S3 Express One Zone が S3 オブジェクトに対して `GET`、`LIST`、`PUT` などのアクションを最初に実行すると、ストレージクラスがユーザーに代わって `CreateSession` を呼び出します。次の例は、`CreateSession` 権限を付与する方法を示しています。

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Resource": [
           "arn:aws:s3express:*:*:bucket/DOC-EXAMPLE-BUCKET"
         ],
         "Action": [
           "s3express:CreateSession"
         ],
         "Sid": "AllowS3EXPRESSCreatesession"
       }
     ]
   }
   ```

------

1. Apache Hadoop コネクタ S3A を使用して S3 Express バケットにアクセスする必要があるため、Amazon S3 URI を変更して `s3a` スキームを使用してコネクタを使用する必要があります。このスキームを使用していない場合は、`s3` スキームと `s3n` スキームに使用するファイルシステム実装を変更できます。

   `s3` スキームを変更するには、以下のクラスター設定を指定します。

   ```
   [
     {
       "Classification": "core-site",
       "Properties": {
         "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem",
         "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A"
       }
     }
   ]
   ```

   s3n スキームを変更するには、以下のクラスター設定を指定します。

   ```
   [
     {
       "Classification": "core-site",
       "Properties": {
         "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem",
         "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A",
         "fs.s3a.endpoint.region": "us-west-2",
         "fs.s3a.change.detection.mode": "none",
         "fs.s3a.select.enabled": "false"
       }
     },
      {
       "Classification": "spark-defaults",
       "Properties": {
         "spark.hadoop.fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider",
         "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false"
       }
     }
   ]
   ```

1. spark-submit 設定で、ウェブ ID 認証情報プロバイダーを使用します。

   ```
   "spark.hadoop.fs.s3a.aws.credentials.provider=com.amazonaws.auth.WebIdentityTokenCredentialsProvider"
   ```