データ共有とは - Amazon Redshift

データ共有とは

データ共有は、Amazon Redshift でデータを共有する単位です。同じ AWS アカウントまたは異なる AWS アカウント間でデータを使用するには、データ共有を使用します。また、異なる Amazon Redshift クラスター間で、読み取りのためにデータを共有することもできます。

各データ共有は、Amazon Redshift クラスター内の特定のデータベースに関連付けられます。

プロデューサークラスター管理者は、データ共有を作成し、データベースオブジェクトを追加して、他のクラスターとデータを共有できます。これはアウトバウンド共有と呼ばれます。コンシューマー管理者は、他のクラスターからデータ共有を受け取ることができます。これはインバウンド共有と呼ばれます。プロデューサーとコンシューマーの詳細については、「データ共有のプロデューサーとコンシューマー」を参照してください。

データ共有オブジェクトは、クラスター上の特定のデータベースからのオブジェクトであり、プロデューサークラスターの管理者がデータ共有に追加してデータコンシューマーと共有することができます。データ共有オブジェクトは、データコンシューマーに対して読み取り専用です。データ共有オブジェクトの例には、テーブル、ビュー、およびユーザー定義関数があります。データ共有の作成中またはデータ共有の編集中に、いつでもデータ共有オブジェクトをデータ共有に追加できます。

クラスターがサイズ変更されるか、プロデューサークラスターが一時停止されても、データ共有は引き続き機能します。

データ共有にはさまざまな種類があります。

標準データ共有

標準データ共有を使用すると、プロビジョニングされたクラスター、サーバーレスワークグループ、アベイラビリティーゾーン、AWS アカウント、および AWS リージョン の間でデータを共有できます。クラスタータイプ間およびプロビジョニングされたクラスターと Amazon Redshift Serverless 間で共有できます。

データを共有するには、以下のプロビジョニング済みクラスター、サーバーレス名前空間、および AWS アカウント 識別子を書き留めます。

  • プロビジョニングされたクラスターの名前空間は、Amazon Redshift でプロビジョニングされたクラスターを識別する識別子です。名前空間のグローバル一意識別子 (GUID) は、プロビジョニングされたクラスターの作成中に自動的に作成され、クラスターにアタッチされます。Amazon リソースネーム (ARN) の名前空間は、arn:{partition}:redshift:{region}:{account-id}:namespace:{namespace-guid} の形式です。プロビジョニングされたクラスターの名前空間は、Amazon Redshift コンソールのクラスター詳細ページで確認できます。

    データ共有ワークフローでは、AWS アカウント内にあるクラスターとのデータの共有に名前空間の GUID 値とクラスター名前空間 の ARN が使用されます。current_namespace 関数を使用して、現在のクラスターの名前空間を見つけることもできます。

  • サーバーレス名前空間は、Amazon Redshift Serverless を識別する識別子です。名前空間のグローバル一意識別子 (GUID) は、Amazon Redshift Serverless の作成中に自動的に作成され、インスタンスにアタッチされます。サーバーレス名前空間 ARN は、arn:{partition}:redshift-serverless:{region}:{account-id}:namespace/{namespace-guid} の形式です。

  • AWS アカウントはデータ共有のコンシューマーにすることができ、それぞれが 12 桁の AWS アカウント ID で表されます。

