omuronの備忘録

個人的な備忘録

「Bedrock Claude Night 2」 #jawsug_aiml 受講メモ

Bedrock Claude Night 2(JAWS-UG AI/ML支部 × 東京支部コラボ)

jawsug-ai.connpass.com

セッション

Anthropic キーノート&デモ

Maggie Vo さん

  • Cloude 3 の3つのモデル
    • Opus : ハイスペック
    • Sonnet : バランス型
    • Haiku : 早くて安い
  • Cloude 3 全てのモデルで画像認識ができる
    • ビジネスに特化している
      • チャートやグラフなどの読み取りが得意
    • 手書きも認識、日本語もAmazonからフィードバックを貰いながら対応している
    • Tips
      • 画像をコンテキストの最初に置く
      • イメージにラベルを付ける
      • イメージの中の情報をタスクの前に抽出させる
    • 文章から自動でJSONスキーマをお任せで生成
    • 靴の画像から材質から特徴、ブランド名や利用用途の生成
  • Agents + Tool use
    • https://www.anthropic.com/news/tool-use-ga
    • Agents のワークフローを tool use を利用して簡単にできる
      • tool use にどんなツールを使うかリストやパラメータを提供する
    • tool use の利用を強制できる
    • JSON でやり取りする JSON モードがある

Tool use すごい便利そう。 このあたり全然取り組めてないから、Function Calling系はやっていかないと。
あと Claude 3 画像周りがこんなにも強かったのしらなかった。

LT① Claude3 on Bedrock(with Converse API + Tool use)でチャットアプリを作成してみた

鯨田 連也さん(NTT Data)

  • Converse API : 統一的なIFで Bedrock を容易に呼び出すことが可能なチャット特化した API

Opusは思考がダダ漏れしたらしく、意外と Sonnet のほうが有効だったのね。

LT② AWS構成図からCloudFormationとパラメータシートを自動生成するシステムを作ってみた

つくぼしさん(クラスメソッド株式会社)

speakerdeck.com

  • CFn が最大トークン数に到達する事がある
    • 80%超えたら分割するように指示
  • 存在しないリソースタイプを使う
    • CFn ListTypes API 使ってこの結果内のみだけで答えさせる
  • YAML 内容のみ抽出して改行入れて連結
  • CFn Validate Template API でバリデーションチェックして正解するまで繰り返す
  • 結果代替できるのか?
    • 7-8割ならできるけど、9割正確にするのはきつそう
    • 正確じゃないときもある

これすごい。けど、やっぱり100%求めるのは大変なのね。
エンジニアの単価とBedrockの利用量とどちらが高くなるんだろう?

LT③ LangChain Agent with RetrieverをBedrock(Claude3 Opus)で実装してみる

大坪 悠さん(KDDIアジャイル開発センター)

  • いい感じのAI Product作って
    • いい感じに考えて行動するやつ
    • それって Agents だ
  • ReAct-based LangChain Agents
    • Retriver(Knowledge Baseなど) とか Memory が大事
    • 課題
      • Google 検索 : 参照元が適切にわからない
      • Knowledge Base : 参照元のファイルが表示できない(LangChain だと metadata が乗らない)
      • Memory の保持の仕方が OpenAI 形式なので会話続けるとおかしくなる
    • 課題の解決方法
      • XMLで囲む、Knowledge Base なら boto3 で呼べば XML で囲める

Claude 3 Opus使うときは、XML でちゃんと囲むと良くなると。

LT④ AWS Bedrockで行うモデル評価入門

加賀谷 諒さん(株式会社ログラス)

モデル評価難しいですね...
公式にドキュメントあるんだ。

「Amazon Bedrock生成AIアプリ開発入門」本の感想を宇宙最速で述べる #Bedrock開発入門

はじめに

期待のAmazon Bedrock本ですね。 皆さま予約はしたのでしょうか?
発売日を待っていたところ、なんとみのるんさんから献本をいただきました!!!

みのるんさんでBedrockと言えば「宇宙最速*1*2」として有名ですね。

