AWS Glue とは?
AWS Glue(読み方:グルー)とは、様々なデータソースからデータ分析やアプリケーション開発、機械学習などを目的にデータ検出・データ抽出・結合などを簡単に行うために用意されたAmazonの『サーバーレス・データ統合サービス』です。
データ分析のためのデータ環境を整えるためには多くの工数やコストが掛かりますが、AWS Glueの利用によってそれらの工数やコストを大幅に減らすことが可能になります。この記事では、AWS Glueについて、概要や機能、メリット・デメリット、始め方や料金などについて紹介していきます。
【参考】:AWS Glue 分析用データ抽出、変換、ロード (ETL)
ETLとは
AWS GlueはAWSが提供するETLツールでもあります。ETLは「Extrac Transform Load」の略語であり、データレイクなどからデータをExtract(抽出)し、扱いやすいフォーマットにTransformation(変換)してから、DWH(データウェアハウス)に書き出す一連のProcess(処理)です。
ETLはDHWにデータを保存する際の前処理として行われ、DWHに保存されたデータは分析ツールを用いてビジネスなどで活用されます。
AWS Glueの概要
AWS Glueは分析を行うために複数のデータソースから、必要なデータの検出や準備・移動・統合を可能とするサーバーレス・データ統合サービスのことです。AWS Glueの使用により、70以上の多様なデータソースを検出、接続し、一元化されたデータカタログによってデータの管理を行えるようになります。
AWS Glueではデータを視覚的に抽出・変換・ロード(ETL)する基本機能がすべて備わっており、インフラ環境の整備やデータソースの整理や準備、データウェアハウスの構築などが簡単に行え、短時間でデータ分析を行うことができます。
また、AWS Glueに含まれるグラフィカルインターフェースのAWS Glue Studioを利用することで、データ変換のワークフローを視覚的に作成することができます。
AWS Glue の参考書:AWSではじめるデータレイク
AWS Glueを利用する前に、ETLやデータレイクについて学ぶ際におすすめの参考書である「AWSではじめるデータレイク」を紹介します。本書では、データレイクの概念や機能などの基本から、それらをAWSで実現する方法までが詳しく解説されています。
他にはAWS上の関連サービスの概要や連携方法も解説されており、予備知識を得ておくことでAWS Glueに早く馴染めることでしょう。
▪著者:上原 誠 、志村 誠、下佐粉 昭、関山 宜孝 ▪出版社:テッキーメディア ▪ページ数:377ページ ▪出版日:2020年7月9日
【参考】:AWSではじめるデータレイク
AWS Glueの主な機能
AWS Glueの概要については理解できたでしょうか。AWS Glueを始める前に、AWS Glueの主な機能について理解しておきましょう。ここでは、4つの機能について解説します。
ETLジョブ
ETLジョブとは、データソースから分析に必要なデータを抽出する機能です。必要に応じ、サーバーレス・エンジンにてTransformation(データ変換)を行ってDWHに連携します。
【参考】:AWS Glue での ETL ジョブ | AWS Glue 【参考】:PowerPoint Presentation | AWS Black Belt Online Seminar
クローラー
データソースからETLジョブによって構築されたデータレイクをクロールし、データレイクに保存されたデータの内訳情報(メタデータ)を抽出してAWS GlueのData Catalogにテーブル形式で保存する機能です。
【参考】:クローラーの仕組み | AWS Glue
データカタログ
クローラーによってデータレイクから収集されたメタデータ(データの場所やスキーマなどの情報)が格納される場所です。データ分析を行うには、データの発生元や分析対象データの属性などの説明情報が必要なため、データカタログを参照しながらデータ分析が行われます。
【参考】:AWS Glue のデータカタログとクローラー | AWS Glue
ワークフロー
ここまで紹介したETLジョブ、クローラー、データカタログ出力まで、一連の処理を自動化する機能としてワークフローがあります。ワークフローを利用することで、AWS Glueのサービスを可視化できます。
【参考】:Glue の公開 | Amazon Elastic Compute Cloud
AWS Glueを利用するメリットとデメリット
AWS Glueはデータサイエンティストやデータアナリスト、システムエンジニアにとって優れたサービスです。ここでは、AWS Glueを利用するメリット・デメリットを確認しておきましょう。
AWS Glueのメリット
AWS Glueを利用することによって、どのようなメリットが得られるのでしょうか。ここでは主なメリットを3つ紹介します。
■ データ分析環境を迅速に構築できる AWS Glueはサーバーレスのため、インフラ構築が不要、かつ事前準備がほとんど不要なため、分析データのデータソースさえあれば、直ちに分析を行うことができます。また大規模データの分析実績が豊富にあり、データ容量やサイジングの心配が不要です。
■ 豊富な自動化機能により運用負荷が掛からない データ分析は事前の準備作業や手作業での試行錯誤を伴い、運用負荷が大きい傾向がありますが、AWS Glueのクローラーやワークフロー機能を活用することで、データ分析環境の更新や処理の自動化を行えるため、運用負荷の大幅な低減が可能です。
■ データ分析に専念できる データ分析は常にデータの更新が必要であり、前工程やメンテナンスに労力が必要です。AWS Glueはそのような処理がほぼ自動化できるため、利用者は開発やデータ分析に専念することができます。
AWS Glueのデメリット
AWS Glueには大きなデメリットはありませんが、あくまでもクラウド環境でのサーバーレスサービスであるため、オンプレミス環境の既存システムやAWS内のEC2インスタンス側のアプリとの連携を構築するのに手間と工数が掛かります。
AWS Glueの始め方と料金
AWS Glueを始めるためのステップについて、どのような手順が必要なのかを見ていきましょう。AWS Glueの利用にはAWSアカウントが必要になりますので、まだ取得していない人は取得しておくことをおすすめします。
AWS Glueを始める
AWS Glueを始めるには次のステップを踏みます。
①AWS アカウントをセットアップしてログインする ②AWS Glue サービスの IAM ポリシーを設定する ③データストアにアクセスするための環境を設定する
上記のステップについて、概要を解説します。
■ AWS アカウントをセットアップしてログイン AWSアカウントを取得していることが、AWS Glue利用の前提条件です。AWSアカウントでログインするとAWSコンソールが表示されます。これまでにAWS Glueを利用している場合は、メニュー一覧にAWS Glueが表示されていますので、ここからAWS Glueのサービスにアクセスします。
AWS Glueが表示されていない場合は、まだ利用履歴がないため、上の検索窓に"AWS Glue"と入力し、表示されたメニューから目的のサービスを選択します。
■ AWS Glue サービスの IAM ポリシー設定 IAMポリシーとは、利用するAWSサービスやリソース、操作や許可などの権限をユーザーに対して設定できる定義のことです。
AWS Glueで設定するIAMは、AWS Glue用IAMロール、AWS Glueコンソールで使用するNotebook server用のIAMロール、コンソールのアクセス権限などです。詳細については、ドキュメントで確認しましょう。
【参考】:AWS Glue のドキュメント | AWS Glue 【参考】:AWS Glue 用の IAM アクセス許可のセットアップ | AWS Glue
■ データストアにアクセスするための環境設定 AWS Glueを利用できるようにするためには、データストアにアクセスするための環境設定が必要です。AWS GlueではS3以外にRDS、Redshiftなどのデータストアとの連携が可能です。
RDS、RedshiftはVPC(Virtual Private Cloud)内にリソースを置くため、VPC外のS3と連携するためにVPCエンドポイント設定が必要です。他、AWS GlueとVPC内の各リソースと通信が行えるようにセキュリティグループの設定を行います。
最後にDNSの設定を行います。設定ができたら、入門ガイドの手順に従ってデータの分析を開始しましょう。
【参考】:データストアへのネットワークアクセスを設定する | AWS Glue
【参考】:Amazon VPC(仮想ネットワーク内での AWS リソースの起動)| AWS
AWS Glue の料金
AWS Glueは実行中のジョブが使用するデータ容量やリソース、クローラーに対する料金が発生し、時間単位で課金されるものと、月額料金として課金される2種類があります。
【時間課金されるもの】 ▪クローラーによるデータの検出と抽出 ▪ETLジョブ(データの処理とロード)の実行 ▪ETL コードをインタラクティブ開発するため、開発エンドポイントをプロビジョニングする場合
【月額課金されるもの】 ▪データカタログとして使用しているオブジェクトの個数とアクセス回数(ただし100万個までのオブジェとデータカタログへのアクセス回数100万回までは無料)
詳細料金については、AWS料金計算ツールを利用して試算をしておくことをおすすめします。
【参考】: 料金 - AWS Glue | AWS
AWS Glueを利用してデータ分析環境を簡単構築しよう
ここまでAWS Glueの概要や機能、利用するメリットとデメリット、AWS Glueの始め方や利用料金などについて紹介しました。AWS Glueを利用することで、高速かつ安価でデータ分析環境の整備ができます。この記事でAWS Glueに興味が湧いたら、ぜひ利用してみてください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから