AWS Glue
開発者ガイド

AWS Glue: 仕組み

AWS Glue は他の AWS サービスを使用して、データウェアハウスを構築する ETL (抽出、変換、ロード) ジョブをオーケストレーションします。AWS Glue は API オペレーションを呼び出して、データの変換、ランタイムログの作成、ジョブロジックの保存、およびジョブ実行をモニタリングするのに役立つ通知の作成を行います。AWS Glue コンソールはこれらのサービスを管理アプリケーションに接続して、お客様が ETL ワークの作成とモニタリングに集中できるようにします。管理およびジョブ開発のオペレーションは、コンソールがお客様に代わって実行します。データソースへのアクセスとデータウェアハウスへの書き込みを行うために、認証情報と他のプロパティを AWS Glue に提供します。

AWS Glue は、ワークロードを実行するために必要なリソースのプロビジョニングおよび管理を行います。AWS Glue が代わって行うため、ETL ツールのインフラストラクチャを作成する必要はありません。リソースが必要な場合、起動時間を削減するために、AWS Glue はインスタンスのウォームプールからインスタンスを使用してワークロードを実行します。

AWS Glue では、Data Catalog にあるテーブル定義を使用してジョブを作成します。ジョブは、変換を実行するプログラミングロジックを含むスクリプトで構成されます。トリガーを使用し、スケジュールに基づいて、または指定されたイベントの結果としてジョブを開始します。ターゲットデータが存在する場所、およびターゲットに入力するソースデータを指定します。入力により、AWS Glue はデータをソースからターゲットに変換するのに必要なコードを生成します。AWS Glue コンソールまたは API でスクリプトを提供してデータを処理することもできます。

AWS Glue は、複数の AWS リージョンで利用できます。詳細については、アマゾン ウェブ サービス全般のリファレンス の「AWS リージョンとエンドポイント」を参照してください。

独立で実行されるサーバーレス ETL ジョブ

AWS Glue は、Apache Spark サーバーレス環境で ETL ジョブを実行します。AWS Glue は、独自のサービスアカウントでプロビジョニングして管理する仮想リソースでこれらのジョブを実行します。

AWS Glue は、以下を実行するよう設計されています。

  • お客様のデータを分離します。

  • 伝送中と保管時のお客様のデータを保護します。

  • 一時的な制限された認証情報を使用して、またはアカウント内の IAM ロールに対するお客様の同意を得て、お客様のリクエストに応え必要な時だけお客様のデータにアクセスします。

ETL ジョブのプロビジョニング時に、Virtual Private Cloud (VPC) にある入力データソースおよび出力データターゲットを提供します。また、データソースおよびターゲットにアクセスするために必要な、IAM ロール、VPC ID、サブネット ID、およびセキュリティグループを提供します。各タプル (顧客アカウント ID、IAM ロール、サブネット ID、およびセキュリティグループ) に、AWS Glue は、AWS Glue サービスアカウント内の他のすべての Spark 環境からネットワークおよび管理レベルで分離された新しい Spark 環境を作成します。

AWS Glue はプライベート IP アドレスを使用して、サブネットで Elastic Network Interface を作成します。Spark ジョブはこれらの Elastic Network Interface を使用して、データソースおよびデータターゲットにアクセスします。Spark 環境内外への、また Spark 環境内でのトラフィックは、VPC およびネットワークポリシーにより管理されます。ただし、1 つ例外があり、AWS Glue ライブラリに対する呼び出しは、AWS Glue VPC 経由で AWS Glue API オペレーションにトラフィックをプロキシできます。すべての AWS Glue API 呼び出しはログに記録されます。そのため、データの所有者は、監査ログをアカウントに配信する AWS CloudTrail を有効にすることで API アクセスを監査できます。

ETL ジョブを実行する AWS Glue 管理の Spark 環境は、他の AWS サービスが従う同じセキュリティ実施方法で保護されています。それらの実施方法は、AWS のセキュリティプロセスの紹介ホワイトペーパーの「AWS アクセス」セクションを参照してください。