ということで 「著者から献本をもらったので、盛り上げ企画としてアウトプットする」 という状況です。 もとより購入予定ではあったのですが、せっかくいただけたのだからアウトプットしないとね。 微力ながらも盛り上げ企画に貢献したく、本書の内容を読んで、各章ごとに感想を書いていきます。

感想をながながと書いてしまったので、この記事を「Claude 3 Sonnet」で要約してもらいました。

生成AIサービスAmazon Bedrockの入門書で、Bedrockの基礎からアプリ開発手法、RAGやエージェントの作成、さまざまな連携例などが丁寧に解説されている。実践を通して生成AIの活用方法が具体的にイメージできる。初心者にもわかりやすく、充実した内容となっている。

とのことでした。

なお、試し読みもできるようです。
(この試し読みに、ハンズオンのGitHubのリンクがあるのですが、正直コレだけでも価値があると思います...大盤振る舞いですね。)

では、これより各章の感想を書きつつ、ハンズオンで試したときに自分の環境に合わせて変更したところなどにも触れていきます。

各章の感想

第1章 生成AIの基本と動向

「生成AIとは何か」の基本的なお話をChatGPTが発表されてから一大トレンドとなった生成AIの基本的な概念を解説しています。 "モデル"や"トークン数"など生成AIでは基礎となる概念を解説しています。 GitHubを使っているならGitHub Copilotについて触れることも多いと思いますが、この章ではGitHub Copilotの基本的な仕組みも解説しており、 手っ取り早く生成AIの凄さを体感できる近道としてGitHub Copilotに課金するのもありかもしれません。 私は普段プログラムはそこまで書かないのですが、Copilotチャットがとても優秀ですし、VSCode内で完結して触れるということで、普段の仕事としてはChatGPTへの課金よりもGitHub Copilotへの課金の方がコスパが良いと感じました。

第2章 Amazon Bedrock入門

Amazonの提供する生成AIサービスのBedrock入門です。 まさに入門という内容で初学者にも優しい内容になってます。 BedrockはAWSのサービスの一つですし、エコシステムに則れるのが強いですね。 Bedrockの大きな特徴の一つとしては、Amazon以外の会社のモデルを利用することができるです。 簡単に試せるプレイグラウンドもありますが、先に利用するモデルの有効化が必要です、 この部分が少し他のAWSサービスと比べてハードルが高いのですが、リクエストのやり方も丁寧に書かれているので、記載の内容に従えば簡単に試すことができます。

後半では、AWS SDKを利用して、BedrockのAPIを直接呼ぶハンズオンもあります。 ハンズオンというと身構えてしまいそうですが、ソースがGitHubで公開されているので、気軽に試すこともできますね。 Cloud9を利用した構築方法の案内があるため、ローカルPCのスペックに関係なく簡単に試すこともできます。

ローカルで試すときの注意点

ローカルで試すときは、Cloud9と同じPythonのバージョンを利用するために pyenv などを利用して Python 3.9.16 に切り替えた後、必要に応じてAWS Profileを利用したセッション作成やリージョンの指定も行うとよさそうです。 私は以下のような変更を行い、ローカルPCで試すことにしました。

# プロファイル指定してセッションの作成
session = boto3.Session(profile_name='your-profile-name')

# Bedrockクライアントの作成
bedrock = session.client("bedrock", region_name="us-east-1")

マルチモーダルのサンプルを試してみる

試しに AWS App Runner の VPC ネットワーキングを解説してもらいました。

画像は「AWSブログ」より引用させていただいております。

この画像は、AWS (Amazon Web Services) のネットワーク環境におけるVPCネットワーキングモードのアーキテクチャを示す図です。アプリケーションの実行環境、Fargate、顧客環境の3つのVPCが描かれており、それぞれの役割と通信の流れが矢印で示されています。 画像の左側には、インターネットからのリクエストラフィックを受け取るApp Runnerがあります。App Runnerは複数のタスクに対してプライマリーENIを使って通信を行います。 中央のFargateのVPCには、それぞれのタスクに対応したHyperplane ENIがあり、アウトバウンドのアプリケーショントラフィックをお客様側のHyperplane ENIに送信します。 右側のCustomerのVPCには、お客様のプライベートVPCリソースとHyperplane ENIが描かれています。Hyperplane ENIはFargateから受け取ったトラフィックをプライベートリソースに転送します。 さらに、アウトバウンドのイメージプルやログプッシュの通信経路もAmazon ECR、CloudWatchに示されています。最終的にNATゲートウェイを経由してインターネットゲートウェイに出ていく流れが描かれています。

