

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# AWS リージョン間のデータの共有
<a name="across-region"></a>

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

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

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

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

データ共有を使用するコンシューマーアカウントの管理者は、下記の 3 つの方法のいずれかでデータ共有を関連付けます。
+ AWS リージョン のすべてにまたがった、AWS アカウント全体に対する関連付け
+ AWS アカウント 内の特定の AWS リージョン に対する関連付け
+ AWS リージョン内の特定の名前空間との関連付け

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

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

**プロデューサーアカウントの管理者の場合は**、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/](https://console.aws.amazon.com/redshiftv2/)」にサインインします。その後、他のアカウントから共有されている 1 つ以上のデータ共有を、AWS アカウントや AWS リージョン 全体、または AWS リージョン内の特定の名前空間に関連付けます。詳細については、「[Amazon Redshift で他の AWS アカウントからのデータ共有を関連付ける](writes-associating.md)」を参照してください。

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

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

# クロスリージョンでのデータ共有でコスト管理を行う
<a name="cross-region-billing"></a>

Amazon Redshift では、リージョン間で転送されるデータの量を制限するようにデータ共有を設定することで、AWS リージョン間のデータ共有のコスト制御を管理できます。リージョン間のデータ共有のコストコントロールを管理することで、データ転送制限の設定、データ転送使用状況のモニタリング、および制限に近づいたときまたは超えたときの通知の受信を行うことができます。

別のリージョンのデータを使用する場合、コンシューマーはプロデューサーリージョンからコンシューマーリージョンへのクロスリージョンのデータ転送料を負担します。データ転送の料金は、リージョンによって異なります。この料金は、正常に実行されたクエリごとに、スキャンされたデータのバイト数に基づき決定します。Amazon Redshift 料金の詳細については、[Amazon Redshift の料金](https://aws.amazon.com/redshift/pricing/)を参照してください。

このバイト数は、次のメガバイトに切り上げられて課金され、各クエリにつき 10MB の最小数が適用されます。クエリの使用量に関するコストコントロールを設定すると、クラスター上で転送されるデータ量をクエリごとに表示できます。

クロスリージョンでのデータ共有の使用状況と、それに関連するコストをモニタリングし制御するには、日単位、週単位、月単位の使用制限を作成します。使用量がそれらの制限に達した場合に Amazon Redshift が自動的に実行するアクションを定義することで、予算の予測性を維持できます。

Amazon Redshift が実行するアクションは、設定した使用制限に応じて、システムテーブル対するイベントのログ記録、Amazon SNS を使用しての管理者に対する CloudWatch アラームと通知の送信、そして、他の用途のためのクロスリージョンデータ共有の無効化が行えます。

Amazon Redshift コンソールで使用制限を作成するには、ご使用のクラスターの [**Actions]** (アクション) から **[Configure usage limit]** (使用制限の設定) を選択します。**[Cluster performance]** (クラスターのパフォーマンス) タブ、または **[Monitoring]** (モニタリング) タブから CloudWatch メトリクスを自動生成すると、使用状況の傾向をモニタリングしたり、定義された制限を使用状況が超える場合にアラートを送信させたりできます。また、AWS CLIまたは Amazon Redshift API オペレーションにより、プログラム的に使用制限の作成、変更、および削除が実行できます。