Slide 1

Slide 1 text

Redshift ServerlessとProvisioned Cluster のちょっとした違い 2022/11/24 DataOpsNight #3 19:25 ~ 池田将士

Slide 2

Slide 2 text

自己紹介 池田 将士 (@mashiike) 面白法人カヤック その他事業部 SREチーム所属 データエンジニア/サーバーサイドエンジニア 出身: 千葉県 趣味: オンラインゲームと食べ比べ、飲み比べ

Slide 3

Slide 3 text

会社紹介 鎌倉の地にて、主にWeb技術を用いて 人の印象に深く残るような面白コンテンツを作る会社 ゲームからWebサービス、ミュージアムetc… 様々なことに挑戦 ※幅広く挑戦しすぎて、   中の人も何の会社なのかよくわからないことも・・・

Slide 4

Slide 4 text

本日のアジェンダ ● はじめに ● ちょっとした違い その① ??? ● ちょっとした違い その② ??? ● まとめ ● 広報活動

Slide 5

Slide 5 text

はじめに Amazon Redshift Serveless インスタンス管理を必要としない Amazon Redshift キャパシティプランニングの悩みから開放される・・・???

Slide 6

Slide 6 text

はじめに https://speakerdeck.com/jozono/bigdata-jaws-21-analytics-update?slide=16 BigData-JAWS #21 秋の夜長に語る AWS Analytics 最新アップデート より 実は、Provisionedとの 使い分けは大事。

Slide 7

Slide 7 text

はじめに 超大規模ではないので 移行して、コストを削減しよう。

Slide 8

Slide 8 text

はじめに と思った、そこのあなた!ちょっとまって! 実は、Redshift ServerlessとProvisioned Clusterの間には ちょっとした違いがあるんです!!! 今日は、そのちょっとした違いについて、2つ紹介します。

Slide 9

Slide 9 text

その① IAMによる一時認証

Slide 10

Slide 10 text

その① IAMによる一時認証 皆様、Redshiftの認証ってどうしてます? 昔ながらの、User名+Passwordで行ってますか? Password漏洩リスクを考えて、 以下の機能を使って一時認証情報を生成してませんか? https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/generating-user-credentials.html

Slide 11

Slide 11 text

その① IAMによる一時認証 Provisioned ClusterにおけるAWS IAMを用いた一時認証 redshiftのGetClusterCredentials APIを用いることで、 有効期限のある一時的なパスワードとユーザ名を取得することができ、 その一時的なパスワードとユーザー名を用いて Redshiftへログインすることが可能でした。

Slide 12

Slide 12 text

その① IAMによる一時認証 Serverless workgroupにおけるAWS IAMを用いた一時認証 Password長っ!!!?

Slide 13

Slide 13 text

その① IAMによる一時認証 DB user名 Provisioned Cluster Serverless workgroup ちょっとした違い API redshift-serverless:GetCredentials redshift:GetClusterCredentials 認証後の ユーザー名 IAM: IAMR: IAM:

Slide 14

Slide 14 text

その① IAMによる一時認証 DB user名 Provisioned Cluster Serverless workgroup ちょっとした違い API redshift-serverless:GetCredentials redshift:GetClusterCredentials 認証後の ユーザー名 IAM: IAMR: IAM: https://github.com/mashiike/redshift-credentials [余談] そのへんの切替が面倒だと思ったので、ツールを作っちゃいました。

Slide 15

Slide 15 text

その① IAMによる一時認証 DB user名 Provisioned Cluster Serverless workgroup ちょっとした違い API redshift-serverless:GetCredentials redshift:GetClusterCredentials 認証後の ユーザー名 IAM: IAMR: IAM:

Slide 16

Slide 16 text

その① IAMによる一時認証 Redshift Servelessの認証系事始め ※管理用AWS IAM Role: KayacDeveloperで AsuumeRoleしているとする。 Query Editor V2でadminとして認証する。

Slide 17

Slide 17 text

その① IAMによる一時認証 Redshift Servelessの認証系事始め ※管理用AWS IAM Role: KayacDeveloperで AsuumeRoleしているとする。 Query Editor V2でadminとして認証する。 以下のコマンドを発行する。

Slide 18

Slide 18 text

その① IAMによる一時認証 Redshift Servelessの認証系事始め ※管理用AWS IAM Role: KayacDeveloperで AsuumeRoleしているとする。 Query Editor V2でadminとして認証する。 以下のコマンドを発行する。 その後、Federated Userに変えて、権限を確認する

Slide 19

Slide 19 text

その② システムビュー

Slide 20

Slide 20 text

その② システムビュー https://speakerdeck.com/jozono/bigdata-jaws-21-analytics-update?slide=14 BigData-JAWS #21 秋の夜長に語る AWS Analytics 最新アップデート より 実はRedshift Serverlessは 一部のシステムビューが 見れない

Slide 21

Slide 21 text

その② システムビュー システムビューといえば・・・ Copyが失敗したときに皆様見に行く ServerlessではPermission denied!!!

Slide 22

Slide 22 text

その② システムビュー えっ!?どうやって、ロード時のエラーを調べるの!? 別のシステムビューが用意されてる ※代替が無いものもある。

Slide 23

Slide 23 text

その② システムビュー えっ!?どうやって、ロード時のエラーを調べるの!? 別のシステムビューが用意されてる ※代替が無いものもある。 中には、STL_*やSVL_* を参照している関数もあるので、既存のものは一通り試しましょう ちなみに、この例は SVV_RELATION_PRIVILEGES を使用することで代用可能です。

Slide 24

Slide 24 text

その② システムビュー えっ!?どうやって、ロード時のエラーを調べるの!? 別のシステムビューが用意されてる ※代替が無いものもある。

Slide 25

Slide 25 text

その② システムビュー Provisioned Cluster Serverless workgroup Copy時のエラーチェック 発行されたクエリの確認 用途 SYS_LOAD_ERROR_DETAIL STL_LOAD_ERRORS SYS_QUERY_HISTORY SYS_QIERY_DETAIL STL_QUERY STL_QUERYTEXT SYS_EXTERNAL_QUERY_DETAIL STL_UNLOAD_LOG SYS_UNLOAD_HISTORY UNLOADの状況確認 全く同じというわけではないが、運用時によく必要になるシステムビューの対応表

Slide 26

Slide 26 text

まとめ Redshift ServerlessとProvisioned Clusterは基本的な使用感はほぼ一緒です。 しかし、運用という観点ではちょっとした違いがいくつかあります。 今回はその中でも2つ ● AWS IAMによる一時認証の方法の違い ● 使用可能なシステムビューの違い を取り上げました。 Provisioned ClusterからServerlessにお乗り換えの際はご注意を! 最後に、Amazon Redshift Serverless 便利です!ぜひ使ってみてください。

Slide 27

Slide 27 text

広報活動 \カヤックに興味を持ってくださった方へ/ カヤック社員がどんな風に働いているか? どんな制作実績があるか? などの情報を定期的に配信しています! ニュースレターへ登録しませんか? https://hubspot.kayac.com/we_are_kayac

Slide 28

Slide 28 text

ありがとうございました!!!