Amazon Redshift でデータ共有を作成する - Amazon Redshift

Amazon Redshift でデータ共有を作成する

データ共有は、データベースオブジェクト、アクセス許可、コンシューマーの論理的なコンテナです。コンシューマーとは、ご利用のアカウントや他の AWS アカウントにある Amazon Redshift のプロビジョニング済みクラスターまたは Amazon Redshift Serverless の名前空間です。各データ共有は、そのデータ共有が作成されたデータベースに関連付けられており、追加できるのはそのデータベースのオブジェクトだけです。プロデューサーの管理者は、コンソールおよび SQL を使用して、次のいずれかの手順でデータ共有を作成できます。

Console

コンソールでは、クラスターまたは名前空間の詳細ページの [データ共有] タブからデータ共有を作成できます。データ共有が作成されたら、コンシューマーでコンシューマー管理者として、データ共有からデータベースを作成できます。

  1. AWS Management Consoleにサインインして、https://console.aws.amazon.com/redshiftv2/ で Amazon Redshift コンソールを開きます。

  2. ナビゲーションメニューで [Clusters] (クラスター) を選択してから、ご使用のクラスターを選択します。クラスターの詳細ページが表示されます。

  3. クラスターまたは名前空間の詳細ページで、[データ共有] タブの [データ共有] セクションで、データベースに接続していない場合は接続します。[アカウントで作成されたデータ共有] セクションで、[データ共有を作成] を選択します。[データ共有を作成] ページが表示されます。

  4. [データ共有を作成] を選択します。データ共有はローカルデータベースからのみ作成できます。データベースに接続していない場合は、[データベースに接続] ページが表示されます。データベースへの接続 の手順に従って、データベースに接続します。最近接続したことがある場合は、[データ共有を作成] ページが表示されます。

  5. [Datashare information] (データ共有情報) セクションで、以下のいずれかのオプションを選択します。

    • 異なる Amazon Redshift データウェアハウス (プロビジョニング済みクラスターまたは Serverless エンドポイント) 間、または同じ AWS アカウント 内や異なる AWS アカウント 内でデータを共有し、読み書きを行うためのデータ共有を作成する場合は、[データ共有] を選択します。

    • [AWS Data Exchange datashare] ( データ共有) を選択し、AWS Data Exchange経由でデータをライセンスするためのデータ共有を作成します。

  6. [Datashare name] (データ共有名)、[Database name] (データベース名)、および [Publicly accessible] (パブリックにアクセス可能) の値を指定します。データベース名を変更するときは、新しいデータベース接続を作成します。

  7. [範囲指定された許可] セクションまたは [直接アクセス許可] セクションを使用して、データ共有にオブジェクトを追加します。データ共有にオブジェクトを追加するには、「Amazon Redshift でデータ共有を作成する」を参照してください。

  8. [データコンシューマー] セクションでは、Amazon Redshift に公開するか、AWS Glue Data Catalog に公開するかを選択できます。後者に公開すると、Lake Formation を介してデータを共有するプロセスが始まります。データ共有を Amazon Redshift に公開した場合は、コンシューマーとして機能する別の名前空間や Amazon Redshift アカウントとデータが共有されることになります。

    注記

    データ共有が作成されると、設定を編集して他のオプションに公開することはできません。

  9. [データ共有を作成] を選択します。

SQL

次のコマンドでデータ共有が作成されます。

CREATE DATASHARE salesshare;

データ共有を作成した時点で、各データ共有にはデータベースが関連付けられます。そのデータベースのオブジェクトのみがそのデータ共有で共有できます。同じデータベース上に、同じ粒度または異なる粒度のオブジェクトを使用して、複数のデータ共有を作成できます。クラスターが作成できるデータ共有の数に制限はありません。Amazon Redshift コンソールを使用してデータ共有を作成することもできます。詳細については、「CREATE DATASHARE」を参照してください。

また、データ共有の作成中に、セキュリティ制限を管理することもできます。次の例では、パブリック IP アクセスを持つコンシューマーに、データ共有の読み取りを許可しています。

CREATE DATASHARE my_datashare [PUBLICACCESSIBLE = TRUE];

PUBLICACCESSIBLE = TRUE に設定すると、コンシューマーは、パブリックにアクセス可能なクラスターやプロビジョニングされたワークグループからデータ共有をクエリできます。許可しない場合は、これを除外するか、明示的に false に設定してください。

データ共有の作成後に、コンシューマーのタイプに関するプロパティを変更できます。例えば、特定のデータ共有からデータを使用するクラスターは、公開でアクセスできないように定義できます。データ共有で指定されたセキュリティ制限を満たさないコンシューマークラスターからのクエリは、クエリランタイムで拒否されます。詳細については、「ALTER DATASHARE」を参照してください。