ちゃんと画像を理解して、正確に解説してくれていそうです。 特にAWSのサービスなどは得意分野なのかもしれません。

第3章 生成アプリの開発手法

生成AIとのやり取りの基本となる「プロンプト」の説明から始まります。 生成AIに指定したい内容を伝える システムプロンプト 、利用者となるユーザーの質問などの ユーザープロンプト 、生成AIの回答となる アシスタントプロンプト などのプロンプトの基礎の説明から、生成AIとやり取りの単位となる「トークン」の説明まで、まずは基礎的な内容を押さえています。 全ページカラーも相まって、初心者を置いていかない仕組みが素晴らしいですね。

そして、生成AIを上手に使うために必要な「プロンプトエンジニアリング」の手法も詳細に解説があります。 この「プロンプトエンジニアリング」は、プログラマー以外の一般の人でも工夫して良い答えを生成AIから引き出せるというのが、今まで私がしてきた「エンジニアリング」的な仕事とは大きく異なる点かなと感じてます。 この「プロンプトエンジニアリング」のお陰で、今までプログラムに触れたことが無い人たちでも活用することができており、生成AIの民主化に大きく貢献したのではと思っております。 やっていることは、チームの人などに指示するのと同じですしね。 上手にマニュアル化したり指示できたりする人は、生成AIの活用もうまくできそうです。

LangChainをローカルで試すときの注意点

ローカルでLangChainを使う場合、私の環境ではAWS Profileを設定する必要がありました。
環境変数に設定することで、問題なく実行できました。

export AWS_PROFILE=your_profile_name

あわせてリージョンも ChatBedrock() に指定することで、問題なく実行できました。

chat = ChatBedrock(
    model_id="anthropic.claude-3-sonnet-20240229-v1:0",
    model_kwargs={"max_tokens": 1000},
    region_name="us-east-1",
)

Streamlit

Streamlit を使えば少しのコードでWebアプリとして生成AIを利用することができます。 よくあるLLMのチャットアプリをPoC的に試すことが本当に簡単にできます。 LangChain と組み合わせることで、数行で生成AIを利用したアプリができてしまうことに感動しました。

Streamlitawscli v2 と同じ環境に入れる場合は注意が必要そうです。 最新版の streamlit を入れると以下のエラーが発生しました。

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
awscli 2.15.30 requires python-dateutil<=2.8.2,>=2.1, but you have python-dateutil 2.9.0.post0 which is incompatible.

このエラーは、awscliとstreamlitが依存しているpython-dateutilパッケージのバージョンに互換性の問題があることを示しています。awscliはpython-dateutilのバージョンを2.8.2以下に制限していますが、streamlitのインストールによりpython-dateutilのバージョンが2.9.0.post0に更新され、互換性の問題が発生しています。 Pythonの仮想環境を使うか、書籍にも記載しているバージョンの streamlit==1.33.0 を利用しましょう。

第4章 社内検索RAGアプリを作ってみよう

RAGの基本的な説明から始まり、生成AIを使ったRAGアーキテクチャの実装例を解説しています。 その中で、自然言語をベクトル化してコサイン類似度で比較する図があり、検索の仕組みがわかりやすく説明されています。

Knowledge base for Amazon Bedrock を利用したRAG作成方法が丁寧に解説されており、マネジメントコンソールでポチポチするだけで簡単にRAGを作成することができます。 ただ、OpenSearch Serverlessを利用するため、こちらは本当に値段が高いので使う場合は注意が必要です。 RAGは簡単に作れても、公開するにはFrontendも必要になります。 ここでも StreamlitLangChain を利用して、簡単にWebアプリ化する方法も解説されています。 Streamlit は本当に便利ですね。 LangChain を利用せずに Boto3 のみでの例があるのも助かります。

第5章 便利な自立型AIエージェントを作ってみよう

