なぜ重要か
これまで Snowflake から S3 Tables を参照するには AWS Glue データカタログとの統合を別途セットアップする必要があり、構成ステップが増えてコスト面でも考慮が必要だった。今回の変更により AWS Glue 統合の作成が不要となり、S3 Tables の Iceberg REST エンドポイントへ直接つなぐシンプルな構成で済むようになった。
対象となるチーム
- データエンジニア / データプラットフォームチーム(S3 Tables を Snowflake と連携させているチーム)
- AWS・Snowflake 両環境でレイクハウス基盤を設計・運用するアーキテクト
- コスト最適化の観点から AWS Glue の利用を削減したいクラウドインフラ担当
- セキュリティポリシーからプライベート接続が必要な組織の情報セキュリティ担当
提供条件
- 提供ステータス: General availability(2026-08-10 以降)
- エディション: リリースノートに記載なし(ただしアウトバウンドプライベート接続機能については別途 Business Critical エディション以上が必要と公式ドキュメントに記載あり)
- 対応リージョン: リリースノートに記載なし
- 前提: Apache Iceberg™ REST catalog integration 機能、SigV4 認証に対応した IAM ロール、catalog-linked database の作成権限
ユースケース
- S3 Tables に格納された Iceberg テーブルを Snowflake から AWS Glue なしに直接クエリし、ETL パイプラインを簡素化する
- AWS PrivateLink を通じてプライベートエンドポイント経由でのみ S3 Tables へアクセスし、インターネットへのデータ露出を排除するセキュアな構成を実現する
- catalog-linked database を作成して S3 Tables 内のスキーマとテーブルを Snowflake 上でディスカバリし、既存の Snowflake BI・分析ワークロードに組み込む
- AWS Glue との統合を廃止して構成コンポーネントを削減し、運用オーバーヘッドと Glue 利用コストを下げる
仕組みと使い方
大まかな流れは以下のとおりです。
1. SigV4 認証用の IAM ロールと IAM ポリシーを AWS 側で作成し、S3 Tables のカタログおよびストレージへのアクセス権限を付与する。
2. Snowflake 側で CREATE CATALOG INTEGRATION (Apache Iceberg™ REST) を実行し、S3 Tables の Iceberg REST エンドポイントと SigV4 認証情報を指定する。
3. DESCRIBE CATALOG INTEGRATION で Snowflake アカウントの AWS IAM ユーザーと外部 ID を取得し、IAM ロールの信頼関係に登録する。
4. catalog-linked database を作成して S3 Tables のスキーマ・テーブルを Snowflake から参照する。
> 注意: リリースノートおよび参照先ドキュメントには具体的な SQL コード例が展開表示されていないため、コードブロックは省略しています。詳細な SQL 構文は [CREATE CATALOG INTEGRATION (Apache Iceberg™ REST)](https://docs.snowflake.com/ja/sql-reference/sql/create-catalog-integration-rest) を参照してください。
導入ステップ
- AWS コンソールまたは CLI で、S3 Tables へのアクセス権限を持つ IAM ポリシーと IAM ロールを作成する
- Snowflake で
CREATE CATALOG INTEGRATIONコマンドを実行し、S3 Tables の Iceberg REST エンドポイントと SigV4 認証パラメーターを指定する DESCRIBE CATALOG INTEGRATIONを実行して Snowflake アカウントの IAM ユーザー ARN と外部 ID を取得する- 取得した IAM ユーザー ARN と外部 ID を AWS IAM ロールの信頼ポリシーに追加し、Snowflake からのロール引き受けを許可する
- Snowflake で catalog-linked database を作成し、S3 Tables のスキーマとテーブルをディスカバリして利用開始する
- (任意)セキュリティ要件がある場合は、アウトバウンドプライベート接続を設定して AWS PrivateLink 経由でのアクセスに切り替える
運用上の注意
- アウトバウンドプライベート接続を使用する場合は Business Critical エディション以上が必要であり、エディションのアップグレードが別途必要になる場合がある。
- プライベート接続はカタログ提供の認証情報(catalog vended credentials)と併用できないため、アクセス委譲モードの選択に注意が必要。
- プライベート接続は AWS PrivateLink(AWS)と Azure Private Link(Azure)のみサポートされており、同一クラウドプロバイダー内でのみ利用可能。
- IAM ロールの信頼関係や権限ポリシーの設定ミスは接続エラーの主因となるため、
SYSTEM$VERIFY_CATALOG_INTEGRATIONを使って設定を事前に検証することを推奨。
制約事項
- AWS Glue が不要になった一方で、S3 Tables 側の Iceberg REST エンドポイントが利用可能なリージョンは AWS の制約に依存する(リリースノートに記載なし)。
- 対応するエディションや利用可能リージョンの詳細はリリースノートに記載がないため、Snowflake サポートまたは公式ドキュメントで確認が必要。
- アウトバウンドプライベート接続と catalog vended credentials の同時利用は非対応。
- プライベート接続は AWS と Azure のみ対応しており、Google Cloud 環境での同等機能はリリースノートに記載なし。
次に確認すること
- 公式ドキュメント「Configure a catalog integration for Amazon S3 Tables」で具体的な IAM ポリシー例と SQL 手順を確認する
SYSTEM$VERIFY_CATALOG_INTEGRATIONを使用して既存または新規カタログ統合の設定が正しいか検証する- アウトバウンドプライベート接続が必要かどうか、自組織のセキュリティポリシーと Snowflake エディションを照合して判断する
- 現在 AWS Glue 統合で S3 Tables にアクセスしている環境がある場合、移行要否とリスクを評価したうえで段階的な切り替え計画を立てる
公式情報
仕様・提供条件は更新される可能性があります。導入前に必ず公式リリースノートを確認してください。