S3 Express One Zone データをクエリする - Amazon Athena

S3 Express One Zone データをクエリする

Amazon S3 Express One Zone ストレージクラスは、1 桁のミリ秒単位の応答時間を実現する高性能の Amazon S3 ストレージクラスです。そのため、1 秒あたり数十万のリクエストを実行してデータに頻繁にアクセスするアプリケーションに役立ちます。

S3 Express One Zone は、同じアベイラビリティーゾーン内でデータをレプリケートして保存し、速度とコストを最適化します。これは、AWS リージョン 内の 3 つ以上の AWS アベイラビリティーゾーンにデータを自動的にレプリケートする Amazon S3 リージョンストレージクラスとは異なります。

詳細については、「Amazon S3 ユーザーガイド」の「What is S3 Express One Zone?」を参照してください。

前提条件

開始する前に、以下の条件が満たされていることを確認してください。

  • Athena エンジンバージョン 3 — Athena SQL で S3 Express One Zone を使用するには、Athena エンジンバージョン 3 を使用するようにワークグループを設定する必要があります。

  • S3 Express One ゾーンのアクセス許可 — S3 Express One Zone が Amazon S3 オブジェクトに対して GETLISTPUT などのアクションを呼び出すと、ストレージクラスがユーザーに代わって CreateSession を呼び出します。このため、IAM ポリシーでは s3express:CreateSession アクションを許可する必要があります。これにより、Athena は対応する API オペレーションを呼び出すことができます。

考慮事項と制限事項

Athena で S3 Express 1 Zone をクエリする際は、以下の点を考慮してください。

  • S3 Express One Zone バケットは SSE_S3 暗号化のみをサポートします。Athena のクエリ結果は、ワークグループ設定で選択したクエリ結果を暗号化するオプションに関係なく、SSE_S3 暗号化を使用して書き込まれます。この制限には、CREATE TABLE AS (CTAS) や INSERT INTO ステートメントなど、Athena が S3 Express One Zone バケットにデータを書き込むすべてのシナリオが含まれます。

  • S3 Express One Zone のデータにテーブルを作成する場合、AWS Glue クローラーはサポートされていません。

  • MSCK REPAIR TABLE ステートメントはサポートされていません。回避方法として、ALTER TABLE ADD PARTITION を使用します。

  • S3 Express One Zone では、Apache Iceberg のテーブルを変更するための DDL ステートメント (つまり ALTER TABLE ステートメント) はサポートされていません。

  • 次のファイルおよびテーブル形式はサポートされていないか、サポートが制限されています。リストにないが、Athena でサポートされているフォーマット (Parquet、ORC、JSON など) であれば、S3 Express One Zone ストレージでの使用もサポートされています。

    ファイルまたはテーブル形式 制限
    Apache Avro サポートされていません
    CloudTrail ログ サポートされていません
    Apache Hudi サポートされていません
    Amazon Ion サポートされていません
    Logstash ログ サポートされていません
    Apache WebServer ログ サポートされていません
    Delta Lake DDL はサポートされていません。ダミースキーマを使用して Delta Lake テーブルを作成する方法については、「Delta Lake メタデータを同期する」を参照してください。テーブルに対する SELECT クエリはサポートされています。

使用を開始する

Athena を使用すると、S3 Express One Zone のデータを簡単にクエリすることができます。使用を開始するには、以下の手順を実行します。

Athena SQL を使用して S3 Express One Zone のデータをクエリするには
  1. データを S3 Express One Zone のストレージに移行します。詳細については、「Amazon S3 ユーザーガイド」の「オブジェクトのストレージクラスを設定」を参照してください。

  2. Athena の CREATE TABLE ステートメントを使用して AWS Glue Data Catalog でデータをカタログ化します。Athena でのテーブルの作成に関する詳細については、「Athena でテーブルを作成する」と CREATE TABLE ステートメントを参照してください。

  3. (オプション) Amazon S3 ディレクトリバケットを使用するように Athena ワークグループのクエリ結果の場所を設定します。Amazon S3 ディレクトリバケットは一般的なバケットよりもパフォーマンスが高く、一貫した 1 桁ミリ秒のレイテンシーを必要とするワークロードまたはパフォーマンス重視のアプリケーション向けに設計されています。詳細については、「Amazon S3 ユーザーガイド」の「Directory buckets overview」を参照してください。