AWS リージョン間のデータの共有 - Amazon Redshift

AWS リージョン間のデータの共有

AWS リージョン 内の Amazon Redshift クラスター間で、読み取りのためにデータを共有することができます。クロスリージョンのデータ共有を使用すると AWS リージョン 間でデータを共有できます。データを手動でコピーする必要はありません。データを Amazon S3 にアンロードし、新しい Amazon Redshift クラスターにデータをコピーしたり、クロスリージョンでスナップショットのコピーを実行したりする必要はありません。

クロスリージョンのデータ共有を使用すると、クラスターが異なるリージョンにある場合でも、同じ AWS アカウント内、または異なる AWS アカウント内のクラスター全体でデータを共有できます。同じ AWS アカウント 内の異なる AWS リージョン にある Amazon Redshift クラスターでデータを共有する際も、従うワークフローは AWS アカウント 内でデータを共有する場合と同じです。詳細については、「AWS アカウント 内のデータへの読み取りアクセスの共有」を参照してください。

データを共有するクラスターが、異なる AWS アカウント や AWS リージョン にある場合には、AWS アカウントの間でデータを共有する場合と同様のワークフローに従います。加えて、コンシューマークラスターにリージョンレベルの関連付けを含めます。クロスリージョンのデータ共有では、AWS アカウントおよび AWS リージョン全体、または AWS リージョン内の特定の名前空間にデータ共有を関連付けることができます。AWS アカウント 間でのデータ共有の詳細については、「AWS アカウント間のデータの共有」を参照してください。

別のリージョンのデータを使用する場合、コンシューマーはプロデューサーリージョンからコンシューマーリージョンへのクロスリージョンのデータ転送料を負担します。

データ共有を使用するコンシューマーアカウントの管理者は、下記の 3 つの方法のいずれかでデータ共有を関連付けます。

  • AWS リージョン のすべてにまたがった、AWS アカウント全体に対する関連付け

  • AWS アカウント 内の特定の AWS リージョン に対する関連付け

  • AWS リージョン内の特定の名前空間との関連付け

管理者が AWS アカウント全体を選択した場合は、そのアカウント内の異なる AWS リージョンをまたいで、既存または将来のすべての名前空間がデータ共有にアクセスできるようになります。コンシューマーアカウントの管理者は、特定の AWS リージョンやリージョン内の名前空間を選択して、データ共有へのアクセス権を付与することも可能です。

プロデューサー管理者またはデータベース所有者である場合は、データ共有を作成した上でデータベースオブジェクトとデータコンシューマーを追加し、それらのデータコンシューマーにアクセス許可を付与します。詳細については、「プロデューサー管理者のアクション」を参照してください。

プロデューサーアカウントの管理者の場合は、AWS Command Line Interface(AWS CLI) もしくは Amazon Redshift コンソールを使用してデータ共有を認可し、データコンシューマーを選択します。

コンシューマーアカウントの管理者である場合 – 以下のステップに従います。

他のアカウントから共有されている 1 つまたは複数のデータ共有を、AWS アカウント全体、特定の AWS リージョン、または AWS リージョン内の名前空間に関連付けるには、Amazon Redshift コンソールを使用します。

クロスリージョンのデータ共有では、AWS Command Line Interface (AWS CLI) または Amazon Redshift コンソールを使用して、クラスターを特定の AWS リージョンに追加できます。

1 つ以上の AWS リージョンを指定する場合は、consumer-regionオプションを指定しながら CLI コマンドの associate-data-share-consumer を使用します。

次の CLI による例では、associate-entire-account オプションを使用して、AWS アカウント全体に Salesshare を関連付けています。一度に関連付けることができるリージョンは 1 つだけです。

aws redshift associate-data-share-consumer --region {PRODUCER_REGION} --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --associate-entire-account

次の例では、Salesshareを米国東部 (オハイオ) リージョン (us-east-2) に関連付けています。

aws redshift associate-data-share-consumer --region {PRODUCER_REGION} --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:0123456789012:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --consumer-region 'us-east-2'

次の例では、アジアパシフィック (シドニー) リージョン (ap-southeast-2) にある、別の AWS アカウントの特定のコンシューマー名前空間に、Salesshare を関連付けています。

aws redshift associate-data-share-consumer --data-share-arn arn:aws:redshift:{PRODUCER_REGION}:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/Salesshare --consumer-arn 'arn:aws:redshift:ap-southeast-2:{CONSUMER_ACCOUNT}:namespace:{ConsumerImmutableClusterId}'

Amazon Redshift コンソールを使用すると、AWS アカウント全体または特定の AWS リージョン、あるいは AWS リージョン内の名前空間にデータ共有を関連付けることができます。これを行うには、「https://console.aws.amazon.com/redshiftv2/」にサインインします。その後、他のアカウントから共有されている 1 つ以上のデータ共有を、AWS アカウントや AWS リージョン 全体、または AWS リージョン内の特定の名前空間に関連付けます。詳細については、「Amazon Redshift で他の AWS アカウントからのデータ共有を関連付ける」を参照してください。

AWS アカウント または特定の名前空間が関連付けられたら、データ共有を利用できるようになります。データ共有の関連付けはいつでも変更できます。関連付け先を個々の名前空間から AWS アカウントに変更すると、Amazon Redshift が名前空間を AWS アカウントの情報で上書きします。関連付け先を AWS アカウントから特定の名前空間に変更すると、Amazon Redshift が AWS アカウントの情報を名前空間の情報で上書きします。関連付け先を AWS アカウント 全体から特定の AWS リージョンや名前空間に変更すると、Amazon Redshift が AWS アカウント の情報を特定のリージョンまたは名前空間の情報で上書きします。

コンシューマー管理者の場合は、データ共有を参照するローカルデータベースを作成できます。また、データ共有から作成したデータベースに対するアクセス許可を、必要に応じてコンシューマークラスター内のユーザーまたはロールに付与できます。さらに、共有オブジェクトに関するビューや参照するための外部スキーマを作成できます。また、コンシューマークラスターにインポートされたコンシューマデータベース内の特定のスキーマに対しては、詳細なアクセス許可を割り当てることができます。詳細については、「コンシューマー管理者のアクション」を参照してください。