AWS Lake Formation の概要 - AWS Lake Formation

AWS Lake Formation の概要

AWS Lake Formation デベロッパーガイドへようこそ。

AWS Lake Formation は、データレイクの構築、セキュア化、および管理を簡単に実行できるフルマネージドサービスです。Lake Formation は、データレイクの作成に通常必要となる手動での複雑な手順の多くを簡素化し、自動化します。これらの手順には、データの収集、クレンジング、移動、およびカタログ化と、そのデータをセキュアな方法で分析および機械学習用に提供することが含まれます。

Lake Formation は、IAM 許可モデルを補強する独自の許可モデルを提供します。この一元的に定義された許可モデルは、リレーショナルデータベース管理システム (RDMS) と同様のシンプルな付与または取り消しメカニズムを通じて、データレイクに保存されたデータに対する細粒度のアクセス権を可能にします。Lake Formation 許可は、Amazon Athena、Amazon QuickSight、および Amazon Redshift などの AWS の分析および機械学習サービス全体で、列、行、およびセルレベルでの詳細なコントロールを使用して適用されます。

Lake Formation の機能

Lake Formation は、データサイロを分解し、異なるタイプの構造化および非構造化データを一元化されたリポジトリに統合するために役立ちます。まず、Amazon S3、またはリレーショナルおよび NoSQL データベース内の既存のデータストアを特定し、データをデータレイクに移動させます。その後、分析のためにデータのクロール、カタログ化、および準備を行います。次に、ユーザーが選択した分析サービス経由でのデータへのセキュアなセルフサービスアクセスをユーザーに提供します。

データをセットアップして管理する

すでに AWS 内にあるデータベースからデータをインポートする

既存のデータベースの場所を指定し、アクセス認証情報を指定すると、Lake Formation がデータソースの内容を理解するためにデータとそのメタデータ (スキーマ) を読み取ります。その後、Lake Formation がデータを新しいデータレイクにインポートし、メタデータを中央カタログに記録します。Lake Formation を使用することで、Amazon RDS で実行されている、または Amazon EC2 でホストされている MySQL、PostgreSQL、SQL Server、MariaDB、および Oracle データベースからデータをインポートできます。データのロードは一括と増分の両方がサポートされています。

その他の外部ソースからデータをインポートする

Lake Formation は、Java Database Connectivity (JDBC) を使用した接続によるオンプレミスデータベースからのデータの移動に使用できます。コンソールでターゲットソースを特定し、アクセス認証情報を提供すると、Lake Formation がデータを読み取って、データレイクにロードします。上記以外のデータベースからデータをインポートするには、AWS Glue を使用してカスタム ETL ジョブを作成できます。

データをカタログ化してラベル付けする

Lake Formation は、テクニカルメタデータを抽出するためにデータソースをクロールして読み取り、ユーザーのためにこの情報を説明する検索可能なカタログを作成して、ユーザーが利用可能なデータセットを検出できるようにします。「機密情報」や「欧州内売上データ」などの属性を定義するために、テーブルおよび列レベルでデータに独自のカスタムラベルを追加することもできます。Lake Formation は、このメタデータに対するテキストベースの検索機能を提供するため、ユーザーは分析する必要があるデータをすばやく見つけることができます。Data Catalog へのテーブルの追加に関する詳細については、「Data Catalog テーブルとデータベースの管理」を参照してください。

データを変換する

Lake Formation では、さまざまな日付形式を一貫性のために書き換えて、データが分析しやすい形で保存されていることを確実にするなど、データで変換を実行することができます。Lake Formation は、データを分析用に準備するために、変換テンプレートを作成し、ジョブをスケジュールします。ユーザーのデータは AWS Glue を使用して変換され、より優れたパフォーマンスのために Parquet や ORC などの列形式で記述されます。

データのクリーニングと重複除外を実行する

Lake Formation は、重複排除と一致するレコードの検出のための FindMatches と呼ばれる機械学習変換を提供することで、分析のためのデータのクリーニングと準備を助けます。例えば、FindMatches を使用して、1 つのレコードが「121 Main St.」の「Joe's Pizza」をリストしており、別のレコードが「121 Main」の「Joseph's Pizzeria」を示しているといった、レストランのデータベース内の重複するレコードを検索します。FindMatches は、レコードのセットに「matching」(一致する) または「not matching」(一致しない) というラベルを付けることのみを要求します。次に、このシステムはレコードのペアを一致と見なすための基準を学習し、データベース内にある重複レコード、または 2 つのデータベース間で一致するレコードを検索するために使用できる機械学習変換を構築します。FindMatches の詳細については、「AWS Glue デベロッパーガイド」の「AWS Lake Formation FindMatches によるレコードのマッチング」を参照してください。