ここではベクトルデータベースに Pinecone を利用しています。 Pinecone は、ベクトルデータベースを提供するSaaSですが、今回はAWS Marketplaceの製品を利用しています。 Marketplace初心者でもわかるように丁寧に説明しているから安心感がありますね。 AWSの他のベクトルデータベースに比べてかなり安いため、セットアップに少し手間暇はかかりますが、初めてベクトルデータベースを利用する人にはおすすめです。

Agent detail で指定するエージェント向けの指示のプロンプトが非常に参考になりますね。 エージェントを利用したことがなかったのですが、エージェントのトレース情報を見ることにより、生成AIの挙動を理解することができますね。 ここが面白く興味深い内容でした。

第6章 Bedrockの機能を使いこなそう

ファインチューニングのやり方が解説されてます。 教師あり、教師なし両方のやり方が解説されているので、試してみたくなるもののファインチューニングはオンデマンドでは利用できず、プロビジョンドスループットじゃないと使えないので、ちょっとハードルが高いですね。 やはりファインチューニングはある程度予算がないと難しそうです。

Berock Studioの使い方も解説されています。 現在はまだプレビューのようですが、手軽にBedrockを使ってもらうために良さそうな機能です。

第7章 さまざまなAWSサービスとBedrockを連携しよう

CloudWatchで出力できる項目の説明や、CloudTrailでの監査ログのサンプルなど、AWSのサービスとBedrockを連携するための基本的な知識が書かれています。 CloudFormationのサンプルの掲載もありました。 BedrockはすでにCloudFormation対応しているんですね。

第8章 生成AIアプリをローコードで開発しよう

Step Functionsを利用した生成AIアプリの開発方法が解説されています。 Step Functionsの詳細な説明から入っているのがありがたいですね。 Qiitaの記事を取ってきて、各記事の要点をまとめて、作者の自己紹介文とキャッチコピーまで生成するアプリを作成しています。 最後にアイキャッチまで生成しているのがすごいですね。 応用できそうな例でとても興味深く感じました。

第9章 Bedrock以外の生成AI関連サービスの紹介

Amazon QやSageMakerなどの紹介がされています。 Amazon Qは期待のサービスですが、まだ英語メインなのでその点で少し使いづらいかもしれません。 出たばかりのAmazon Qの情報がまとまって載っているので、Amazon Qを試してみたい人にはオススメの章です。 私はデータ分析基盤も作っているため、Amazon Q in QuickSightが気になりました。

第10章 Bedrockの活用事例

作者3名の会社での活用事例が紹介されています。 企業での活用事例は、生成AIの活用方法がより具体的にイメージできるので、とても参考になりますね。 実際に使っている人の話を聞くことができ、とても貴重な情報です。

第11章 お勧めの最新情報のキャッチアップ方法

AWS公式ドキュメントやブログ、技術コミュニティなどが紹介されています。 お馴染みの情報源が紹介されているのですが、新たにAWSを学ぶ人にはとても参考になると思います。

付録

AWSアカウントの作成から、開発環境のCloud9の構築まで丁寧に解説されています。 MFAを設定するなど、ベストプラクティスな内容も含まれているので、初心者にはとてもありがたいですね。

まとめ

一通り読んで試した感想としては、 誰も置いてきぼりにならないように配慮して丁寧に説明している本 と感じました。 生成AIの基本概念や動向、プロンプトエンジニアリングの手法、RAGやエージェントの作成、さまざまなAWSサービスとの連携例など、充実した内容となっています。 マネジメントコンソールの操作手順やコードサンプルが用意されているため、実際に手を動かしながら学習できます。

  • 丁寧な説明から入る
    • AWSのサインアップから説明がある
    • コサイン類似度などベクトル検索の説明などにも触れている
  • 全編カラーで読みやすい
    • しかも重要な文章は、ハイライトされている
  • マネジメントコンソールの操作は、キャプチャーが準備されている
    • マネジメントコンソールはアップデートが激しいので、今後改定など考えると大変そう
  • コードについては、GitHub で公開されている
    • git clone してそのまま動かすこともできる

