

 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/)を参照してください。

# スナップショットと復旧ポイント
<a name="serverless-snapshots-recovery-points"></a>

Amazon Redshift Serverless のバックアップは、名前空間内のオブジェクトとデータをポイントインタイムの表現です。バックアップには、手動で作成されるスナップショットと、Amazon Redshift Serverless が自動的に作成する復旧ポイントの 2 種類があります。

Amazon Redshift Serverless は、30 分ごと、またはノードあたり 5 GB のデータ変更があった時点のいずれか早い方で復旧ポイントを自動的に作成します。大規模なデータセット (5 GB × ノード数を超える) の場合、復旧ポイント間の最小間隔は 15 分です。すべての復旧ポイントは 24 時間保持されます。

**注記**  
独自のスナップショットスケジュールを作成して復旧ポイントの作成タイミングを制御することはできません。

Amazon Redshift Serverless は、Redshift マネージドストレージ (RMS) にスナップショットを作成します。詳細については、「[Amazon Redshift Serverless 容量を計算する](serverless-capacity.md)」を参照してください。

**注記**  
RA3 でプロビジョニングされたクラスターと Amazon Redshift Serverless ワークグループでは、バックアップ用ではないテーブルはサポートされていません。RA3 クラスターおよびサーバーレスワークグループでバックアップしないとマークされたテーブルは、スナップショットの作成中に常にバックアップされ、スナップショットから復元するときに復元される永続テーブルとして扱われます。バックアップ用ではないテーブルのスナップショットコストを回避するには、スナップショットを作成する前にそれらを切り捨てます。

スナップショットまたは復旧ポイントのデータを取得する場合は、サーバーレス名前空間またはプロビジョン済みのクラスターにスナップショットを復元できます。スナップショットを復元するには、次の 3 つのシナリオがあります。
+ サーバーレススナップショットをサーバーレス名前空間に復元します。
+ サーバーレススナップショットをプロビジョニングされたクラスターに復元します。
+ プロビジョニングされたクラスタースナップショットをサーバーレス名前空間に復元します。

プロビジョン済みのクラスターにサーバーレス スナップショットを復元する場合は、使用するノードタイプ (RA3 など) とノードの数を選択する必要があります。これにより、クラスターまたはノードレベルで設定を制御できます。