ストレージの最適化

分析のパフォーマンスは、新しいデータがデータレイクに書き込まれるときに自動的に作成された多数の小さなファイルの非効率的な保存による影響を受ける可能性があります。これらの多数の小さなファイルの処理は、分析サービスのオーバーヘッドを増加させ、クエリ応答が遅くなる原因になります。Lake Formation には、小さなファイルを大きなファイルに自動的に統合して、クエリを最大 7 倍高速化するストレージオプティマイザが含まれています。一般に圧縮と呼ばれるこのプロセスはバックグラウンドで実行されるため、この処理の実行中に本番ワークロードでのパフォーマンスへの影響はありません。Lake Formation のストレージ最適化機能については、「管理対象テーブルのストレージ最適化」を参照してください。

行およびセルレベルのセキュリティ

Lake Formation は、列と行の組み合わせに対するアクセスの制限を可能にするデータフィルターを提供します。行およびセルレベルのセキュリティを使用して、個人を特定できる情報 (PII) などの機密データを保護します。行レベルのセキュリティに関する詳細については、「データフィルタリングの概要」を参照してください。

セキュリティ管理

アクセスコントロールを定義して管理する

Lake Formation では、データレイク内のデータに対するアクセスコントロールを 1 か所で管理できます。データベース、テーブル、列、行、およびセルレベルでデータへのアクセスを制限するセキュリティポリシーを定義できます。これらのポリシーは、IAM ユーザーとロール、および外部のアイデンティプロバイダー経由でフェデレーションするユーザーとグループに適用されます。Amazon Redshift Spectrum、Athena、AWS Glue ETL、および Amazon EMR for Apache Spark 内にある Lake Formation によってセキュア化されたデータにアクセスするための細粒度のコントロールを使用できます。

監査ロギングを実装する

Lake Formation は、アクセスを監視し、一元的に定義されたポリシーへのコンプライアンスを証明するために、CloudTrail を使用した包括的な監査ログを提供します。Lake Formation を介してデータレイク内のデータを読み取る分析および機械学習サービス全体のデータアクセス履歴を監査できます。この機能により、どのユーザーまたはロールが、どのサービスを使用して、どのデータにいつアクセスしようとしたのかを確認することができます。監査ログには、CloudTrail API とコンソールを使用して他の CloudTrail ログにアクセスするのと同じ方法でアクセスできます。CloudTrail ログの詳細については、「AWS CloudTrail を使用した AWS Lake Formation API コールのロギング」を参照してください。

タグベースのアクセスコントロール

データを分類して、機密情報へのアクセスを制限することができます。テーブルレベルおよび列レベルのデータに独自のカスタムラベル (LF-tag) を追加して、「機密情報」や「欧州内売上データ」などの属性を定義することもできます。Lake Formation は、このメタデータに対するテキストベースの検索機能を提供するため、ユーザーは分析する必要があるデータをすばやく見つけることができます。これらの LF タグに基づいて、データへのアクセス権を付与できます。タグベースのアクセスコントロールに関する詳細については、「Lake Formation のタグベースのアクセスコントロール」を参照してください。

クロスアカウントアクセス

Lake Formation の許可管理機能は、一元化されたアプローチを通じて複数の AWS アカウント全体での分散型データレイクのセキュア化と管理を簡素化して、Data Catalog および Amazon S3 ロケーションに対する細粒度のアクセスコントロールを提供します。

管理対象テーブル

データレイクは、データに対してリアルタイムでの同時更新または頻繁な更新が行われている場合でも、常にデータの正確なビューをユーザーに表示する必要があります。ストリーミングデータのロードや複数のソースデータシステムからの変更の組み込みでは、複数のテーブルにまたがる挿入と削除を並列処理する必要があります。現在、デベロッパーは、カスタムアプリケーションコードを記述するか、オープンソースツールを使用して、これらの更新を管理しています。同じデータを同時に読み書きするときに一貫性を維持するアプリケーションコードの記述は煩雑で壊れやすく、エラーも発生しやすいため、これらのソリューションのスケーリングは複雑で困難です。