また、AWSをある程度知っている人向けの本かなと思っていたのですが、AWSのサインアップから説明があるので、これを機会にAWSを触ってみたい人にも勧めれる内容になっています。 AWSは豊富なサービスを組み合わせて「ビルディングブロック」でアプリケーションを構築していきます。 特定のサービスのみ使おうとしても、IAMなどの理解も必要だったり、初学者には大変な要素もありますが、Bedrockを中心にビルディングブロックでアプリケーションを組み立てるサンプルなどもあったりします。 Amazon Bedrock を中心に、生成AIの基礎から実践的な開発手法までを幅広く解説した入門書になっていました。

丁寧な解説と実践を通して、生成AIの活用方法が具体的にイメージできる点はとても役に立つと思いました。 Streamlit などの解説もあり、Bedrockを利用したWebアプリを簡単に実現できるところなど、PoCとして活用することができそうです。 生成AIは新しい技術分野ですが、今後誰もが利用する技術になっていくと思われます。 まずは、本書を読んで活用する足がかりにすることができそうと感じました。

「Cloudflare Meet-up Osaka #4」 #CloudflareUG_kix 参加メモ

Cloudflare Meet-up Online!! #3

cfm-cts.connpass.com

前回いつだったっけな?
参加した気もするがメモってないのかも。

Developer Week 2024 re:Cap

亀田さん

www.docswell.com

先日、オンラインで聞いたお話と同じスライドでしたので、そのメモを参照。

JS RPCを理解する

yusukebeさん

speakerdeck.com

  • RPC とは
    • Remote Procedure Call、リモートの関数を呼び出す
  • Bindings とは
    • つなぐ、Cloudflare のプロダクトへ Workers からつなぐための概念と手段
    • wrangler.toml で binding するだけ
    • 認証キーいらない、SDKでオブジェクトを作らずJSメソッド呼ぶだけ
  • JS RPC
    • Binding として呼び出せて、Service Binding で繋いでる
    • WorkerEntryPoint をエクスポートするだけ

とても勉強になりました。
便利な Binding ちゃんと理解しておこう。

S3 ではなく R2 を選ぶのか?

Kanonさん

speakerdeck.com

やっぱりイグレス無料が魅力か?

「ChatGPT Meetup Osaka #2」 #chatgptjp に参加してきた

ChatGPT Meetup Osaka #2

chatgpt-jp.connpass.com

1年振りとのこと。
確かに前回 は去年の4月だ。

セッション

Techカンファレンスのセッション情報を話すRAGを作ってみた話

Okamoto Hidetakaさん

www.docswell.com

  • RAGをプロンプトで作る
    • トークン数制限がある
      • トークン数の兼ね合いで、プロンプト作るのは英語のほうが有利
      • HTMLのソースはMarkdownに変換してトークン数減らす
    • 質問の前のコンテキストに回答に関係のありそうな情報を詰め込んで答えさせる
      • 記事を細かく、関係性の高い部分だけ
      • ベクトル検索なので、関連性・類似性で検索される
    • 事前処理頑張ると、検索精度が10-20%ぐらいあげれる
    • モデルを変えるだけでも生成結果が変化する
    • 検索結果をプロンプトに書いて、良い結果が望める検索結果を探す
      • プロンプトも良い結果が出るのを探す

RAG/LLM は沼る...
結果から良い検索を探す手法は真似したいが、ベクターDBに何入れるか考えるのが大変だから、まとめてDBにツッコんで、プロンプトで頑張ってみるとなりがちなんですよね...

retrievalの評価ツール「ranx」を使ってRAGの改善をやってみる話

Shimizu Kuniakiさん

speakerdeck.com

  • RAG 評価ツール ranx
    • ランキング評価メトリクスライブラリ
    • 正解データと検索結果のデータを評価してくれる
      • QAの tsv データを使う
      • シンプルで学習コストなく使える
        • 評価メトリックスの知識は必要
    • retrieval の評価のみなので、generation の評価は別途必要
      • Ragas とか使う

RAG結果を評価するためのツールがあるのか。
プロダクトとして外に出すなら、評価するのはめっちゃ重要ですもんね。

非エンジニアの税理士が学んだこと