プロビジョニングされたクラスターのスナップショットをサーバーレス名前空間に復元するには、Redshift プロビジョニングコンソールから開始し、復元するスナップショットを選択して、**[Restore from snapshot]** (スナップショットからの復元)、**[Restore to serverless namespace]** (サーバーレス名前空間に復元する) を選択します。プロビジョニングされたクラスタースナップショットをサーバーレス名前空間に復元すると、Amazon Redshift はインターリーブキーを含むテーブルを複合ソートキーに変換します。ソートキーの詳細については、「[ソートキーの使用](https://docs.aws.amazon.com//redshift/latest/dg/t_Sorting_data.html)」を参照してください。

さらにコンテキストを追加したい場合は、スナップショットとリカバリポイントにメタデータと情報を提供するキーと値のペアでスナップショットとリカバリポイントにタグを付けることができます。リソースへのタグ付けの詳細については、「[リソースのタグ付けの概要](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-tagging-resources.html)」を参照してください。

最後に、スナップショットを他の AWS アカウントと共有することもできます。これにより、スナップショット内のデータにアクセスし、クエリを実行できるようになります。

## AWS Backup の統合
<a name="serverless-backup"></a>

AWS Backup を使用してスナップショットを作成および復元することもできます。Backup は、AWS のサービス、クラウド、オンプレミスにわたってデータ保護の一元化と自動化に役立つフルマネージドサービスです。詳細については、「[AWS Backup と Amazon Redshift の統合](managing-aws-backup.md)」を参照してください。AWS Backup の詳細については、「*AWS Backup Developer Guide*」の「[What is AWS Backup?](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)」を参照してください。

# スナップショットの作成
<a name="serverless-snapshots"></a>

**注記**  
RA3 でプロビジョニングされたクラスターと Amazon Redshift Serverless ワークグループでは、バックアップ用ではないテーブルはサポートされていません。RA3 クラスターおよびサーバーレスワークグループでバックアップしないとマークされたテーブルは、スナップショットの作成中に常にバックアップされ、スナップショットから復元するときに復元される永続テーブルとして扱われます。バックアップ用ではないテーブルのスナップショットコストを回避するには、スナップショットを作成する前にそれらを切り捨てます。

スナップショットを作成するには、以下の手順を実行します。

**スナップショットを作成する方法**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. **[Create snapshot]** (スナップショットを作成) を選択します。

1. スナップショットを作成する名前空間を選択します。

1. スナップショット ID を入力します。

1. (オプション) 保持期間を選択します。**[Custom value]** (カスタム値) を選択した場合は、日数を選択します。選択する値は、1 ～ 3,653 日の間でなければなりません。デフォルトは [retain indefinitely] (無期限に保持) です。

1. **[作成]** を選択します。

**名前空間の設定からスナップショットを作成するには**

1. Amazon Redshift Serverless コンソールで、**[Namespace configuration]** (名前空間の設定) を選択します。

1. スナップショットを作成する名前空間を選択します。作成できるのは、ワークグループに関連付けられ、ステータスが [Available] (使用可能) の名前空間のスナップショットのみです。

1. **[Data backup]** (データバックアップ) タブを選択します。

1. [**スナップショットを作成**] を選択します。

1. スナップショット ID を入力します。

1. (オプション) 保持期間を選択します。**[Custom value]** (カスタム値) を選択した場合は、日数を選択します。選択する値は、1 ～ 3,653 日の間でなければなりません。

1. **[作成]** を選択します。

# 最終スナップショットの作成
<a name="serverless-snapshot-create-final"></a>

名前空間を削除する前に、名前空間内のすべてのデータの最終スナップショットを作成するには、以下の手順に従います。

**最終スナップショットを作成するには**

1. Amazon Redshift Serverless コンソールで、**[Namespace configuration]** (名前空間の設定) を選択します。

1. 削除する名前空間を選択します。

1. **[アクション]**、**[削除]** の順に選択します。

1. **[Create final snapshot]** (最終スナップショットの作成) を選択します。

1. スナップショットの名前を入力します。

1. delete (削除) と入力します。

1. **[削除]** を選択します。

# スナップショットを共有またはスナップショットのアクセス許可を削除
<a name="serverless-snapshot-share"></a>

スナップショットを別の AWS アカウントと共有したり、スナップショットへのアカウントのアクセス権を削除したりするには、以下の手順に従います。

**スナップショットへのアクセスを共有または削除するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 共有するスナップショットを選択します。

1. **[Action]** (アクション)、**[Manage access]** (アクセスの管理) の順にクリックします。

1. 別のアカウントとスナップショットを共有するには、**[AWS アカウント ID]** を入力します。アカウントからアクセス権を削除するには、**[削除]** を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

# スナップショットをスケジュールする
<a name="serverless-snapshot-scheduling"></a>

スナップショットを作成するタイミングを正確に制御するために、特定の名前空間のスナップショットスケジュールを作成できます。スナップショットの作成をスケジュールする場合、1 回限りのイベントを作成することも、Unix の cron 式を使用して定期的なスケジュールを作成することもできます。Cron 式では、空白文字区切りの 3 つのフィールドをサポートします。

```
cron(Minutes Hours Day-of-month Month Day-of-week Year)
```


| **フィールド** | **値** | **ワイルドカード** | 
| --- | --- | --- | 
|  分  |  0～59  |  , - \$1 /   | 
|  時間  |  0～23  |  , - \$1 /   | 
|  日  |  1～31  |  , - \$1 ? / L W  | 
|  月  |  1～12 または JAN～DEC  |  , - \$1 /  | 
|  曜日  |  1～7 または SUN～SAT  |  , - \$1 ? L \$1  | 
|  年  |  1970～2199  |  , - \$1 /  | 

**ワイルドカード**
+ ワイルドカード [**,**] (カンマ) には追加の値が含まれます。`Day-of-week` フィールドの、`MON,WED,FRI` は、月曜日、水曜日、金曜日を含みます。合計値はフィールドあたり 24 に制限されています。
+ ワイルドカード [**-**] (ダッシュ) は範囲を指定します。`Hour` フィールドの、「1～15」は、指定した日の 1 時間から 15 時間を含みます。
+ ワイルドカード [**\$1**] (アスタリスク) にはフィールドのすべての値が含まれます。`Hours` フィールドの、**\$1** にはすべての時間が含まれています。
+ ワイルドカード [**/**] (スラッシュ) で増分を指定します。`Hours` フィールドで、**1/10** と入力して、その日の最初の時間から始めて、10 時間毎を指定できます (01:00、11:00、21:00 など)。
+ **[?]** (疑問符) のワイルドカードは、任意を意味します。`Day-of-month` フィールドで **7** と入力し、7 日が何曜日であってもかまわない場合、Day-of-week フィールドに **?** を入力できます。
+ `Day-of-month` フィールドまたは `Day-of-week` フィールドにある **[L]** のワイルドカードは、月または週の最終日を指定します。
+ `Day-of-month` フィールドの、ワイルドカード **W** は、平日を指定します。`Day-of-month` フィールドで、`3W` は月の 3 番目の平日に最も近い日を指定します。
+ Day-of-week フィールドの **\$1** ワイルドカードは、月の指定された曜日の特定のインスタンスを指定します。例えば、3\$12 は、月の第 2 火曜日を示します。3 は週の 3 番目の日 (火曜日) を示し、2 は月のそのタイプの 2 番目の日を示します。
**注記**  
「\$1」文字を使用する場合、曜日フィールドには 1 つの式しか定義できません。例えば、「3\$11,6\$13」は 2 つの式として解釈されるため、無効です。

**制限**
+ Cron 式の `Day-of-month` フィールドと `Day-of-week` フィールドを同時に指定することはできません。一方のフィールドに値を指定する場合、もう一方のフィールドで **[?]** (疑問符) を使用する必要があります。
+ スナップショットスケジュールは以下の頻度をサポートしていません。
  + 1 時間に 1 回を超える頻度でスケジュールされるスナップショット。
  + 1 日 (24 時間) に 1 回未満の頻度でスケジュールされるスナップショット。

  1 時間以内にスナップショットをスケジュールする結果になる重複したスケジュールがある場合、検証エラーが発生します。

cron 文字列の例は、次の表のとおりです。


| 分 | 時間 | 曜日 | 意味 | 
| --- | --- | --- | --- | 
|  0  |  14-20/1  |  火  |  毎週火曜日の午後 2 時から午後 8 時の間。  | 
|  0  |  21  |  MON-FRI   |  毎晩、月曜日～金曜日の午後9時。  | 
|  30  |  0/6  |  土 - 日  |  土曜日と日曜日は、その日の深夜 30 分過ぎ (00:30) から、6 時間ごとに増分されます。これにより、各日とも [00:30、06:30、12:30、および 18:30] にスナップショットが作成されます。  | 
|  30  |  12/4  |  \$1  |  毎日 12:30 から 4 時間ごとに増分します。これにより [12:30、16:30、20:30] となります。  | 

毎日 15:15 から 2 時間ずつ実行するスケジュールを作成する方法は、次の例のとおりです。

```
 cron(15 15/2 *)
```

スナップショットスケジュールの作成には、Amazon Redshift Serverless コンソール、API、または AWS CLI を使用できます。

**スナップショットをスケジュールするには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. **[スナップショットスケジュール]** を選択します。

1. **[スケジュールを作成]** を選択します。

1. スナップショットスケジュールの名前を入力します。

1. スナップショットを作成する名前空間を選択します。

1. スケジュールの cron 式を入力するか、スケジュールビルダーを使用して作成します。

1. (オプション) 保持期間を選択します。**[カスタム値]** を選択した場合は、日数を指定します。

1. **[スケジュールを作成]** を選択します。

# スナップショットの保持期間を更新する
<a name="serverless-snapshot-update"></a>

スナップショットの保持期間を更新するには、次の手順を実行します。

**スナップショットの保持期間を更新するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 更新するスナップショットを選択します。

1. **[Actions]** (アクション)、**[Set manual snapshot settings]** (手動スナップショット設定) の順に選択します。

1. 保持期間を選択します。**[Custom value]** (カスタム値) を選択した場合は、日数を選択します。

1. **[Save changes]** (変更の保存) をクリックします。

# スナップショットの削除
<a name="serverless-snapshot-delete"></a>

スナップショットを削除するには、次の手順を実行します。

**スナップショットを削除するには**
**注記**  
別のアカウントと共有しているスナップショットは削除できません。スナップショットを削除する前に、まず、そのアカウントのスナップショットへのアクセス権を削除する必要があります。

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 削除するスナップショットを選択します。

1. **[Actions]** (アクション) で、**[Delete]** (削除) を選択します。

1. [**削除**] を選択します。

# スナップショットの復元
<a name="serverless-snapshot-restore"></a>

**注記**  
RA3 でプロビジョニングされたクラスターと Amazon Redshift Serverless ワークグループでは、バックアップ用ではないテーブルはサポートされていません。RA3 クラスターおよびサーバーレスワークグループでバックアップしないとマークされたテーブルは、スナップショットの作成中に常にバックアップされ、スナップショットから復元するときに復元される永続テーブルとして扱われます。バックアップ用ではないテーブルのスナップショットコストを回避するには、スナップショットを作成する前にそれらを切り捨てます。

サーバーレス名前空間にスナップショットを復元すると、現在のデータベースがスナップショット内のデータベースに置き換えられます。

サーバーレス名前空間へのスナップショットの復元は、2 つの段階で行われます。最初の段階は数分で完了します。この段階では、データを名前空間に復元し、クエリで使用できるようにします。2 番目の段階では、データベースのチューニングが行われ、小さなパフォーマンスの問題が発生する可能性があります。この 2 番目の段階は、数時間から数日、場合によっては数週間必要となる場合があります。この処理時間の長さはデータのサイズによって異なりますが、データベースのチューニングが進むと、パフォーマンスは徐々に向上します。この段階の終了時には、サーバーレス名前空間が完全にチューニングされ、クエリの送信時にパフォーマンスが発生しません。

**スナップショットをサーバーレス名前空間に復元するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 復元するスナップショットを選択します。一度に復元できるのは 1 つのスナップショットのみです。

1. **[Actions]** (アクション)、**[Restore to serverless namespace]** (サーバーレス名前空間に復元する) の順に選択します。

1. 復元先に使用可能な名前空間を選択します。ステータスが [Available] (使用可能) の名前空間にのみ復元できます。

1. **[復元]** を選択します。

**スナップショットをプロビジョニングされたクラスターに復元するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 復元するスナップショットを選択します。

1. **[Actions]** (アクション)、**[Restore to provisioned cluster]** (プロビジョニングされたクラスターに復元する) の順に選択します。

1. クラスター識別子を入力します。

1. **[Node type]** (ノードタイプ) を選択します。ノード数は、ノードタイプによって異なります。

1. コンソールページの指示に従って **[Cluster configuration]** (クラスター設定)のプロパティを入力します。詳細については、「[クラスターの作成](https://docs.aws.amazon.com//redshift/latest/mgmt/create-cluster.html)」を参照してください。

プロビジョン済みクラスター上のスナップショットの詳細については、「[Amazon Redshift のスナップショットとバックアップ](https://docs.aws.amazon.com//redshift/latest/mgmt/working-with-snapshots.html)」を参照してください。

# 復旧ポイントの変換
<a name="serverless-recovery-point-convert"></a>

Amazon Redshift Serverless の復旧ポイントは約 30 分ごとに作成され、24 時間保存されます。復旧ポイントをスナップショットに変換するには、以下の手順を実行します。

**復旧ポイントをスナップショットに変換するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. **復旧ポイント**で、スナップショットに変化する復旧ポイントの **[Creation time]** (作成時刻) を選択します。

1. **[Create snapshot from recovery point]** (復旧ポイントからスナップショットを作成する) を選択します。

1. **スナップショット ID** を入力します。

1. **[作成]** を選択します。

# 復旧ポイントの復元
<a name="serverless-recovery-point-restore"></a>

Amazon Redshift Serverless の復旧ポイントは約 30 分ごとに作成され、24 時間保存されます。復旧ポイントをサーバーレス名前空間に復元するには、次の手順の手順を実行します。

**サーバーレス名前空間を復旧ポイントに復元するには**

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. **復旧ポイント**で、復元する復旧ポイントの **[Creation time]** (作成時刻) を選択します。

1. **[復元]** を選択します。ステータスが [Available] (利用可能) の名前空間にのみ復元できます。

1. テキスト入力フィールドに **restore** (復元) と入力し、**[Restore]** (復元) を選択します。

# 別の AWS リージョン へのバックアップのコピー
<a name="serverless-backup-copy"></a>

 スナップショットと復旧ポイントを別の AWS リージョン に自動的にコピーするように Amazon Redshift Serverless を設定できます。**ソース AWS リージョン でスナップショットを作成すると、このスナップショットは、**送信先リージョンにコピーされます。スナップショットと復旧ポイントを一度に単一の送信先 AWS リージョン にのみコピーするように名前空間を設定できます。Amazon Redshift Serverless が利用できる AWS リージョン の一覧については、「**Amazon Web Services 全般のリファレンス」の「[Redshift Serverless API](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html)」に記載されているエンドポイントを参照してください。

バックアップのコピーを設定する際は、コピーされたスナップショットを Amazon Redshift Serverless が保持する期間を指定することもできます。復旧ポイントの保持期間は変更できず、1 日である必要があります。送信先リージョンのスナップショットの保持期間は、ソースリージョンのスナップショットの保持期間とは異なります。この保持期間はデフォルトでは、スナップショットの無期限の保持です。**[カスタム値]** を選択した場合は日数を選択します。この値は、1～3653 日の範囲で選択する必要があります。

スナップショットのコピーの送信先リージョンを変更するには、まずバックアップのコピーを無効にしてから、コピーを再度有効にする際に新しい送信先リージョンを指定します。

スナップショットまたは復旧ポイントを送信先リージョンにコピーしたら、これを使用してデータを送信先リージョンで復元できます。

データはデフォルトで AWS マネージドキーを使用して暗号化されます。別のキーを使用するには、ソース AWS リージョン でバックアップコピーを設定する際に使用するキーを選択すると、Amazon Redshift Serverless が権限を自動的に作成し、送信先 AWS リージョン でスナップショット暗号化が有効になります。

バックアップを別のリージョンにコピーするには、次の IAM アクセス許可があることを確認します。

```
redshift-serverless:CreateSnapshotCopyConfiguration
redshift-serverless:UpdateSnapshotCopyConfiguration
redshift-serverless:ListSnapshotCopyConfigurations
redshift-serverless:DeleteSnapshotCopyConfiguration
```

独自の KMS キーを使用してバックアップを暗号化する場合は、次のアクセス許可も必要です。

```
kms:CreateGrant
kms:DescribeKey
```

スナップショットまたは復旧ポイントを別の AWS リージョン にコピーするように設定するには

1. Amazon Redshift Serverless コンソールで、スナップショットまたは復旧ポイントのコピーを設定する名前空間を選択します。

1. **[アクション]**、**[クロスリージョンバックアップの設定]** を選択します。

1. スナップショットをコピーする送信先 AWS リージョン を選択します。

1. (オプション) スナップショットの保持期間を選択します。**[カスタム値]**を選択する場合は日数を選択します。この値は、1～3653 日の間で選択する必要があります。デフォルトでは無期限に保持されます。

1. (オプション) 送信先リージョンでの暗号化に使用する別の AWS KMS キーを選択します。

1. **[設定の保存]** を選択します。

# テーブルの復元
<a name="serverless-table-restore"></a>

 スナップショットまたは復旧ポイントから特定のテーブルを復元することもできます。この場合は、ソース スナップショットまたは復旧ポイント、データベース、スキーマ、テーブル、ターゲットデータベース、スキーマ、新しいテーブル名を指定します。この新しいテーブルは、既存のテーブルと同じ名前は使用できません。テーブルを復元して既存のテーブルを置き換える場合は、テーブルを復元する前に、まずテーブル名を変更するか削除する必要があります。

**注記**  
RA3 でプロビジョニングされたクラスターと Amazon Redshift Serverless ワークグループでは、バックアップ用ではないテーブルはサポートされていません。RA3 クラスターおよびサーバーレスワークグループでバックアップしないとマークされたテーブルは、スナップショットの作成中に常にバックアップされ、スナップショットから復元するときに復元される永続テーブルとして扱われます。ただし、バックアップ用ではないテーブルの選択的な復元はサポートされていません。

 ターゲットテーブルは、ソーステーブルの列の定義、テーブル属性、および外部キーを除く列の属性を使って作成されます。依存関係による競合を回避するため、ターゲットテーブルはソーステーブルから外部キーを継承しません。ソーステーブルで付与されたビューや許可などの依存関係は、ターゲットテーブルに適用されません。

ソーステーブルの所有者が存在するなら、そのユーザーは指定されたデータベースおよびスキーマの関係において所有者となるのに十分なアクセス許可がある場合にのみ、復元されたテーブルの所有者となります。それ以外の場合には、クラスターの起動時に作成した管理者ユーザーが、復元されたテーブルを所有します。

復元されたテーブルは、バックアップが作成された時の状態に戻されます。これには、Amazon Redshift の[直列化分離](https://docs.aws.amazon.com/redshift/latest/dg/c_serial_isolation.html)への準拠により定義されるトランザクションの可視性のルールが含まれます。つまり、バックアップ後に開始した実行中のトランザクションにデータがすぐに見えるようになるということです。

 Amazon Redshift Serverless コンソールを使用して、スナップショットからテーブルを復元できます。

データバックアップからのテーブルの復元には、次のとおりの制限があります。
+ 一度に復元できるのは 1 つのテーブルのみです。
+ ソーステーブルで付与されたビューや許可などの依存関係は、ターゲットテーブルに適用されません。
+ 復元中のテーブルに対して行レベルのセキュリティが有効になっている場合、Amazon Redshift Serverless は、行レベルのセキュリティがオンになっているテーブルを復元します。

Amazon Redshift Serverless コンソールを使用してテーブルを復元するには

1. Amazon Redshift Serverless コンソールで、**[Data backup]** (データのバックアップ) を選択します。

1. 復元するテーブルを含むスナップショットまたは復旧ポイントを選択します。

1. **[アクション]**、**[スナップショットからテーブルを復元する]** または **[Restore table from recovery point]** を選択します。

1. ソースのスナップショットまたは復旧ポイントとターゲットテーブルに関する情報を入力して、**[テーブルの復元]** をクリックします。