Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Redshift ServerlessとProvisioned Cluster のちょっとした違い

ikeda-masashi
November 24, 2022

Redshift ServerlessとProvisioned Cluster のちょっとした違い

https://finatext.connpass.com/event/264064/

こちらの登壇資料です。

ikeda-masashi

November 24, 2022
Tweet

More Decks by ikeda-masashi

Other Decks in Technology

Transcript

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

  2. 自己紹介 池田 将士 (@mashiike) 面白法人カヤック その他事業部 SREチーム所属 データエンジニア/サーバーサイドエンジニア 出身: 千葉県

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

  4. 本日のアジェンダ • はじめに • ちょっとした違い その① ??? • ちょっとした違い その②

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

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

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

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

  9. その① IAMによる一時認証

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

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

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

  13. その① IAMによる一時認証 DB user名 Provisioned Cluster Serverless workgroup ちょっとした違い API

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

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

    redshift-serverless:GetCredentials redshift:GetClusterCredentials 認証後の ユーザー名 IAM: <IAM ユーザー名> IAMR: <IAM ロール名> IAM: <DB User名>
  16. その① IAMによる一時認証 Redshift Servelessの認証系事始め ※管理用AWS IAM Role: KayacDeveloperで AsuumeRoleしているとする。 Query

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

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

    Editor V2でadminとして認証する。 以下のコマンドを発行する。 その後、Federated Userに変えて、権限を確認する
  19. その② システムビュー

  20. その② システムビュー https://speakerdeck.com/jozono/bigdata-jaws-21-analytics-update?slide=14 BigData-JAWS #21 秋の夜長に語る AWS Analytics 最新アップデート より

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

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

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

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

  25. その② システムビュー 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の状況確認 全く同じというわけではないが、運用時によく必要になるシステムビューの対応表
  26. まとめ Redshift ServerlessとProvisioned Clusterは基本的な使用感はほぼ一緒です。 しかし、運用という観点ではちょっとした違いがいくつかあります。 今回はその中でも2つ • AWS IAMによる一時認証の方法の違い •

    使用可能なシステムビューの違い を取り上げました。 Provisioned ClusterからServerlessにお乗り換えの際はご注意を! 最後に、Amazon Redshift Serverless 便利です!ぜひ使ってみてください。
  27. 広報活動 \カヤックに興味を持ってくださった方へ/ カヤック社員がどんな風に働いているか? どんな制作実績があるか? などの情報を定期的に配信しています! ニュースレターへ登録しませんか? https://hubspot.kayac.com/we_are_kayac

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