Takaeda Ayaさん

  • フリーの税理士、AIに奪われるランキングで税理士が入ってるからChatGPTに興味を持った
  • 会計ソフトに読み込ませるためにGPT4o を利用
    • とても精度良く画像が読み込める
  • 税法など専門的なところは弱い

フリーの税理士、AIに奪われるランキングで税理士が入ってるからChatGPTに興味を持ったと。
って、全然エンジニアじゃない人の課題を解決できる可能性があるのが LLM 系のすごいところですね。

AIで生成したものをAIでチェックしてる話

Sumida Ippeiさん

speakerdeck.com

  • アンケートに答えてスタイリストwhithAIが選んだ商品が届くサービス DROBE を作っている
    • 似たユーザーに同じような商品を届けたい
    • フィードバックを元に個人に向けたメッセージも添えているので、個人情報は消して他のユーザーに使いまわしたい

トークンはそこそこ使うのでお金がかかるのはしょうがないけど、人件費に比べたらめっちゃ安い。
複数のLLM使うと精度があがるらしいので、同じGPTでもモデル違いで精度をあげるという取り組みですね。

Kong AI Gateway - LLMと上手く付き合うためのKong流アプローチ

Shinichi Hashitaniさん

speakerdeck.com

  • Kong: API Gateway の会社
    • リバースプロキシするサービス、セキュリティ・ガバナンスなど付加価値を提供

http header で接続先を変えて LLM を切り替えたりできるのは便利そう。

生成AIエージェントの時代

Yoshida Shingoさん

  • AIエージェントとは?
    • AIの行き着く先、環境を認識し目標を達成するために自律的に行動する存在
      • 指示しなくてもよしなにやってくれる、ルンバとかもそう
      • 生成AIはプロンプトでちゃんと指示しないとだめ
      • AIエージェントにはフローエンジニアリングが必要
      • 個性、記憶、計画、行動の4つの要素からできる
  • 生成AIエージェントのはじめかた
    • Function Callingによる外部実効性を試す
      • 社員情報を検索するとか
    • フレームワーク(AutoGPT, BabyAGI)を使う
    • 論文を参考にする

AIエージェントが進んでいくとエンジニアリングな仕事が奪われていく気もするけど、働かなくても生きていける時代が来るなら歓迎です。

ChatGPT でなんか作ってみた

こたうちさん

  • AR グラス(INMO Air2)にChatGPTを組み込んだデモ
    • コントローラーはスマートウォッチ Galaxy Watch4
  • カメラで写った食事を認識してカロリーを返したりできる

反応速度や電池持ちの問題はあるものの、そこそこの値段のものでここまでできるのは未来を感じさせるすごいデモでした。

「JAWS-UG朝会 #57」 #jawsug_asa 受講メモ

JAWS-UG朝会 #57

jawsug-asa.connpass.com

セッション

セッション① 組織統制に欠かせない!CloudFormationStackSetsのお話

NRIネットコム 西内渓太さん

  • CloudFormation StackSets
    • 複数リージョンのAWSアカウントや組織に対して一括でリソースをデプロイできる
    • 自動で組織内の新しいアカウントにスタックを作れる
      • Config と Security Hub などのセキュリティ設定を新規アカウントに自動デプロイとか
  • 組織統制のために AWS Organizations と組み合わせる
    • アカウントを用途や環境別に分ける
    • PJ単位で請求額把握
    • ユーザー別に操作可能な範囲を制限
  • 注意点
    • 一度に全てに適用していいか?
      • 開発、ステージ、本番と順番に適用する
    • テンプレートを差し替えるとどのテンプレートが当たったかわからなくなる
      • 開発、ステージ、本番と順番に適用する途中にテンプレートが変わったときとか
        • StackSets を OU ごとに分けて展開するなどで対策する

今まで Stack Sets に取り組んでない状況だと、まずは OU(Organizational Unit) 作って、その単位で Stack Sets を当てていくのがよさそうかな。

セッション② CloudFrontを使ってSPAなWebサイトを作る時に気をつけること

アイレット株式会社 畠山大治さん

  • CloudFront + S3 で SPA 作るときの設定
    • 403,404エラー時に / に返して 200 をレスポンス
      • 外形監視とかできなくなるので注意
    • CFF か L@E で制御
      • 細かい制御ができる

