バックアップおよびディザスタリカバリの目的で Amazon Redshift スナップショットを他の AWS リージョンにコピーしたところ、クロスリージョンスナップショットに関する障害が発生しました。
解決策
クロスリージョンスナップショットが有効であり、送信先リージョンが選択されていることを確認する
次の手順を実行します。
- Amazon Redshift コンソールを開きます。
- ナビゲーションペインで [クラスター] を選択し、目的のクラスターを選択します。
- [プロパティ] タブに切り替えます。
- [スナップショットのコピー] セクションを参照し、クロスリージョンスナップショットが有効であることを確認します。
- [送信先 AWS リージョン] を参照し、スナップショットのコピー先リージョンが選択されていることを確認します。送信先リージョンを選択済みでない場合は、選択します。
- [保存] を選択します。
詳細については、「暗号化されていないクラスターでクロスリージョンスナップショットのコピーを構成する」を参照してください。
スナップショットコピーを許可する AWS KMS キーポリシーを作成する
クラスターが AWS Key Management Service (AWS KMS) 暗号化を使用している場合は、スナップショットコピーを許可するポリシーを作成する必要があります。AWS KMS スナップショットコピーの権限ポリシーを付与すると、Amazon Redshift は送信先リージョンにコピーされたスナップショットに対し、暗号化操作を実行できます。
次の手順を実行します。
-
送信先リージョンで AWS Identity and Access Management (IAM) コンソールを開きます。
-
ナビゲーションペインで [ポリシー] を選択します。
-
[ポリシーを作成] を選択します。
-
ポリシーエディタで [JSON] を選択します。
-
ポリシーに次のステートメントを入力します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"kms:DescribeKey",
"kms:CreateGrant"
],
"Resource": [
"*"
],
"Condition": {
"StringEquals": {
"kms:CallerAccount": "your-account-id"
}
}
}
]
}
注: your-account-id を AWS アカウント ID に置き換えてください。
-
[次へ] を選択します。
-
[ポリシー名] にポリシーの名前を入力し、[ポリシーを作成] を選択します。
詳細については、「AWS KMS 暗号化スナップショットを別の AWS リージョンにコピーする」および「AWS KMS 暗号化クラスターでクロスリージョンスナップショットのコピーを構成する」を参照してください。
クラスターに正しい権限が含まれることを確認する
Amazon Redshift クラスターに関連付けた IAM ロールには、リージョン間でスナップショットにアクセスし、コピーするための必須権限が必要です。AWS マネージドポリシー AmazonRedshiftFullAccess が IAM ロールにアタッチされていることを確認します。
カスタムポリシーを作成した場合は、IAM ロールに次の権限が含まれることを確認します。
カスタムポリシーの編集方法については、「IAM ポリシーの編集」を参照してください。
送信先リージョンがサポートされている Amazon Redshift リージョンに含まれていることを確認する
送信先リージョンが Amazon Redshift がサポートするリージョンであることを確認するには、[利用可能な AWS サービス] のリストから目的のリージョンを選択します。
関連情報
別の AWS リージョンにスナップショットをコピーする
Amazon Redshift のスナップショットとバックアップ
Amazon Redshift のベストプラクティス