メニュー
Amazon Athena
ユーザーガイド

よくある質問: AWS Glue データカタログへのアップグレード

AWS Glue がまだ提供されていないリージョンで Athena を使用してデータベースやテーブルを作成した場合、メタデータは Athena で管理するデータカタログに保存されるため、Athena と Amazon Redshift Spectrum のみがアクセスできます。Athena や Redshift Spectrum と並行して AWS Glue の機能を使用するには、AWS Glue データカタログにアップグレードする必要があります。Athena と並行して AWS Glue データカタログを使用できるのは、AWS Glue が提供されているリージョンのみです。リージョンのリストについては、AWS 全般リファレンスの「リージョンとエンドポイント」を参照してください。

AWS Glue データカタログにアップグレードする理由は?

AWS Glue は、完全マネージド型の ETL (抽出、変換、ロード) サービスです。以下の 3 つの主要コンポーネントで構成されています。

  • AWS Glue クローラー。自動的にデータソースをスキャンし、データ形式を識別して、スキーマを推論します。

  • 完全マネージド型 ETL サービス。データを変換して、さまざまな送信先に移動できます。

  • AWS Glue データカタログ。データベースやテーブルに関するメタデータ情報を保存し、Amazon S3 のデータストアや JDBC 準拠のデータストアを送信先として指定します。

詳細については、「AWS Glue の概念」を参照してください。

AWS Glue データカタログへのアップグレードには以下の利点があります。

一元化されたメタデータリポジトリ

AWS Glue データカタログは、さまざまなデータソースやデータ形式にわたって一元化されたメタデータリポジトリを提供します。Amazon Simple Storage Service (Amazon S3)Amazon Relational Database Service (Amazon RDS)Amazon RedshiftAmazon Redshift Spectrum、Athena、Amazon EMR、その他 Apache Hive メタストアと互換性があるアプリケーションとすぐに統合できます。テーブル定義を 1 回作成するだけで、さまざまなエンジンにわたってクエリを実行できます。

詳細については、「AWS Glue データカタログの作成」を参照してください。

スキーマとパーティションの自動認識

AWS Glue クローラーは、自動的にデータソースをクロールし、データ形式を識別して、スキーマと変換を提案します。クローラーは、テーブルの作成とパーティションのロードを自動化し、Athena、Amazon EMR、および Redshift Spectrum を使用してクエリを実行できるようにします。AWS Glue API、SDK、および AWS CLI を使用してテーブルとパーティションを直接作成することもできます。

詳細については、「クローラーを使用したテーブルのカタログ化」を参照してください。

ビルドしやすいパイプライン

AWS Glue ETL エンジンは、完全なカスタマイズ、再利用、移植が可能な Python コードを生成します。お気に入りの IDE やノートブックを使用してコードを編集し、GitHub を使用して他のユーザーと共有できます。準備が整った ETL ジョブは、AWS Glue の完全マネージド型のスケールアウト Spark インフラストラクチャで実行するようスケジュールできます。AWS Glue は、ETL ジョブの実行に必要なリソースのプロビジョニング、設定、およびスケーリングを処理し、ETL とワークフローに密接に統合できます。

詳細については、AWS Glue 開発者ガイドの 「AWS Glue ジョブの作成」を参照してください。

AWS Glue には別料金が適用されますか?

はい。AWS Glue を使用する場合、AWS Glue データカタログにメタデータを保存し、保存済みメタデータにアクセスするための月別レート、AWS Glue ETL ジョブとクローラーランタイムに対して秒単位で課金される時間レート、およびプロビジョニング済みの開発エンドポイントごとに秒単位で課金される時間レートが適用されます。AWS Glue データカタログでは、最大 100 万個までのオブジェクトを無料で保存できます。100 万を超えるオブジェクトを保存した場合は、100,000 オブジェクトごとに 1 USD が課金されます。AWS Glue データカタログのオブジェクトは、テーブル、パーティション、またはデータベースです。詳細については、「AWS Glue 料金表」を参照してください。

アップグレードプロセスに関するよくある質問

アップグレードを実行できるのは誰ですか?

カスタマー管理 IAM ポリシーをアタッチし、ポリシーステートメントにより、移行を実行するユーザーにアップグレードアクションを許可する必要があります。この追加処置により、誰かが誤ってアカウント全体のカタログを移行するのを防止できます。詳細については、「ステップ 1 - アップグレードの実行をユーザーに許可する」を参照してください。

ユーザーは Athena と Redshift Spectrum の管理ポリシーを使用しています。アップグレードするには、どのような手順が必要ですか?

Athena 管理ポリシーは、AWS Glue へのアクセスを Athena ユーザーに許可する新しいポリシーアクションを反映するように自動的に更新されます。ただし、依然として、アップグレードを実行するユーザーに対してアップグレードアクションを明示的に許可する必要があります。誤ったアップグレードを防ぐために、管理ポリシーではアップグレードアクションを自動的には許可しません。

アップグレードしないと、どうなりますか?

アップグレードしないと、Athena で作成したデータベースやテーブルで AWS Glue の機能を使用できません。その逆も同様です。これらのサービスは別個に使用できます。別個に使用する場合、Athena と AWS Glue の両方のデータカタログで作成するデータベースとテーブルに同じ名前を使用することはできません。これにより、アップグレード時の名前の競合が防止されます。

AWS Glue ポリシーを Athena ユーザーに追加する必要があるのは、なぜですか?

アップグレードする前に、Athena はデータカタログを管理し、クエリを実行する Athena アクションをユーザーに許可する必要があります。AWS Glue データカタログにアップグレードした後では、Athena アクションを使用して AWS Glue データカタログにアクセスできなくなるため、AWS Glue アクションをユーザーに許可する必要があります。管理ポリシーを使用する場合は、一切のアクションが不要です。Athena の管理ポリシーは、必要な AWS Glue アクションを許可するように更新済みです。

Athena ユーザーに AWS Glue ポリシーを許可しないと、どうなりますか?

AWS Glue データカタログにアップグレードして、ユーザーのカスタマー管理/インライン IAM ポリシーを更新しないと、ユーザーは AWS Glue でのアクションの実行を許可されないため、Athena クエリは失敗します。許可する特定のアクションについては、「ステップ 2 - Athena ユーザーに関連付けられたカスタマー管理/インラインポリシーを更新する」を参照してください。

アップグレード中にデータが失われる危険性はありますか?

いいえ。

このアップグレードに伴ってデータも移動されるのですか?

いいえ。移行はメタデータにのみ影響します。