403,404 のときにトップに飛ばして 200 レスポンスすると都合の悪いケース(外形監視とか)も多そうなので、404とかようの html を作って表示した後、トップに遷移とかのほうがいいかも。

LT① 現場に入る新人が知っておきたいパイプラインの常識

野村総合研究所 山下禄大さん

  • ビルドツール
  • ローカルとの違い
    • サブモジュールや実行環境の違い
  • パイプラインとコンテナは相性がいい

ローカルも CI/CD パイプラインもコンテナ使って動かすのが手っ取り早いか。

LT② Arduinoを使ってAWS IoTサービスの最初の一歩を踏み出してみた

デロイト トーマツ ノード合同会社 中島亮太さん

Arudino で IoT Core 使うのは意外と簡単で、個人ですぐ試せるというのがいいですね。

LT③AWS DataSync クロスリージョン S3 to S3 転送をざっくり絵で紹介

NRI ネットコム株式会社 西 洋平さん

  • AWS DataSync
    • マネージドなファイル転送サービス
      • AWS間やAWSからその他のクラウドやオンプレなどへの転送ができる
      • Location で場所を指定し、 Task で詳細な内容を記載し、 Task Execution で実行する
  • S3 間転送の場合
    • Location は両方のリージョンに置く
    • Task は転送先に置く

S3 コマンドじゃなくて DataSync を使うケースとしては、ワークフローの処理として同期的に転送したいときに使うのがいいと。

「JAWS-UG東京 ランチタイムLT会 #11」 #jawsug_tokyo 受講メモ

JAWS-UG東京 ランチタイムLT会 #11

jawsug.connpass.com

セッション

LT① インフラエンジニアがAthenaと格闘してみた

古林 信吾さん(CTCシステムマネジメント株式会社)

zenn.dev

各 LLM に Athena のクエリを問い合わせて比較をしていました。
Copilot in Bing / Gemini / Claude 3 Sonnet を使ってましたが、Claude 3 Sonnect が賢そうですね。
生成AIがないと仕事にならないレベルで助かってます。
Athena については今後は Amazon Q に期待。

LT② IoT初心者にオススメ。神サービスAmazon Monitronについて

宮本 大嗣さん(株式会社カミナシ)

  • Amazon Monitron とは
    • Monitronセンサーを後付けして振動温度を監視して機械学習を利用して異常検知する
    • モーターが回ってるような機器の予知保全を行う
    • バイス準備に10万円。1センサー$50/年

こんなセンサーサービスがあるんですね。
しかも振動とかに特化しているのが面白いし運用費がめっちゃ安い。

LT③ 5分で分かる(かもしれない)Vector engine for OpenSearch Service Serverless

つくぼし(クラスメソッド株式会社)

dev.classmethod.jp

  • Vector engine for OpenSearch Service Serverless
    • Knowledge Bases for Amazon Bedrock で使えるベクターDB
      • Knowledge Bases 経由で作ったときのみコレクションにインデックスが自動で作成される
    • OpenSearch Serviceは、検索または時系列のみだったが、ベクトル検索に対応

Knowledge Bases 経由で作ったときとコンソールとかで作ったときの挙動が違うのは知らんかった。

なるほど、IaC 化するとき困るのか。

LT④ Amazon Pinpoint使ってますか?Amazon PinpointでGmail送信者ガイドラインに対応した話

石橋 翔太さん(みんなのマーケット株式会社)

speakerdeck.com

  • Amazon Pinpoint とは
    • Eメールやpush通知などメッセージ配信ができるサービス
  • 新しいメール送信者ガイドライン
    • DMARC対応
    • ワンクリックで登録解除必要
      • メールヘッダで対応する必要がある(RFC8058)
      • Amazon SES や SendGrid ではマネージドで対応している
        • Pinpoint は対応してない
  • Pinpointのカスタムチャネル
    • LambdaやWebhookができる
      • Lambdaを利用してヘッダーを追加することで対応
      • マネコンでできてた機能に制限がでてしまう
      • メール送信レートを考慮する必要がある

