Amazon Redshift でデータ共有を作成する
データ共有は、データベースオブジェクト、アクセス許可、コンシューマーの論理的なコンテナです。コンシューマーとは、ご利用のアカウントや他の AWS アカウントにある Amazon Redshift のプロビジョニング済みクラスターまたは Amazon Redshift Serverless の名前空間です。各データ共有は、そのデータ共有が作成されたデータベースに関連付けられており、追加できるのはそのデータベースのオブジェクトだけです。プロデューサーの管理者は、コンソールおよび SQL を使用して、次のいずれかの手順でデータ共有を作成できます。
- Console
-
コンソールでは、クラスターまたは名前空間の詳細ページの [データ共有] タブからデータ共有を作成できます。データ共有が作成されたら、コンシューマーでコンシューマー管理者として、データ共有からデータベースを作成できます。
AWS Management Consoleにサインインして、https://console.aws.amazon.com/redshiftv2/
で Amazon Redshift コンソールを開きます。 -
ナビゲーションメニューで [Clusters] (クラスター) を選択してから、ご使用のクラスターを選択します。クラスターの詳細ページが表示されます。
-
クラスターまたは名前空間の詳細ページで、[データ共有] タブの [データ共有] セクションで、データベースに接続していない場合は接続します。[アカウントで作成されたデータ共有] セクションで、[データ共有を作成] を選択します。[データ共有を作成] ページが表示されます。
-
[データ共有を作成] を選択します。データ共有はローカルデータベースからのみ作成できます。データベースに接続していない場合は、[データベースに接続] ページが表示されます。データベースへの接続 の手順に従って、データベースに接続します。最近接続したことがある場合は、[データ共有を作成] ページが表示されます。
-
[Datashare information] (データ共有情報) セクションで、以下のいずれかのオプションを選択します。
-
異なる Amazon Redshift データウェアハウス (プロビジョニング済みクラスターまたは Serverless エンドポイント) 間、または同じ AWS アカウント 内や異なる AWS アカウント 内でデータを共有し、読み書きを行うためのデータ共有を作成する場合は、[データ共有] を選択します。
-
[AWS Data Exchange datashare] ( データ共有) を選択し、AWS Data Exchange経由でデータをライセンスするためのデータ共有を作成します。
-
-
[Datashare name] (データ共有名)、[Database name] (データベース名)、および [Publicly accessible] (パブリックにアクセス可能) の値を指定します。データベース名を変更するときは、新しいデータベース接続を作成します。
-
[範囲指定された許可] セクションまたは [直接アクセス許可] セクションを使用して、データ共有にオブジェクトを追加します。データ共有にオブジェクトを追加するには、「Amazon Redshift でデータ共有を作成する」を参照してください。
-
[データコンシューマー] セクションでは、Amazon Redshift に公開するか、AWS Glue Data Catalog に公開するかを選択できます。後者に公開すると、Lake Formation を介してデータを共有するプロセスが始まります。データ共有を Amazon Redshift に公開した場合は、コンシューマーとして機能する別の名前空間や Amazon Redshift アカウントとデータが共有されることになります。
注記
データ共有が作成されると、設定を編集して他のオプションに公開することはできません。
-
[データ共有を作成] を選択します。
- SQL
-
次のコマンドでデータ共有が作成されます。
CREATE DATASHARE salesshare;
データ共有を作成した時点で、各データ共有にはデータベースが関連付けられます。そのデータベースのオブジェクトのみがそのデータ共有で共有できます。同じデータベース上に、同じ粒度または異なる粒度のオブジェクトを使用して、複数のデータ共有を作成できます。クラスターが作成できるデータ共有の数に制限はありません。Amazon Redshift コンソールを使用してデータ共有を作成することもできます。詳細については、「CREATE DATASHARE」を参照してください。
また、データ共有の作成中に、セキュリティ制限を管理することもできます。次の例では、パブリック IP アクセスを持つコンシューマーに、データ共有の読み取りを許可しています。
CREATE DATASHARE my_datashare [PUBLICACCESSIBLE = TRUE];
PUBLICACCESSIBLE = TRUE に設定すると、コンシューマーは、パブリックにアクセス可能なクラスターやプロビジョニングされたワークグループからデータ共有をクエリできます。許可しない場合は、これを除外するか、明示的に false に設定してください。
データ共有の作成後に、コンシューマーのタイプに関するプロパティを変更できます。例えば、特定のデータ共有からデータを使用するクラスターは、公開でアクセスできないように定義できます。データ共有で指定されたセキュリティ制限を満たさないコンシューマークラスターからのクエリは、クエリランタイムで拒否されます。詳細については、「ALTER DATASHARE」を参照してください。