Amazon Redshift編~Unloadパート②~

Pocket

こんにちは! JQです。

前回は『Amazon Redshift編~Unloadパート①~』ということで、RedshiftからS3に外部出力してみました。

今回は『Amazon Redshift編~Unloadパート②~』と題して、Redshiftから暗号化してS3に外部出力してみたいと思います。

暗号化してS3へ外部出力

暗号化してS3に外部出力

1. S3へ暗号化して外部出力をしてみましょう!

暗号化にはBase64でEncodeしたAES 256bit keyが必要になります。
前回のスクリプトにKey部分の処理とunloadクエリーの最後に「encrypted」を追記します。

※ AWS_ACCESS_KEY等は環境に合わせて変更して下さい。
※ 復号化にはpasswordとsaltが必要になります。

 
確認

2. 次に、出力結果の確認をしてみましょう!

該当のS3バケット下に「resshift_dev/enc_」でファイルが作成されているかと思います。

出力先のS3バケット直下

上記のフォルダの中に出力結果のファイルがあります。

出力結果ファイル一覧

作成されたファイル中身は次になります。
暗号化されているのがわかります。

出力結果ファイル一覧

 
複合

3.復号化してインポートをしてみましょう!

復号化でも同様にCopyコマンドでencryptedオプションを利用して行います。
テーブルの中身を削除した状態で下記スクリプトを実行してみます。

成功すれば”select * from dev”の結果が出力されるかと思います。

 
いかがでしたでしょうか?

次回は『Amazon Redshift編~Unloadパート③~』ということで、RedshiftからS3に出力するデータのフォーマットを変えてみたいと思いますので、お楽しみに!
 

——————————————————————————————————
ナレコムクラウドのFacebookに『いいね!』をクリックして頂くと
最新のお役立ちレシピが配信されます★

┏━━━━━━━━━━━━━┓
┃ナレコムクラウド Facebook┃
┗━━━━━━━━━━━━━┛
——————————————————————————————————