Lake Formation は、管理対象テーブルと呼ばれる新しいデータレイクテーブルタイプを使用する ACID (Atomic, Consistent, Isolated, and Durable) トランザクションをサポートする、新しい API を導入します。管理対象テーブルは、複数のユーザーがマニフェストを使用して複数のテーブルにまたがるデータの挿入と削除を同時に実行できるようにしながら、他のユーザーが同じデータセットで、一貫性のある最新の結果を返す分析クエリと機械学習モデルを同時に実行することも可能にします。

Lake Formation でのトランザクションの使用に関する詳細については、以下のトピックを参照してください。

AWS のサービスの Lake Formation との統合

以下の AWS のサービスは AWS Lake Formation と統合し、Lake Formation 許可に従います。

AWS のサービス 統合方法
AWS Glue AWS Glue と Lake Formation は同じ Data Catalog を共有しています。AWS Glue ユーザーがコンソール操作 (テーブルのリストの表示など) およびすべての API 操作のためにアクセスできるのは、ユーザーが Lake Formation 許可を持つデータベースとテーブルのみです。
注記

AWS Glue は、Lake Formation の列許可をサポートしません。

Amazon Athena Amazon Athena ユーザーがクエリエディタで AWS Glue カタログを選択する場合、ユーザーは Lake Formation 許可を持つデータベース、テーブル、列のみをクエリできます。マニフェストを使用したクエリはサポートされていません。

Lake Formation は、AWS Identity and Access Management (IAM) 経由で Athena での認証を行うプリンシパルに加えて、JDBC または ODBC ドライバを使用して接続し、SAML を通じて認証する Athena ユーザーもサポートします。サポートされている SAML プロバイダーには、Okta および Microsoft Active Directory フェデレーションサービス (AD FS) などがあります。詳細については、「Amazon Athena ユーザーガイド」の「Athena へのフェデレーションアクセスのための Lake Formation と Athena JDBC および ODBC ドライバーの使用」を参照してください。

注記

現在、以下のリージョンでは Lake Formation での SAML アイデンティティへのアクセスの認可はサポートされていません。

  • 中東 (バーレーン) – me-south-1

  • アジアパシフィック (香港) – ap–east–1

  • アフリカ (ケープタウン) – af-south-1

  • 中国 (寧夏) – cn-northwest-1

  • アジアパシフィック (大阪) – ap-northeast-3

Amazon Redshift Spectrum Amazon Redshift ユーザーが AWS Glue カタログ内のデータベースで外部スキーマを作成する場合、ユーザーはそのスキーマ内で Lake Formation 許可を持つテーブルと列のみをクエリできます。

マニフェストを使用したクエリはサポートされていません。

Amazon QuickSight Enterprise Edition Amazon QuickSight Enterprise Edition のユーザーが Lake Formation に登録されている Amazon S3 ロケーション内のデータセットをクエリする場合は、ユーザーがそのデータに対する Lake Formation の SELECT 許可を持っている必要があります。
Amazon EMR Lake Formation 許可は、Apache Spark アプリケーションが Apache Zeppelin または EMR Notebooks を使用して送信されるときに適用されます。

Lake Formation は AWS Key Management Service (AWS KMS) とも連動し、Amazon Simple Storage Service (Amazon S3) ロケーションにあるデータの暗号化と復号化を行うために、これらの統合サービスをより簡単にセットアップできるようにします。

サポートされるリージョン

AWS Lake Formation がサポートする AWS リージョンについては、「AWS Lake Formation の料金」を参照してください。

各リージョンの Lake Formation サービスエンドポイントと Lake Formation のサービスクォータのリストについては、「AWS Lake Formation エンドポイントとクォータ」を参照してください。

Lake Formation の管理対象テーブルル、トランザクションサポート、行レベルセキュリティ、およびストレージ最適化機能は、以下の AWS リージョンで利用できます。

リージョン名 リージョンパラメータ
米国東部(バージニア北部) us-east-1
米国東部 (オハイオ) us-east-2
米国西部 (オレゴン) us-west-2
アジアパシフィック (ムンバイ) ap-south-1
アジアパシフィック (ソウル) ap-northeast-2
アジアパシフィック (シンガポール) ap-southeast-1
アジアパシフィック (シドニー) ap-southeast-2
アジアパシフィック (東京) ap-northeast-1
欧州 (フランクフルト) eu-central-1
欧州 (アイルランド) eu-west-1
欧州 (ロンドン) eu-west-2
欧州 (ストックホルム) eu-north-1
カナダ (中部) ca-central-1
南米 (サンパウロ) sa-east-1

Lake Formation の使用の開始

以下のセクションから開始することが推奨されます。