tag:crieit.net,2005:https://crieit.net/tags/redshift/feed 「redshift」の記事 - Crieit Crieitでタグ「redshift」に投稿された最近の記事 2022-08-12T19:16:44+09:00 https://crieit.net/tags/redshift/feed tag:crieit.net,2005:PublicArticle/18277 2022-08-12T19:16:44+09:00 2022-08-12T19:16:44+09:00 https://crieit.net/posts/Redshift-Serverless Redshift Serverless について見かけた課題と対応策 <p>Redshift Serverless について見かけた課題と対応策(2022年7月19日時点)をまとめました。GitHubリポジトリ「<a target="_blank" rel="nofollow noopener" href="https://yuzutas0.github.io/awesome-redshift-jp/docs/setup/faq.html">Awesome Redshift JP</a>」にまとめた内容の転記です。</p> <h1 id="概要"><a href="#%E6%A6%82%E8%A6%81">概要</a></h1> <ul> <li>プレビュー料金に見える→金額あってそう</li> <li>名前空間やワークグループの削除エラー→英語表示</li> <li>ProvisionedとAPIが違う→ラッパーを使う</li> <li>時間課金でストリーミング不向き→二台構成 or マイクロバッチ化</li> </ul> <h1 id="Redshift Serverless の料金表が「プレビュー」のままに見える(2022年7月19日時点)"><a href="#Redshift+Serverless+%E3%81%AE%E6%96%99%E9%87%91%E8%A1%A8%E3%81%8C%E3%80%8C%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%80%8D%E3%81%AE%E3%81%BE%E3%81%BE%E3%81%AB%E8%A6%8B%E3%81%88%E3%82%8B%EF%BC%882022%E5%B9%B47%E6%9C%8819%E6%97%A5%E6%99%82%E7%82%B9%EF%BC%89">Redshift Serverless の料金表が「プレビュー」のままに見える(2022年7月19日時点)</a></h1> <p>日本語だと「プレビュー」の記載がありますが、英語だとPreviewの記載は外れています。 料金表の内容も同じなので、日本語の翻訳が間に合っていないようです。</p> <p>日本語の料金表:</p> <p><img src="https://camo.qiitausercontent.com/128c346fa77be45412ac0f1e49ed02bc701da75b/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3330383936312f62353232343065652d633930662d653561662d363238652d3332336430653436376162362e706e67" alt="日本語の料金表" /></p> <p>英語の料金表:</p> <p><img src="https://camo.qiitausercontent.com/83c7b4bc6caa3299f10be6889acc6d42f07a8469/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3330383936312f66656266336539302d616136352d326235632d646330642d3137376635636137336236322e706e67" alt="英語の料金表" /></p> <h1 id="Redshift Serverless の名前空間やワークグループの削除ができない(2022年7月19日時点)"><a href="#Redshift+Serverless+%E3%81%AE%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%82%84%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E5%89%8A%E9%99%A4%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%EF%BC%882022%E5%B9%B47%E6%9C%8819%E6%97%A5%E6%99%82%E7%82%B9%EF%BC%89">Redshift Serverless の名前空間やワークグループの削除ができない(2022年7月19日時点)</a></h1> <p>日本語表示だとコンソールでエラーになってしまう。</p> <blockquote> <p>Amazon Redshift Serverlessで名前空間もワークグループもコンソールのエラーで削除できない<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/Korosuke512tr/status/1547783609666265089">https://twitter.com/Korosuke512tr/status/1547783609666265089</a></p> </blockquote> <p>解決策1) 管理コンソールを日本語から英語に変える。</p> <blockquote> <p>管理コンソールの言語を英語に変更して試していただくと、削除できるようになるかもしれません。<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/simosako/status/1547790642926870528">https://twitter.com/simosako/status/1547790642926870528</a></p> </blockquote> <p>解決策2) CLI経由で削除する。</p> <blockquote> <p>CLI で消せた<br /> <a target="_blank" rel="nofollow noopener" href="https://twitter.com/hayaok3/status/1547086353489620992">https://twitter.com/hayaok3/status/1547086353489620992</a></p> </blockquote> <h1 id="Redshift Serverless の credentials はiamが別"><a href="#Redshift+Serverless+%E3%81%AE+credentials+%E3%81%AFiam%E3%81%8C%E5%88%A5">Redshift Serverless の credentials はiamが別</a></h1> <p><code>redshift:GetClusterCredentials</code> ではなく <code>redshift-serverless:GetCredentials</code> が対象となる。</p> <blockquote> <p>一時的な認証情報を使用してサーバーレスワークグループへの認証を行う場合は、ポリシーで redshift-serverless:GetCredentials アクションの使用が許可されていることを確認します。 > <a target="_blank" rel="nofollow noopener" href="https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/data-api.html">https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/data-api.html</a></p> </blockquote> <p>非公式ラッパーとして <a target="_blank" rel="nofollow noopener" href="https://github.com/mashiike/redshift-credentials">https://github.com/mashiike/redshift-credentials</a> が作られた。</p> <blockquote> <p>ServerlessなのかProvisionedなのか意識して、更にAPIの投げわけしないといけないの? そう思った人(私)向けにServerlessでもProvisionedでも、どっちのエンドポイントをパラメータに渡してもいい感じに一時認証してDB USERとDB Passwordを返してくれる君を書いてみました。<br /> <a target="_blank" rel="nofollow noopener" href="https://datatech-jp.slack.com/archives/C03MHCZS2GG/p1657977637298559">https://datatech-jp.slack.com/archives/C03MHCZS2GG/p1657977637298559</a></p> </blockquote> <h1 id="Redshift Serverless は時間課金なのでバッチ向き"><a href="#Redshift+Serverless+%E3%81%AF%E6%99%82%E9%96%93%E8%AA%B2%E9%87%91%E3%81%AA%E3%81%AE%E3%81%A7%E3%83%90%E3%83%83%E3%83%81%E5%90%91%E3%81%8D">Redshift Serverless は時間課金なのでバッチ向き</a></h1> <p>ストリーミング連携など、高頻度にデータ連携するときは以下の構成だとコスト効率が良い。</p> <ul> <li>小さめの常駐インスタンスにデータを流す。</li> <li>Redshift ServerlessからData Sharingで常駐インスタンスを参照する。</li> </ul> <blockquote> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/mashiike/status/1547032218140192768">https://twitter.com/mashiike/status/1547032218140192768</a></p> </blockquote> <p>Redshift Serverlessで完結したい場合は、ログをストリーミングでS3に反映しつつ、 Redshiftへのロードは1時間に1回のマイクロバッチで実現するような設計が考えられる。</p> <blockquote> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/yuzutas0/status/1547011222998220800">https://twitter.com/yuzutas0/status/1547011222998220800</a></p> </blockquote> <h1 id="最後に"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB">最後に</a></h1> <p>「<a target="_blank" rel="nofollow noopener" href="https://yuzutas0.github.io/awesome-redshift-jp/docs/setup/faq.html">Awesome Redshift JP</a>」では、Amazon Redshift によるデータ活用を実現するためのノウハウや参考資料をまとめています。主に、Slackコミュニティ「<a target="_blank" rel="nofollow noopener" href="https://datatech-jp.github.io/">datatech-jp</a>」の「<a target="_blank" rel="nofollow noopener" href="https://datatech-jp.slack.com/archives/C03MHCZS2GG">#redshift</a>」チャンネルで会話しています。オススメの記事があればリポジトリに反映したいのでぜひ教えてください。</p> ゆずたそ