Amazon S3 テーブルバケット内のテーブルにアクセスする方法は複数あります。Amazon SageMaker Lakehouse を使用してテーブルを AWS 分析サービスと統合するか、Amazon S3 Tables Iceberg REST エンドポイントまたは Amazon S3 Tables Catalog for Apache Iceberg を使用してテーブルに直接アクセスできます。使用するアクセス方法は、カタログの設定、ガバナンスモデル、アクセスコントロールのニーズによって異なります。これらのアクセス方法の概要を次に示します。
アクセス方法の選択
- Amazon SageMaker Lakehouse の統合
これは、S3 テーブルバケット内のテーブルを操作するために推奨されるアクセス方法です。この統合により、複数の AWS 分析サービス全体で統一されたテーブル管理、一元化されたガバナンス、きめ細かなアクセスコントロールが可能になります。
- 直接アクセス
AWS Partner Network (APN) カタログ実装、カスタムカタログ実装を使用する必要がある場合、または 1 つのテーブルバケット内のテーブルに対して基本的な読み取り/書き込みオペレーションのみを実行する必要がある場合は、この方法を使用します。
Amazon SageMaker Lakehouse 統合を通じたテーブルへのアクセス
S3 テーブルバケットを Amazon SageMaker Lakehouse と統合して、Amazon Athena、Amazon Redshift、Amazon QuickSight などの AWS 分析サービスからテーブルにアクセスできます。Amazon SageMaker Lakehouse は、Amazon S3 データレイクと Amazon Redshift データウェアハウス全体のデータを統合するため、データの 1 つのコピーに対して分析、機械学習 (ML)、生成 AI アプリケーションを構築できます。この統合により、AWS Glue Data Catalog にテーブルリソースが入力され、AWS Lake Formation でこれらのリソースへのアクセスがフェデレーションされます。統合の詳細については、「AWS 分析サービスで Amazon S3 Tables を使用する」を参照してください。
この統合により、AWS Lake Formation を通じたきめ細かなアクセスコントロールが可能になり、セキュリティが向上します。Lake Formation は、独自のアクセス許可モデルと IAM のアクセス許可モデルを組み合わせて、テーブルリソースと基になるデータへのアクセスを制御します。つまり、テーブルへのアクセスリクエストは、IAM と Lake Formation の両方によるアクセス許可チェックに合格する必要があります。詳細については、「AWS Lake Formation デベロッパーガイド」の「Lake Formation 許可の概要」を参照してください。
次の AWS 分析サービスはこの統合を通じてテーブルにアクセスできます。
AWS Glue Iceberg REST エンドポイントを使用したテーブルへのアクセス
S3 テーブルバケットが Amazon SageMaker Lakehouse と統合されると、AWS Glue Iceberg REST エンドポイントも使用して、Iceberg をサポートするサードパーティーのクエリエンジンから S3 テーブルに接続することもできます 詳細については、「AWS Glue Iceberg REST エンドポイントを使用した Amazon S3 テーブルへのアクセス」を参照してください。
Spark、PyIceberg、またはその他の Iceberg 互換クライアントからテーブルにアクセスする場合は、AWS Glue Iceberg REST エンドポイントを使用することをお勧めします。
次のクライアントは AWS Glue Iceberg REST エンドポイントを通じてテーブルに直接アクセスできます。
Spark、PyIceberg などの任意の Iceberg クライアント。
テーブルへの直接アクセス
S3 Tables 管理オペレーションを Apache Iceberg 分析アプリケーションに橋渡しする方法を通じて、オープンソースクエリエンジンからテーブルに直接アクセスできます。直接アクセスには、Amazon S3 Tables Iceberg REST エンドポイントと Amazon S3 Tables Catalog for Apache Iceberg の 2 つの方法があります。REST エンドポイントをお勧めします。
セルフマネージドカタログ実装でテーブルにアクセスする場合、または 1 つのテーブルバケット内のテーブルに対して基本的な読み取り/書き込みオペレーションのみを実行する必要がある場合は、直接アクセスをお勧めします。その他のアクセスシナリオでは、Amazon SageMaker Lakehouse 統合をお勧めします。
テーブルへの直接アクセスは、IAM アイデンティティベースのポリシーか、またはテーブルとテーブルバケットにアタッチされたリソースベースのポリシーを通じて管理されます。テーブルに直接アクセスする場合、テーブルに対する Lake Formation 許可を管理する必要はありません。
Amazon S3 Tables Iceberg REST エンドポイントを通じたテーブルへのアクセス
Amazon S3 Tables Iceberg REST エンドポイントを使用して、HTTP エンドポイントを通じて任意の Iceberg REST 互換クライアントからテーブルに直接アクセスできます。詳細については、「Amazon S3 Tables Iceberg REST エンドポイントを使用したテーブルへのアクセス」を参照してください。
次の AWS 分析サービスとクエリエンジンは、Amazon S3 Tables Iceberg REST エンドポイントを使用してテーブルに直接アクセスできます。
サポートされているクエリエンジン
Spark、PyIceberg などの任意の Iceberg クライアント。
Amazon S3 Tables Catalog for Apache Iceberg を通じたテーブルへの直接アクセス
S3 Tables クライアントカタログを使用することで、Apache Spark のようなクエリエンジンからテーブルに直接アクセスすることもできます。詳細については、「Amazon S3 Tables Catalog for Apache Iceberg を使用した Amazon S3 テーブルへのアクセス」を参照してください。ただし S3 では、言語やエンジン固有のコードを必要とせず、より多くのアプリケーションをサポートしているため、直接アクセスには Amazon S3 Tables Iceberg REST エンドポイントを使用することをお勧めします。
次のクエリエンジンは、クライアントカタログを使用してテーブルに直接アクセスできます。