

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

# クロスリージョンのテーブルアクセス
<a name="data-access-across-region"></a>

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

例えば、リージョン 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 アクションによって決まります。

制限事項については、「[クロスリージョンのデータアクセスに関する制限](x-region-considerations.md)」を参照してください。

## ワークフロー
<a name="cross-region-workflow"></a>

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

### 同じ AWS アカウント内で共有されているテーブルにアクセスするためのワークフロー
<a name="cross-region-workflow-same-account"></a>

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

![\[Diagram showing data sharing between AWS アカウント across regions with numbered steps.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/cross-region-same-account.png)


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

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

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

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

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

### 外部 AWS アカウントと共有されているテーブルにアクセスするためのワークフロー
<a name="cross-region-workflow-x-account"></a>

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

![\[Diagram showing data sharing between AWS アカウント across regions using Amazon S3 and Data Catalog.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/cross-region-x-account.png)


1. データレイク管理者は、米国東部 (バージニア北部) リージョンで、データカタログリソースと Lake Formation に登録された Amazon S3 データロケーションを使用して AWS アカウント (プロデューサーアカウント) を設定します。

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

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

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

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

# クロスリージョンのテーブルアクセスの設定
<a name="setup-cross-region-access"></a>

別のリージョンのデータにアクセスするには、まず Amazon S3 データの場所を登録したリージョンで、データカタログのデータベースとテーブルを設定する必要があります。データカタログのデータベースとテーブルは、自分のアカウントまたは別のアカウントのプリンシパルと共有できます。次に、ユーザーがデータにクエリを実行するリージョンで、ターゲット共有データの場所を指すリソースリンクを作成できるデータレイク管理者を作成する必要があります。

**同じアカウント内の共有データに別のリージョンからクエリを実行するには**

このセクションでは、ターゲット共有テーブルがあるリージョンをリージョン A とし、ユーザーはリージョン B からクエリを実行するものとします。

1. 

**リージョン A (データを作成および共有する場所) でのアカウント設定**

   データレイク管理者は、以下のアクションを実行する必要があります。

   1. Amazon S3 データの場所を登録します。

      詳細については、「[データレイクへの Amazon S3 ロケーションの追加](register-data-lake.md)」を参照してください。

   1.  アカウントでデータベースとテーブルを作成します。管理者以外のユーザーでも、データベースとテーブルを作成するアクセス許可があれば、作成できます。

   1. `Grantable permissions` を使用して、テーブルのデータへのアクセス許可をプリンシパルに付与します。

      詳細については、「[データカタログリソースに対するアクセス許可の付与](granting-catalog-permissions.md)」を参照してください。

1. 

**リージョン B (データにアクセスする場所) でのアカウント設定**

   データレイク管理者は、以下のアクションを実行する必要があります。

   1. リージョン A のターゲット共有テーブルを指すリソースリンクをリージョン B に作成します。**[テーブルを作成]** 画面で、**[共有テーブル所有者のリージョン]** を指定します。  
![\[Create table interface showing options for resource link creation and shared table details.\]](http://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/images/cross-region-resource-link.png)

      データベースやテーブルへのリソースリンクの作成手順については、「[リソースリンクの作成](creating-resource-links.md)」を参照してください。

   1. リージョン B のリソースリンクへの `Describe` アクセス許可を IAM プリンシパルに付与します。

      リソースリンクへのアクセス許可の付与の詳細については、「[リソースリンク許可の付与](granting-link-permissions.md)」を参照してください。

      リージョン B の IAM プリンシパルは、Athena を使用してリンク経由でターゲットテーブルにクエリを実行できます。

**別のリージョンのクロスアカウントデータにアクセスするには**

1. 

**プロデューサー/付与者のアカウント設定**

   データレイク管理者は、以下のアクションを実行する必要があります。

   1. リージョン A でプロデューサー/付与者アカウントを設定します。

   1.  Amazon S3 データの場所をリージョン A に登録します。

   1.  データベースとテーブルを作成します。管理者以外のユーザーでも、テーブルを作成するアクセス許可があれば、作成できます。

   1. `Grantable permissions` を使用して、リージョン A のテーブルのデータへのアクセス許可をコンシューマー/被付与者アカウントに付与します。

      詳細については、「[外部アカウントから AWS アカウント または IAM プリンシパル間で Data Catalog テーブルとデータベースを共有する](cross-account-data-share-steps.md)」を参照してください。

1. 

**コンシューマー/被付与者のアカウント設定**

   データレイク管理者は、以下のアクションを実行する必要があります。

   1.  リージョン A の からリソース共有の招待を受け入れ AWS RAM ます。

   1. 共有テーブルへのリソースリンクをリージョン B に作成します。リージョン B は、ユーザーがテーブルにクエリを実行する場所です。

   1. リージョン A で共有テーブルのデータへのアクセス許可を IAM プリンシパルに付与します。
**注記**  
テーブルを共有したのと同じリージョンで、共有したテーブルにアクセス許可を付与する必要があります。

   1. リージョン B でリソースリンクへのアクセス許可をプリンシパルに付与します。

      リージョン B のコンシューマーアカウントのプリンシパルは、Athena を使用してリージョン B から共有テーブルにクエリを実行します。