標準データ共有の場合、以下の点を考慮してください。

  • プロデューサークラスターが削除されると、Amazon Redshift はプロデューサークラスターによって作成されたデータ共有を削除します。プロデューサークラスターをバックアップおよび復元しても、作成されたデータ共有は復元されたクラスターに残ります。ただし、他のクラスターに付与されたデータ共有のアクセス許可は、復元されたクラスターでは無効になります。データ共有の使用許可を目的のコンシューマークラスターに再付与します。コンシューマークラスター上のコンシューマデータベースは、スナップショットが作成された元のクラスターからのデータ共有を指します。復元されたクラスターから共有データをクエリするには、コンシューマークラスター管理者は別のデータベースを作成する必要があります。この管理者はまた、既存のコンシューマーデータベースを削除および再作成して、新しく復元されたクラスターのデータ共有を使用することもできます。

  • コンシューマークラスターが、削除された後にスナップショットから復元された場合は、このクラスターに共有されていた以前のアクセスは無効になり、表示されなくなります。復元されたコンシューマークラスターで引き続きデータ共有へのアクセスが必要な場合、プロデューサクラスターの管理者は、復元されたコンシューマークラスターに対し、データ共有の使用を再度許可する必要があります。コンシューマークラスター管理者は、無効化されたデータ共有から作成された古いコンシューマデータベースを、すべて削除する必要があります。さらにこの管理者は、プロデューサーがアクセス許可を再付与した後に、データ共有からコンシューマーデータベースを再作成する必要があります。復元されたクラスターのクラスター名前空間 GUID は元のクラスターとは異なるため、コンシューマークラスターまたはプロデューサークラスターがバックアップから復元されたときにデータ共有の許可を再付与します。

データ共有のプロデューサーとコンシューマー

データプロデューサー (データ共有プロデューサーまたはデータシェアプロデューサーとも言う) は、データを共有するクラスターです。プロデューサークラスターの管理者とデータベースの所有者は、CREATE DATASHARE コマンドを使用してデータ共有を作成できます。そこにスキーマ、テーブル、ビュー、SQL ユーザー定義関数 (UDF) などのオブジェクトをデータベースから追加すると、そのデータベースのプロデューサークラスターとコンシューマークラスターが、データを共有できるようになります。

AWS Data Exchange データ共有のためのデータプロデューサー (AWS Data Exchange 上ではプロバイダーとも呼ばれます) は、AWS Data Exchangeを介してデータをライセンスできます。承認されたプロバイダーは、AWS Data Exchange製品に AWS Data Exchange データ共有を追加できます。

AWS Data Exchange データ共有が含まれる製品を顧客がサブスクライブすると、AWS Data Exchangeはその顧客をデータコンシューマーとして、製品に含まれるすべての AWS Data Exchange データ共有に自動的に追加します。AWS Data Exchange は、顧客のサブスクリプションが終了すると、AWS Data Exchangeデータ共有からそれらの顧客全員を削除します。AWS Data Exchange は、AWS Data Exchangeデータ共有が含まれる有料製品に関する料金の請求、請求書の発行、支払いの回収、および支払いの分配も自動的に管理します。詳細については、「AWS Data Exchange データ共有」を参照してください。AWS Data Exchange のデータプロバイダとしての登録については、「Getting started as a provider」を参照してください。

データコンシューマ (データ共有コンシューマまたはデータシェアコンシューマとも言う) は、プロデューサクラスターからデータ共有を受信するクラスターです。

データを共有する Amazon Redshift の各クラスターは、同じあるいは別の AWS アカウントに置くことも、異なる AWS リージョンに置くこともできます。これにより、組織間でのデータ共有や、他のチームとの共同作業が可能になります。コンシューマークラスターの管理者は、使用が許可されているデータ共有を受け取り、各データ共有の内容を確認します。共有データを使用するために、コンシューマークラスターの管理者はデータ共有から Amazon Redshift データベースを作成します。次に、管理者はデータベースに対するアクセス許可をコンシューマークラスター内のユーザーおよびロールに割り当てます。アクセス許可が付与されると、ユーザーとロールは、コンシューマークラスター上のローカルデータとともに、標準のメタデータクエリの一部として共有オブジェクトを一覧表示できます。すぐにクエリを開始できます。

アクティブな AWS Data Exchange サブスクリプションを持つコンシューマー (AWS Data Exchange ではサブスクライバーとも呼ばれます) である場合は、データを抽出、変換、ロードすることなく、詳細かつ最新の Amazon Redshift データを検索、サブスクライブ、クエリすることが可能です。詳細については、「AWS Data Exchange データ共有」を参照してください。