Slide 1

Slide 1 text

2025/01 JAWS-UG 名古屋支部 Demo-1グランプリ AWS Youtube Channel Rankingの更新処理と Amazon Q Developer Pro の ドキュメント生成 2025/01/31 高木 建太朗

Slide 2

Slide 2 text

Takaki@frommiddle1 ・JAWS-UG名古屋 ・自動車産業の一端で開発 ・好きなAWSサービス:AWS IoT FleetWise 高木 建太朗 2/26

Slide 3

Slide 3 text

今日のデモの特徴と見どころ デモの特徴1 サーバレスアプリを作成してみました。 1-1. アーキテクチャ提示し、挙動をデモします。 1-2. システムを保持が低コスト※1なことを説明します。 デモの特徴2 上記のアプリに対して生成AI※2によるサポートを受けてみます。 2. CDKのインフラ部分に /doc を打ってみてReadme生成デモ をします。質の悪いコードからどこまで記述してくれるか? ※1. 流入がないだけだろ、という突っ込みはなしで… ※2. Amazon Q Developer Pro を使用します。 全編通してマサカリは随時募集。

Slide 4

Slide 4 text

作ったサービス https://aws-youtube-ranking.click/ • 「AWS」に関する動画投稿したYoutubeチャネルの総合サイト • 「AWS」に関する動画の総投稿数や、チャネルごとの人気度をランキング化

Slide 5

Slide 5 text

総動画投稿数推移

Slide 6

Slide 6 text

各種ランキング

Slide 7

Slide 7 text

チャネルごとの活動量の推移

Slide 8

Slide 8 text

アーキテクチャ AWS Cloud Amazon API Gateway Amazon Route 53 Amazon CloudFront Amazon Simple Storage Service (Amazon S3) AWS Lambda Amazon DynamoDB AWS Step Functions AWS Secrets Manager API Key React MUI Data Flow Amazon EventBridge ユーザからのインプットはさせな い仕様なのでWAFなし

Slide 9

Slide 9 text

Step Functions ステートマシン Youtube Data APIで昨日分の データを取得するために 開始時刻と終了時刻を生成 Step Functions で時刻を生成し にくいなぁ Youtube Data APIの初回実行 初見のチャネルを登録 各チャネルの当該日の投稿数を登録 念のためレスポンスをS3に アーカイブ Pagination Token を利用して再度呼 び出し その日に投稿された動画がす べて検索完了したら、カテゴ リ毎にランキングを作成 Tokenの有無で別 タスクとして定義 Do-Whileみたい にかけないの? Tokenの有無で別 タスクとして定義 Do-Whileみたい にかけないの?

Slide 10

Slide 10 text

ステートマシーンのDEMO

Slide 11

Slide 11 text

お値段 サーバレスに作ると非常に安い。 一番大きいのはドメイン取得の3$。 (*.cilck が最安値でした) ConfigとRoute53をのぞいたら 1$くらいで保持できます。

Slide 12

Slide 12 text

実装に関して AWS Cloud Amazon API Gateway Amazon Route 53 Amazon CloudFront Amazon Simple Storage Service (Amazon S3) AWS Lambda Amazon DynamoDB AWS Step Functions AWS Secrets Manager React MUI Amazon EventBridge この部分はCDKで実装

Slide 13

Slide 13 text

実装に関して AWS Cloud Amazon API Gateway Amazon Route 53 Amazon CloudFront Amazon Simple Storage Service (Amazon S3) AWS Lambda Amazon DynamoDB AWS Step Functions AWS Secrets Manager React MUI Amazon EventBridge Amazon Q そうだ、Q Developer Pro に ドキュメントを起こしてもらおう 開発用のAIのウェーブに乗りたい...

Slide 14

Slide 14 text

ドキュメント生成に対する期待値 1. システム内のデータフローを記述してくれるか? 2. 適当に定義した重要な変数を説明してくれるか? 3. CDK外の実装で重要な部分(Secrets Manager)に関す る言及をしてくれるか? 4. 定義したが実際には利用していないリソースに関して 説明してくれるか? ただやるだけじゃ 面白くないので

Slide 15

Slide 15 text

ドキュメント生成に対する期待値 1. システム内のデータフローを記述してくれるか? 2. 適当に定義した重要な変数を説明してくれるか? 3.CDK外の実装で重要な部分(Secrets Manager)に関す る言及をしてくれるか? 4. 定義したが実際には利用していないリソースに関して 説明してくれるか? CDKのエントリポイント のコードにドメイン名を ハードコード

Slide 16

Slide 16 text

ドキュメント生成に対する期待値 1. システム内のデータフローを記述してくれるか? 2. 適当に定義した重要な変数を説明してくれるか? 3. CDK外の実装で重要な部分(Secrets Manager)に関す る言及をしてくれるか? 4. 定義したが実際には利用していないリソースに関して 説明してくれるか? ただやるだけじゃ 面白くないので こんな感じの領域に キーを格納している

Slide 17

Slide 17 text

ドキュメント生成に対する期待値 1. システム内のデータフローを記述してくれるか? 2. 適当に定義した重要な変数を説明してくれるか? 3. CDK外の実装で重要な部分(Secrets Manager)に関す る言及をしてくれるか? 4. 定義したが実際には利用していないリソースに関して 説明してくれるか?

Slide 18

Slide 18 text

ドキュメント生成に対する期待値 AWS Cloud Amazon API Gateway Amazon Route 53 Amazon CloudFront Amazon Simple Storage Service (Amazon S3) AWS Lambda Amazon DynamoDB AWS Step Functions AWS Secrets Manager React MUI Amazon EventBridge 週間/月間ランキング用に テーブルだけ定義したが データを生成する処理が 存在しない。

Slide 19

Slide 19 text

システム内のデータフローを記述してくれるか? 簡単なダイアグラムをREADME.mdに記述してくれました。 合格 当日のデモで同じ出力が得られるとは限らないです

Slide 20

Slide 20 text

適当に定義した重要な変数を説明してくれるか? & CDK外の実装で重要な部分(Secrets Manager)に 関する言及をしてくれるか? ばっちり記述してくれました。 合格 当日のデモで同じ出力が得られるとは限らないです

Slide 21

Slide 21 text

定義したが実際には利用していないリソースに関 して説明してくれるか? 全部の記述粒度が同じ。不合格 当日のデモで同じ出力が得られるとは限らないです

Slide 22

Slide 22 text

ドキュメント生成に対する期待値(結果) 1. システム内のデータフローを記述してくれるか? 2. 適当に定義した重要な変数を説明してくれるか? 3. CDK外の実装で重要な部分(Secrets Manager)に関す る言及をしてくれるか? 4. 定義したが実際には利用していないリソースに関して 説明してくれるか? 合格 不合格 期待値がそもそもおかしい。 使い方が悪い。 もっといいAIツールがある。

Slide 23

Slide 23 text

まとめ • ビアバッシュにも参加します。マサカリ募集中です。 乾杯しましょう。 • サーバレスアプリを作成してみて、 1-1. アーキテクチャ提示し、挙動をデモしました。 1-2. システムを保持が約1USDと低コスト※1なことを説明しました • 上記のアプリに対して生成AI※2によるサポートを受けてました。 2. CDKのインフラ部分に /doc を打ってみてReadme生成デモ をしました。存在するコードに対しては頑張って説明してくれ ます。利用実態がないものなどの説明はできないようでした。