クロスリージョンのテーブルアクセス - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クロスリージョンのテーブルアクセス

Lake Formation は、 AWS リージョン間でのデータカタログテーブルのクエリをサポートしています。Amazon Athena 、Amazon EMR、および AWS Glue ETL を使用して他のリージョンからリージョンのデータにアクセスするには、ソースデータベースとテーブルを指す他のリージョンにリソースリンクを作成します。クロスリージョンのテーブルアクセスでは、基になるデータやメタデータをデータカタログ内にコピーしなくても、複数のリージョンをまたいでデータにアクセスできます。

例えば、リージョン A でプロデューサーアカウントのデータベースやテーブルをコンシューマーアカウントと共有できます。コンシューマーアカウントのデータレイク管理者は、リージョン A でリソース共有の招待を受け入れ、共有リソースへのリソースリンクをリージョン B に作成できます。コンシューマーアカウント管理者は、リージョン A でアカウントの IAM プリンシパルに対して、共有リソースへのアクセス許可を付与し、リージョン B のリソースリンクへのアクセス許可を付与できます。このリソースリンクを使用して、コンシューマーアカウントのプリンシパルは、リージョン B から共有データにクエリを実行できます。

リージョン A の Amazon S3 データソースをプロデューサーアカウントでホストし、データの場所をリージョン B の中央アカウントに登録することもできます。中央アカウントでデータカタログのリソースを作成し、Lake Formation のアクセス許可を設定して、自分のアカウントまたはリージョン B の外部アカウントとデータを共有できます。クロスリージョン機能により、ユーザーはリソースリンクを使用してリージョン C から、これらのデータカタログのテーブルにアクセスできます。

この機能を使用すると、複数のリージョンをまたいで Apache Hive メタストアにあるフェデレーションデータベースにクエリを実行したり、クエリを実行するときにローカルリージョンのテーブルを別のリージョンのテーブルと結合したりできます。

Lake Formation は、クロスリージョンのテーブルアクセスで以下の機能をサポートしています。

  • LF タグベースのアクセス制御

  • きめ細かなアクセス制御のアクセス許可

  • 適切なアクセス許可を使用した共有データベースやテーブルへの書き込みオペレーション

  • アカウントレベルでのクロスアカウントのデータ共有と IAM プリンシパルレベルでの直接データ共有

管理者以外のユーザーでも、Create_Database や Create_Table アクセス許可があれば、クロスリージョンのリソースリンクを作成できます。

注記

Lake Formation のアクセス許可を適用しなくても、任意のリージョンでクロスリージョンのリソースリンクを作成し、データにアクセスできます。Lake Formation に登録されていない Amazon S3 のソースデータの場合、アクセスは Amazon S3 の IAM アクセス許可ポリシーと AWS Glue アクションによって決まります。

制限事項については、「クロスリージョンのデータアクセスに関する制限」を参照してください。

ワークフロー

次の図は、同じアカウントと外部 AWS アカウントから AWS リージョン間でデータにアクセスするためのワークフローを示しています。

同じ AWS アカウント内で共有されているテーブルにアクセスするためのワークフロー

次の図では、データは米国東部 (バージニア北部) リージョンの同じ AWS アカウントのユーザーと共有され、ユーザーは欧州 (アイルランド) リージョンから共有データをクエリします。

Diagram showing data sharing between AWS アカウント across regions with numbered steps.

データレイク管理者は、以下のアクティビティ (ステップ 1~2) を実行します。

  1. データレイク管理者は、Data Catalog データベースとテーブルに AWS アカウントを設定し、米国東部 (バージニア北部) リージョンの Lake Formation に Amazon S3 データロケーションを登録します。

    同じアカウントのプリンシパル (ユーザー) に対してデータカタログのリソース (図内の製品テーブル) への Select アクセス許可を付与します。

  2. 米国東部 (バージニア北部) リージョンのソーステーブルを指すリソースリンクを欧州 (アイルランド) リージョンに作成します。欧州 (アイルランド) リージョンのリソースリンクへの DESCRIBE アクセス許可をプリンシパルに付与します。

  3. ユーザーは Athena を使用して欧州 (アイルランド) リージョンからテーブルにクエリを実行します。

外部 AWS アカウントと共有されているテーブルにアクセスするためのワークフロー

下の図で、プロデューサーアカウント (アカウント A) は Amazon S3 バケットをホストし、データの場所を登録して、データカタログのテーブルを米国東部 (バージニア北部) リージョンのコンシューマーアカウント (アカウント B) と共有します。コンシューマーアカウント (アカウント B) のユーザーは、欧州 (アイルランド) リージョンからテーブルにクエリを実行します。

Diagram showing data sharing between AWS アカウント across regions using Amazon S3 and Data Catalog.
  1. データレイク管理者は、米国東部 (バージニア北部) リージョンで Lake Formation に登録されている Data Catalog リソースと Amazon S3 データロケーションを持つ AWS アカウント (プロデューサーアカウント) を設定します。

  2. プロデューサーアカウントのデータレイク管理者は、データカタログのテーブルをコンシューマーアカウントと共有します。

  3. コンシューマーアカウントのデータレイク管理者は、米国東部 (バージニア北部) リージョンでデータ共有の招待を受け入れ、同じリージョンからプリンシパルに対して共有テーブルへの Select アクセス許可を付与します。

  4. コンシューマーアカウントのデータレイク管理者は、米国東部 (バージニア北部) リージョンのターゲット共有テーブルを指すリソースリンクを欧州 (アイルランド) リージョンに作成し、欧州 (アイルランド) リージョンのリソースリンクへの DESCRIBE アクセス許可をユーザーに付与します。

  5. ユーザーは Athena を使用して欧州 (アイルランド) リージョンからデータにクエリを実行します。