【イベントレポート】JAWS-UG 北陸新幹線 #3 in 上越妙高 #jawsug_niigata

いつも記事を読んでいただきありがとうございます！
モブエンジニア（[@mob-engineer](https://qiita.com/mob_engineer))です！

今回は2025.04.12（土）に開催した**JAWS-UG 北陸新幹線 #3 in 上越妙高**へ参加しましたので、アウトプットとしてイベントレポートを執筆しました。

初見の方でもサクッと読めるように平易な表現で執筆しておりますので、お気軽に読んでいただければ幸いです。

:::note info
誤字脱字、わかりづらい表現に関しては極力なくすように心がけていますが、リアルタイプで執筆しておりますので、誤字脱字があるかもしれません。
:::

#### イベントページ

https://jawsug-niigata.connpass.com/event/339845/

# 目次
- 講演
    - グローバル展開するAWSコミュニティプログラムのご紹介
    - Webアプリを Lambdaで動かすまでに考えること
    - AWSで実現する安全な AI エージェントの作り方
    - メール地獄からの解放！Amazon Bedrockによるお問い合わせフォーム改善ソリューション
    - AWSで社内ネットワーク監視して地方から全拠点を管理してる話
    - 事例紹介
    - 俺とAmazon SESとAction Mailbox
    - AWSをより深く知りシビれるためのre:Invent キーノート徹底深堀解説
    - Glue Studio Visual ETL実装時にハマったこと
    - 面倒なことはAWS CDKにやらせよう
    - AWS×AIでリアタイ実況DX
    - JAWS FESTA登壇を目標に、バックキャスティングしてみた
    - やればできるよ-awsへの乗り換え-
- まとめ

## 講演

### グローバル展開するAWSコミュニティプログラムのご紹介

#### 登壇資料

https://speakerdeck.com/awsjcpm/awskomiyuniteipuroguramunogoshao-jie-gurobaruzhan-kai-surukomiyuniteipuroguramu

-　自己紹介
    -　AWS Japanのコミュニティマネージャーの方
-　JAWS-UGとは
    -　専門支部＋地方支部含む60支部が立ち上がっている
    -　新支部も立ち上がっている
-　地域支部と専門支部
    -　地域支部
        -　勉強回数は地域支部が動いている
        -　つながり・コミュニケーションに重きを置いている
    -　専門支部
        -　勉強会申込数も多くなっている
        -　オンライン参加が増えている
-　AWS User Group（Leader）Program
    -　Regional CMにより登録される
        - （個人的意見）事務局を通じて登録されるのね
    - User GroupがあってAWSコミュニティがある
    - JAWS-UGの運営は240名
- AWS Community Builder
    - 年に一度の申請でアウトプット活動を審査する
    - 世界基準で審査が行われる
- AWS Heroes
    - Grobal Programの一つ
    - AWS社員からの推薦が必要
    - re:Inventは完全招待制

### Webアプリを Lambdaで動かすまでに考えること

#### 登壇資料

https://speakerdeck.com/_kensh/how-to-implement-monolithic-lambda-web-application

#### 参考サイト

https://aws.amazon.com/jp/builders-flash/202304/api-development-sam-fastapi-mangum/

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/snapstart.html

https://aws.amazon.com/jp/builders-flash/202503/learn-aws-lambda-snapstart/

- 自己紹介
    - AWSJapanのソリューションアーキテクトの方
- サーバーレスについて考える
    - サーバーレス出身 or オンプレミス出身
    - サーバーレスってちょろいのではないか？
        - 実際はちょろくない
    - サーバーレスに求められる知識は幅広い
        - AWSサービス全体の知識・DevOpsの知識
- 既存のWebアプリをLambdaに乗せたいか
    - 慣れ親しんだフレームワークを利用したい
        - 開発経験者の確保が容易、学習コストが低くなる
        - LambdaとWebフレームワークの親和性は意外と高くない
            - （個人的意見）Lambdaは並列実行、Webフレームワークは直列実行のニュアンスかしら
    - FastAPIをLambdaで利用するためにはMangumと呼ばれるアダプターを入れる必要がある
        - Web Adapterを利用すれば追加アダプターを入れなくてもいい
        - （個人的意見）サードパーティのアダプターを入れると互換性の問題だったりありますよね
- Lambdaパスパラメータ問題
    - AWS Managed Domainをそのまま利用した場合、環境に応じてパスを取得できない
        - （個人的意見）パス問題は悩ましいところがあるんですよね
    - Lambdaの機能を利用すれば解決することも可能
- Lambdaの最適化
    - 最初はモノリスで運用していく
    - 徐々にモノリスを分解していく
        - Snap Startを利用すれば最適化を実現できる
    - Lambda関数のボリュームが大きくなるとコールドスタートにつながってしまう
        - Provisiond Cuncurencyを利用することでコールドスタートを防止できる
        - （個人的意見）Lambda関数に応じてAPIを設計していくのが大切ってことですかね～

### AWSで実現する安全な AI エージェントの作り方

#### 登壇資料

https://speakerdeck.com/gawa/how-to-build-secure-ai-agents

#### 参考サイト

https://aws.amazon.com/jp/what-is/ai-agents/

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/conversation-inference.html

- 自己紹介
    - AWSJapanのソリューションアーキテクトの方
    - 社内でもサーバーレスコミュニティを立ち上げている
- 2023年から振り返る生成AI
    - AIエージェントに関しては今年になってからアップデートが激しくなった
    - 開発以外でもAIエージェントが利用できる場合も
        - （個人的意見）コード執筆数が4万行はすごい！！
- AIエージェントの作り方
    - AIエージェント：自分の置かれている環境を理解し、ツールを活用しつつ複数タスクを解決する
    - 世の中に出ているAIエージェントの仕組みは基本的に同じ
    - AIエージェントは基本的に**プロンプト**と**LLM**で動いていく
        - （個人的意見）コントローラからツールへの指示はAPIベースなんですかね？
    - AWS Bedrock機能を利用すれば、AWSっぽいアプリケーションを生成できる
        - （個人的意見）エージェントを呼ぶ機能を実装すれば面白そうね
- MCPサーバあれこれ
    - MCPを利用することで他AIエージェントを利用することができる
    - 悪意あるコードやネットワーク通信がある場合もある
        - （個人的意見）セキュリティを考慮した利用は大切ですね
- 開発以外に応用できるエージェント
    - システムプロンプトを調整することでカフェ店員になりきる場合も
        - カスタムエージェントとしてダッシュボード化することも一つの手
- 安全なAIエージェントを実現するために
    - Bedrockガードレースの仕組みを実装することが大切
        - （個人的意見）ガードレール昨日はその通りですね
    - ローカルにある設定ファイルに含まれている環境変数をマスクすることができる
        - （個人的意見）マスク機能は確かに重要ですね

### メール地獄からの解放！Amazon Bedrockによるお問い合わせフォーム改善ソリューション
- 自己紹介
    - グローバルネットコアの方
    - 越後ネットワーク・オペレーターズ・グループの運営の方
    - 好きなサービスがRekognitionの方
- メール地獄あれこれ
    - Webフォームからのお問い合わせは営業目的の投げ込み情報
    - 分析を楽にするためにAmazon Bedrockを利用してみる
- 仕組み
    - お問い合わせフォームに投げ込まれた情報をDBに入れる
        - DBに入っている情報をBedrcokを通じて分類させる
- フィードバック
    - 振り分け精度についてはほぼ完ぺきだが、一部見逃しがある
    - 誤判定に対する再学習をどうするか考える必要がある
        - RAG or ファインチューニングがあるがいったんペッティング
    - 安価かつ容易なソリューション
        - SageMakerはお値段が高い
    - Novaシリーズも試してみたが
        - 精度面でClaudeのほうがよかった

### AWSで社内ネットワーク監視して地方から全拠点を管理してる話

#### 参考サイト

https://pages.awscloud.com/rs/112-TZM-766/images/B1-04.pdf

- 自己紹介
    - クラスメソッドグループのアノテーション所属の方
    - クラスメソッドの情報システム担当の方
    - 社内情報統制・脅威インテリジェンスがトレンド
- NW管理体制あれこれ
    - 上越オフィスで管理している
    - 各拠点でのNW管理者は不在（本社に1名）
    - 構成としてはAWSのベストプラクティスに沿った運用
        - （個人的意見）リーフ and スパインなんですかね～
- 運用ポイント
    - 本番用回線と監視保守回線は完全に分離している
    - 監視については監視アプリで一元管理
        - （個人的意見）SDNを入れると高額になりますからね
    - コストに関しても年間2万円くらいで抑えている
    - （個人的意見）ネットワーク監視・運用をAIを活用するといい感じになりそうですね！

### 事例紹介

#### 参考サイト

https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-remote-desktop-gateway.html

- 自己紹介
    - JAWS-UG金沢の方
    - 今回話す内容としてクラウド上に載っているWebアプリをどうやって拡張するか
- Windowsフォームの配布方法
    - ユーザ増加時のRDPをどうやって増やしていくか
    - RDP数に応じてインスタンス数を増やすのはどうか？
        - RD Gatewayを利用すれば一元管理できるが、Gatewayが使えなくなったら...
    - NLBでクラスタリングさせる
    - HTTPSを利用しているのでクラスタリングするのも・・・
    - AWS公式ブログで公開されている
- まとめ
    - RDを直接提供するのはリスクがある
    - RD Gatewayを利用すると一元管理できるが単一障害点になってしまう

### 俺とAmazon SESとAction Mailbox

#### 参考サイト

https://docs.aws.amazon.com/sdk-for-ruby/aws-actionmailbox-ses/api/file.README.html

- アーキテクチャ
    - RailsとSESを組み合わせてメール通知システムを構築した
    - テスト自体はインターネットに置く必要はないが置いた方がテストしやすい
    - Eメール受信の機能がないリージョンではうまくできない
- まとめ
    - ハンズオンもあるようなので試してみたいですね！！

### AWSをより深く知りシビれるためのre:Invent キーノート徹底深堀解説
- 自己紹介
    - Fin-JAWS運営の方
- キーノート
    - キーノート一つ一つに物語がある
    - AWSのサービスを通じて複雑さをいかにシンプルにしていくか
        - 20年前のS3・EC2立ち上げメンバーから
        - ケータリングリーダに注目していた
        - REST APIの考え方に関しても20年前から考えていた
- いかにシンプルに徹するか
    - 機能階層を解体する、組織を小さな自律的なチームに編成する
    - ピザの食べ残しをそのまま冷蔵庫に入れるといった発想からGlacierが生まれた

### Glue Studio Visual ETL実装時にハマったこと

#### 登壇資料

https://speakerdeck.com/kokitamura/glue-studio-visual-etlshi-zhuang-shi-nihamatutakoto

- 自己紹介
    - 虎ノ門のどこかのSIerの方
    - JAWS-UG富山・SRE支部の方
- AWS Glueとは
    - データの変換・統合、品質管理、オーケストレーションができるもの
    - Visual ETLを利用することで視覚的に管理できる
- はまったこと
    - スクリプト編集してGUIを保存するとGUI上で操作ができない
    - Visual EditorでDBなどのソースからデータ取り込んだら予期せぬ型変換がある
        - Change Schemaを利用して事前に修正することで改善可能
    - Unionは順序を完璧にそろえてから実施すること
        - （個人的意見）ある種正確な処理ができるが、めんどくさいわね
        - （個人的意見）エラーログが見づらいのは厳しいわね、、、ツールを利用して自動的に見れるようにするのが大切なのかしら
- まとめ
    - Visual作成時はScriptタブで編集しない
    - データ型を各ノードで確認しながら実装
    - カスタムコードの実装後は、Select　From Collectionを利用する
    - 05/10に富山支部でハンズオン会がある！！

### 面倒なことはAWS CDKにやらせよう

#### 参考サイト

https://speakerdeck.com/smt7174/denynituite-gai-meteli-jie-suru

- 自己紹介
    - KAG所属のエンジニアの方
    - Community Builder、JAWS-UG名古屋支部の方
- AWSで面倒なこと
    - IAM Policyの設定
    - 設定をミスったら情報漏洩につながってしまう
        - Allow/Deny設定に関してはJAWS-UG名古屋支部のプレゼンで発表されている
    - AWS CDKを利用すれば楽にアクセス設定ができる
- AWS CDKによるアクセス制御
    - grantXXXメソッドを利用すれば楽に設定可能
    - 必ずしも最小権限の原則に沿っているかどうかは確認が必要
- まとめ
    - AWS CDKのgrantXXXを利用すればポリシー設定が行える
    - 必ずしもgrantXXXが銀の弾丸というわけではない

### AWS×AIでリアタイ実況DX

#### 参考サイト

https://qiita.com/Kahiro/items/117cb26b6df15676f281

- 自己紹介
    - NECソリューションイノベータ所属の方
    - JAWS-UG名古屋運営の方
- DXの定義
    - 総務省の定義を見ると：大規模なものを作成する
    - アウトプットすることが大切
        - とはいえ、LTを聞きながらアウトプットするのは難しい
    - AIの力を活用してにぎやかしツールを作ってみる
- アプリアーキテクチャ
    - Kinesisを利用してSNS送信を行っている
    - Transcribeを行って文字変換を行っている
    - AIによるコメント生成を利用してみた
- まとめ
    - DXのチャンスは身近にある

### JAWS FESTA登壇を目標に、バックキャスティングしてみた
- 自己紹介
    - NECソリューションイノベータの方
    - JAWS FESTA2025をきっかけに開発
- JAWS Festa登壇
    - 基本的にCfP・CfX・スポンサー枠がある
    - テーマを分析してみたところ、どのようなテーマでもいい
    - 上司に相談したところバックキャスティングを考えるように相談された
- バックキャスティングとは
    - 目標に対して現在やるべきことを整理してみる
    - ちいさいところからチャレンジしていく
        - （個人的意見）めちゃくちゃ良い話ですね！！
- まとめ
    - 2025のJAWS FESTAの登壇目指してチャレンジしていく

### やればできるよ-awsへの乗り換え-
- 今回のテーマ
    - 10年以上動き続けた医師会サーバをAWSに移行した
- 当初の構成
    - Web・DB・メールサーバが同居していた
    - サーバが停止するリスクを抱えていた
- 上司からの一言
    - WebサーバをAWSに移行しよう
        - クラスメソッドさんへ相談して一緒に進めていった
    - 最初に構成見直しを行った
        - EC2・Auroraを利用して構築
- 苦労したところ
    - PHPバージョンの統一：
        - 厳格な記述を求められる最新バージョンと良しなに理解した旧バージョンが混在しているのが良くない
    - cron移行時のログ出力など
    - 本番環境特有のエラー対応
        - （個人的意見）このあたりはベンダー側も考えないといけないところですからね
- AWS移行して得られたメリット
    - 属人化の解消
    - 可用性・セキュリティの強化できた
    - コスト面で安く抑えることができるようになった
    - 今後はIaC化も考えていく

## まとめ

今回、新潟初上陸でしたが多くの学びを得ることができました。
そのうえで、自作アプリのLTを通じて「私も何かしらアプリを作ってみたい」といった思いが強くなりました！！

最後まで、記事をお読みいただきありがとうございました！