0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Redshift Serverlessでクロスリージョンバックアップを取得する

Last updated at Posted at 2024-10-30

前回の記事で触れたスケジュールバックアップのリリースと同時期にクロスリージョンバックアップ機能がリリースされました。
せっかくなのでスケジュールバックアップと組み合わせてクロスリージョンバックアップ機能をCLIで試してみます。
東京リージョンのスナップショットをバージニアリージョンに取得する前提で進めます。

AWS CLIのバージョン

最新版のAWS CLIを使用します。

コマンド
aws --version

結果(例):

 aws-cli/2.18.15 Python/3.12.6 Darwin/23.6.0 exe/x86_64

スナップショットスケジュール作成

作成方法は前回の記事を参照してください。
テスト用に毎時でスナップショットを取得するスケジュールを作成します。

hourly00(例):

{
    "scheduledAction": {
        "namespaceName": "testnamespace",
        "nextInvocations": [
            "2024-10-30T11:25:00+09:00",
            "2024-10-30T12:25:00+09:00",
            "2024-10-30T13:25:00+09:00",
            "2024-10-30T14:25:00+09:00",
            "2024-10-30T15:25:00+09:00"
        ],
        "roleArn": "arn:aws:iam::xxxxxx:role/redshiftschedulerrole",
        "schedule": {
            "cron": "25 * * * ? *"
        },
        "scheduledActionName": "hourly00",
        "scheduledActionUuid": "d9a1ac7c-b400-42d9-8ff2-b937617f92bf",
        "state": "ACTIVE",
        "targetAction": {
            "createSnapshot": {
                "namespaceName": "testnamespace",
                "retentionPeriod": 7,
                "tags": []
            }
        }
    }
}

クロスリージョンバックアップ機能を有効化

クロスリージョンバックアップを有効化するnamespaceとバックアップ先のリージョンを指定します。今回はus-east1(バージニア)を指定します。
オプションでスナップショットの保持期間とKMSキーを指定できます。今回は保持期間を1日、KMSキーはデフォルトのマネージドキーを使用します。

コマンド
aws redshift-serverless create-snapshot-copy-configuration \
 --destination-region us-east-1 \
 --namespace-name hoshitest \
 --snapshot-retention-period 1

結果(例):

{
    "snapshotCopyConfiguration": {
        "destinationKmsKeyId": "AWS_OWNED_KMS_KEY",
        "destinationRegion": "us-east-1",
        "namespaceName": "testnamespace",
        "snapshotCopyConfigurationArn": "arn:aws:redshift-serverless:ap-northeast-1:xxxxxx",
        "snapshotCopyConfigurationId": "xxxxxx",
        "snapshotRetentionPeriod": 1
    }
}

これでクロスリージョンバックアップ機能の有効化ができました。

マネジメントコンソールで確認

指定したnamespaceでクロスリージョンバックアップが有効化されていることが確認できます。
スクリーンショット 2024-10-30 11.09.21.png

マネジメントコンソールで確認

まずは東京リージョン側でスケジュールスナップショットが取得されていることを確認します。
tokyo.png

取得できていますね。

続いてバージニアリージョンにスナップショットが取得されていることを確認します。
useast1.png

同時刻/同サイズのスナップショットが保存されています。

おそうじ

最後にクロスリージョンバックアップの設定を削除します。

コマンド
aws redshift-serverless delete-snapshot-copy-configuration --snapshot-copy-configuration-id "作成したクロスリージョンバックアップのsnapshotCopyConfigurationId"


結果(例):

{
    "snapshotCopyConfiguration": {
        "destinationKmsKeyId": "AWS_OWNED_KMS_KEY",
        "destinationRegion": "us-east-1",
        "namespaceName": "testnamespace",
        "snapshotCopyConfigurationArn": "arn:aws:redshift-serverless:ap-northeast-1:xxxxxx:snapshotcopyconfiguration/79f672a3-4ef1-4828-9bac-128932c2c717",
        "snapshotCopyConfigurationId": "79f672a3-4ef1-4828-9bac-128932c2c717",
        "snapshotRetentionPeriod": 1
    }
}

保持期間を設定していない場合はスナップショットが残り続けますので忘れず手動で削除しましょう。

まとめ

クロスリージョンバックアップ機能により別リージョンへのスナップショットバックアップが可能になりました。
スケジュールスナップショットと組み合わせることでバックアップ/リストアレベルのDRが容易になったのは嬉しいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?