AWS Lake Formation の仕組み
AWS Lake Formation は、データレイクの構築、セキュア化、および管理を容易にします。Lake Formation は、直接、または他の AWS のサービスを通じて以下を実行するために役立ちます。
-
データレイクが格納される Amazon Simple Storage Service (Amazon S3) バケットとパスを登録する。
-
raw データの取り込み、クレンジング、変換、および分類を行うデータフローをオーケストレートする。
-
データレイク内のデータソースとデータに関するメタデータが含まれる Data Catalog を作成して管理する。
-
許可の付与/取り消しモデルを使用して、メタデータとデータに対する詳細なデータアクセスポリシーを定義する。
以下の図は、Lake Formation でデータがロードされ、セキュア化される方法を示しています。

この図にあるように、Lake Formation は AWS Glue のクローラ、AWS Glue の ETL ジョブ、Data Catalog、セキュリティ設定、およびアクセスコントロールを管理します。ユーザーは、データがセキュアな方法でデータレイクに保存された後で、Amazon Athena、Amazon Redshift、および Amazon EMR などのユーザーが選択する分析サービスを通じてデータにアクセスできます。
Lake Formation の用語
以下は、本ガイドで使用される重要な用語の一部です。
データレイク
データレイクは、Amazon S3 に保存され、Data Catalog を使用して Lake Formation によって管理される永続的なデータです。通常、データレイクには以下のデータが保存されます。
-
構造化データと非構造化データ
-
raw データと変換されたデータ
Amazon S3 パスをデータレイク内に配置するには、パスを Lake Formation に登録する必要があります。
データアクセス
Lake Formation は、AWS Identity and Access Management (IAM) ポリシーを補強する新しい許可/取り消しモデルを通じて、データへのセキュアで詳細なアクセスを提供します。
アナリストとデータサイエンティストは、Amazon Athenaなどの AWS の分析および機械学習サービスの完全なポートフォリオを使用して、データにアクセスすることができます。設定済みの Lake Formation のセキュリティポリシーは、ユーザーがアクセスを認可されているデータにしかアクセスできないことを確実にするために役立ちます。
ブループリント
ブループリントは、データレイクにデータを簡単に取り込めるようにするデータ管理テンプレートです。Lake Formation は、リレーショナルデータベースや AWS CloudTrail ログなどの事前定義されたソースタイプごとに、いくつかのブループリントを提供します。ブループリントからは、ワークフローを作成できます。ワークフローは、データのロードと更新をオーケストレートするために生成される、AWS Glue のクローラ、ジョブ、およびトリガーで構成されます。ブループリントは、データソース、データターゲット、およびスケジュールを入力として使用して、ワークフローを設定します。
ワークフロー
ワークフローは、一連の関連する AWS Glue のジョブ、クローラ、およびトリガーのためのコンテナです。Lake Formation でワークフローを作成すると、それが AWS Glue サービスで実行されます。Lake Formation は、ワークフローのステータスを単一のエンティティとして追跡できます。
ワークフローを定義するときは、ワークフローの基礎となるブループリントを選択します。その後、ワークフローをオンデマンドで、またはスケジュールに従って実行できます。
Lake Formation で作成するワークフローは、AWS Glue コンソールに DAG (Directed Acyclic Graph) として表示されます。DAG を使用することで、ワークフローの進行状況を追跡し、トラブルシューティングを実行できます。
Data Catalog
Data Catalog は、永続的なメタデータストアです。これは、AWS クラウド上でのメタデータの保存、注釈付け、および共有を、Apache Hive メタストアと同じ方法で実行できるマネージドサービスです。異種システムがデータサイロ内のデータを追跡するためのメタデータを保存して検索できる均一なリポジトリを提供し、そのメタデータを使用してデータのクエリと変換を行います。Lake Formation は、AWS Glue Data Catalog を使用して、データレイク、データソース、変換、およびターゲットに関するメタデータを保存します。
データソースとターゲットに関するメタデータは、データベースとテーブルの形式になっています。テーブルは、スキーマ情報、およびロケーション情報などを保存します。データベースはテーブルのコレクションです。Lake Formation は、Data Catalog 内のデータベースとテーブルへのアクセスを制御するための許可の階層を提供します。
各 AWS アカウントには、AWS リージョンごとに 1 つの Data Catalog があります。
基盤となるデータ
基盤となるデータとは、Data Catalog テーブルがポイントするソースデータまたはデータレイク内のデータのことです。
プリンシパル
プリンシパルは、AWS Identity and Access Management (IAM) ユーザーもしくはロール、または Active Directory ユーザーです。
データレイク管理者
データレイク管理者は、あらゆる Data Catalog リソースまたはデータロケーションに対する許可を任意のプリンシパル (自分自身を含む) に付与できるプリンシパルです。データレイク管理者は、Data Catalog の最初のユーザーとして指定します。このユーザーは、リソースのより詳細な許可を他のプリンシパルに付与できるようになります。
IAM 管理ユーザー (AdministratorAccess
AWS マネージドポリシーを持つユーザー) が、自動的にデータレイク管理者になるわけではありません。例えば、IAM 管理ユーザーがカタログオブジェクトに対する Lake Formation 許可を付与できるのは、これを実行する許可が IAM 管理ユーザー付与されている場合のみになります。ただし、IAM 管理ユーザーは、Lake Formation コンソールまたは API を使用して、自分自身をデータレイク管理者として指定できます。
データレイク管理者の能力については、「黙示的な Lake Formation 許可」を参照してください。ユーザーのデータレイク管理者としての指定については、「データレイク管理者を作成する」を参照してください。
Lake Formation コンポーネント
AWS Lake Formation は、複数のコンポーネントとの相互作用によって、データレイクの作成と管理を行っています。
Lake Formation コンソール
Lake Formation コンソールを使用して、データレイクの定義と管理、および Lake Formation 許可の付与と取り消しを行います。コンソールでブループリントを使用して、データの検出、クレンジング、変換、および取り込みを行うことができます。個々の Lake Formation ユーザーに対してコンソールへのアクセスを有効化または無効化することもできます。
Lake Formation API とコマンドラインインターフェイス
Lake Formation は、複数の言語固有の SDK と AWS Command Line Interface (AWS CLI) を使用して API 操作を提供します。Lake Formation API は AWS Glue API と連携して動作します。Lake Formation API は主に Lake Formation 許可の管理に焦点を当てる一方で、AWS Glue APIはデータカタログ APIと、データに対する ETL 操作の定義、スケジュール、および実行のためのマネージドインフラストラクチャを提供します。
AWS Glue APIについては、「AWS Glue デベロッパーガイド」を参照してください。AWS CLI の使用については、「AWS CLI Command Reference」(AWS CLI コマンドリファレンス) を参照してください。
その他の AWS のサービス
Lake Formation は、以下のサービスを利用します。