-- 1. クラスターの作成
redshift01 <-- 暗号化なし
redshift02 <-- 暗号化有
aws redshift create-cluster \
--db-name test \
--cluster-identifier redshift01 \
--cluster-type single-node \
--node-type dc2.large \
--master-username test \
--master-user-password 'password' \
--no-allow-version-upgrade \
--no-publicly-accessible \
--automated-snapshot-retention-period 0
aws redshift create-cluster \
--db-name test \
--cluster-identifier redshift02 \
--cluster-type single-node \
--node-type dc2.large \
--master-username test \
--master-user-password 'password' \
--no-allow-version-upgrade \
--no-publicly-accessible \
--automated-snapshot-retention-period 0 \
--encrypted
aws redshift describe-clusters
aws redshift describe-clusters --cluster-identifier redshift01
aws redshift describe-clusters --cluster-identifier redshift02
-- 2. クロスリージョンスナップショットコピー設定
-- ①暗号化されていないスナップショットのコピー設定
aws redshift enable-snapshot-copy \
--cluster-identifier redshift01 \
--destination-region ap-northeast-3 \
--retention-period 1 \
--manual-snapshot-retention-period 1
-- ②暗号化されたスナップショットのコピー設定
export AWS_DEFAULT_REGION=ap-northeast-3
aws redshift create-snapshot-copy-grant \
--snapshot-copy-grant-name scg01
aws redshift describe-snapshot-copy-grants
export AWS_DEFAULT_REGION=ap-northeast-1
aws redshift enable-snapshot-copy \
--cluster-identifier redshift02 \
--destination-region ap-northeast-3 \
--retention-period 1 \
--snapshot-copy-grant-name scg01 \
--manual-snapshot-retention-period 1
-- 3. スナップショットの作成
aws redshift create-cluster-snapshot \
--cluster-identifier redshift01 \
--snapshot-identifier snap01
aws redshift create-cluster-snapshot \
--cluster-identifier redshift02 \
--snapshot-identifier snap02
aws redshift describe-cluster-snapshots
-- 4. クラスタースナップショットの共有
-- ①暗号化されていないスナップショットの共有
-- 共有の追加
aws redshift authorize-snapshot-access \
--snapshot-identifier snap01 \
--account-with-restore-access 888888888888
-- 共有の削除
aws redshift revoke-snapshot-access \
--snapshot-identifier snap01 \
--account-with-restore-access 888888888888
-- ②暗号化されたスナップショットの共有
-- 共有の追加
aws redshift authorize-snapshot-access \
--snapshot-identifier snap02 \
--account-with-restore-access 888888888888
-- 共有の削除
aws redshift revoke-snapshot-access \
--snapshot-identifier snap02 \
--account-with-restore-access 888888888888
★共有先で暗号化スナップショットを復元するとAWS管理CMKが使用される
-- 5. クリーンアップ
-- クラスターの削除
aws redshift delete-cluster \
--cluster-identifier redshift01 \
--skip-final-cluster-snapshot
aws redshift delete-cluster \
--cluster-identifier redshift02 \
--skip-final-cluster-snapshot
-- スナップショットの削除
aws redshift delete-cluster-snapshot --snapshot-identifier snap01
aws redshift delete-cluster-snapshot --snapshot-identifier snap02
export AWS_DEFAULT_REGION=ap-northeast-3
aws redshift delete-cluster-snapshot --snapshot-identifier copy:snap01
aws redshift delete-cluster-snapshot --snapshot-identifier copy:snap02
export AWS_DEFAULT_REGION=ap-northeast-1
-- スナップショットコピー許可の削除
export AWS_DEFAULT_REGION=ap-northeast-3
aws redshift delete-snapshot-copy-grant --snapshot-copy-grant-name scg01
aws redshift describe-snapshot-copy-grants
export AWS_DEFAULT_REGION=ap-northeast-1