Pinpointって使い所がわからず触ったこと無いサービス...
分析とかワークフローに沿ったメール送信対応をするときに使ったりすると便利っぽい?

LT⑤ MWAAの良さを伝えたい!

足立 宏輝さん(株式会社NTTデータ

  • MWAA とは
    • Apache Airflow(ワークフローツール) を AWS で動かしてくれるマネージドサービス
    • 常時起動なので$500/月かかる
    • ジョブの前後関係が定義できる
    • AWSに閉じない各種サービスと連携できる

SFn辛いひとが使うと幸せかも?
$500/月はかなり費用としては高いのでそのハードルが高そうです。

「Cloudflare Meet-up Online!! #3」 #CloudflareUG_www 受講メモ

Cloudflare Meet-up Online!! #3

cfm-cts.connpass.com

前回は10月だったので半年以上振りですね!

Developer Week 2024 re:Cap

亀田さん

www.docswell.com

  • D1: SQLite
  • Hyperdrive: SQL Proxy 機能(for PostgreSQL)
    • GAされた
  • Workers Connect: TCP Socket機能
    • インバウンドTCP/UDP
    • アウトバウンドUDPは開発中
  • Workers Smart Placement: Worker をいい感じで起動する場所を変える
    • DB に近い場所で起動するとか
  • Workers Analytics Engine: Workers から利用可能な固定スキーマSQL DB
    • GAされた
    • Workersアプリの実行ログの保存に利用
  • Workers AI: エッジでの仮想化GPU基盤
    • GAされた
    • 150のエッジにGPUがある
      • Web GPU API: GPUがないエッジにはブラウザからGPU低レイヤへアクセス可能
  • Workers Python サポート
    • WASM経由で読めてたが、NativeでもPythonをサポート
  • AI Gateway Updates: LLM エンドポイントプロクシ
    • トークンの一括管理や回答のキャッシュ、ログ機能など
  • R2 Event Notification: R2のイベントからQueueに送信してWorkersを起動できる
  • Super Slurper: S3移行ツール
    • S3 に加えて Google Cloudもサポート
  • Cloudflare Data Pipeline: Kinesis みたいに R2 にデータを流し込むサービス
    • 計画中
  • Durable Object: データの永続性を持つシングルトンWorkers
  • Workers Rate Limit 対応
  • SDK
    • 今までは API しかなかったが SDK が追加された
    • TypeScript, Python, Go 対応
  • CDN SWR
    • State While Revalidate
    • オリジンに新しいコンテンツがあるか非同期に確認する方式
    • Expired の配信遅延を減らせれる

気になるところだけメモ!
盛りだくさんなアップデートでした。

LT1:本番環境でCloudflareを使っている話(イタリアの話!?)

@miu_crescent

speakerdeck.com

  • hod というオンデマンド動画配信を社員3人+SES2人で運営
    • 水曜どうでしょうでスパイクアクセス
    • S3 + CloudFront で配信、従量課金が辛い
    • R2 + Cloudflare CDN に変えて1年定額で契約
      • 今なら Super Slurper で引っ越しできそう
  • 動画配信が低解像度でキャッシュがすぐ消えて遅い問題発生
    • R2 がイタリアにできてた
    • Cache Eviction が発生していた
      • アクセスが少ないとキャッシュが破棄される仕様
      • Tiered Cache を有効化して解決

事例での話でわかりやすい内容でした。

LT2:Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)

@hmatsu47

www.docswell.com

Workers から MySQL 接続対応が進み始めた感じですかね。

LT3:WorkersのPython対応について

@k_miura_io

speakerdeck.com

Python対応はAI周りをやりたいときに嬉しい?

LT4:Cloudflare R2へ動画配信CDNを移行した話

@kazu0617

  • CloudFront + S3 から R2 に移行
    • 料金激減
    • ログはCloudFrontのほうが便利
    • 一部S3クライアントで動かなかった

QA

  • Q: Cloudflare Workers Browser Rendering API を使ったらSPAだけど、ページごとのOGPを返してあげる。ってのも出来たりしますか
    • A: できるけど秒間2回までなので制限かける必要あり

できるんだ!