薄っぺらりん

厚くしていきたい

2025年を登壇資料で振り返る

2025年の登壇を資料と共に振り返ります。

目次

  • 目次
  • 1月:数クリックで簡単Webサイト公開! AWS Amplifyホスティング
  • 1月:ユーザーが簡単・安全にS3へアクセス! ―AWS Transfer Family web apps―
  • 2, 3月:オンプレ(自宅)からAWS Site-to-Site VPN! NAT越え、双方向名前解決、フェイルオーバーまで
  • 4月:AIコーディングエージェントClineとAWS MCP ServersでAWSを使ったシステムのレビューと機能追加してみた
  • 5月:AWS オブザーバビリティ入門 LambdaとECSで実践するベストプラクティス
  • 7月:AWS Summit Japan 2025 参加レポート AWS Expoで楽しく学ぶ
  • 7月:AWSデータサービス連携はおまかせ!AWS SDK for pandas
  • 8月:AWS 状態遷移とリアルタイム通信でオンラインゲームを構築
  • 8月:AWS Amplify Gen2 ― CDK と Sandbox で快適フルスタック開発 ―
  • 9月:閉域からのCognito認証とSESによるMFAの勘所
  • 10月:Amazon Simple Email Service、本稼働してみた!
  • 11月:Rekognition × WorkSpaces Applicationsで写真の ”映り込み” を守る
  • 12月:AWS re:Invent 2025の4つのアップデートで作る 音声×分析スケジューリングエージェント
  • おわりに
続きを読む

AWSで実現するマルチクライアント状態同期とリアルタイム通信

「全員がある状態に達したとき、次の状態に移行する。」
普段何気なく過ごしていると気付きませんが、生活する中で頻繁に起こっていることです。
例えば、朝の通勤バスで乗客全員が着席したり吊革につかまるのを待ってからバスを発進させたり、チーム全員がそろってから会議を始めたり、全ての承認者の承認を得てから不可逆な作業を開始したり、必要な全ての中間成果物がそろってから最終的な成果物の作成に移ったり、ロビーの全プレイヤーの準備が完了してからゲームを開始したり。
このとき、大まかに次のようなことを行っています。

  • 自分の状態を周囲に伝える
  • 自分以外の状態を確認する
  • 自分が特定の状態になった後、自分以外が特定の状態になるまで待機する
  • 全員が特定の状態になったことを確認し、次の状態に移行する

通常、個々のクライアントの状態をデータベースに記録し、全体の状態を管理するコンピュートリソースの構成が必要となります。
しかしAWSでは、いくつかのサービスを組み合わせることで、それらを構成することなくマルチクライアント状態同期とリアルタイム通信を実現できます。

この記事は、AWSに関するある程度の知識を持っている次のような方におすすめです。

  • クライアント全体の状態遷移の同期および管理を実現したい方
  • 複数のクライアント間でリアルタイム通信を行いたい方
  • サーバーレスサービスのみで構築したい方
  • フロントエンド・バックエンドでトライアンドエラーする開発を効率的に行いたい方

目次

  • 目次
  • 作成したオンラインゲーム
    • プレイ動画
    • 全体の流れ
  • システム構築とポイント
    • アーキテクチャ
    • IaCを含む全てのソースコード
    • マルチクライアント状態同期
      • Step Functionsタスクトークンを用いた状態同期
      • AppSync Eventsによるリアルタイム通信
      • タスクトークンをEventsで配布することによるリアルタイム状態同期
      • オンラインゲームの状態同期とリアルタイム通信
    • Amplify Gen2によるフルスタック開発
      • サンドボックスを用いた効率的な開発
      • CDKによるAmplifyの機能を超えた柔軟なバックエンド定義
      • AppSync GraphQL Lambdaリゾルバー
    • コスト
    • 重要なクォータ
  • イベント発表資料
  • おわりに
続きを読む

AWS Site-to-Site VPNを実機で検証! NAT越え、双方向名前解決、フェイルオーバー、帯域幅増加まで詳細解説

AWS Site-to-Site VPNについて社内向けランチセッションで発表しました。
オンプレとAWS間のVPN接続と言えばAWS Site-to-Site VPNですが、カスタマーゲートウェイバイスが必要となるため検証のハードルが高く、使用方法や構成イメージが付きにくいサービスでもあります。
そこで今回、一般的な次のユースケースについて、実機を用いて検証を行い、設定方法や動作のポイントを詳細に解説しました。

  • NAT越しのAWS Site-to-Site VPN接続
  • オンプレとAWSとの双方向名前解決
  • AWS Site-to-Site VPN接続を2つ使用したフェイルオーバー
  • ECMPを使用した帯域幅増加

特にフェイルオーバーについては通信中にルーターの電源プラグを抜くことで、バックアップ用の接続に経路が切り替わる様子を観察するという、普通ではなかなか検証しづらいことを行っています。
スライドは以下Docswellにて公開しています。
図や画像をふんだんに使用することで、AWS Site-to-Site VPNに触れたことがない方でも理解しやすい資料となっていますので、ぜひご覧ください。

AWSでサンタさんのプレゼント配達システムを構築! 手紙からの情報抽出、配達経路の最適化

この記事はJapan AWS Top Engineers Advent Calendar 2024の13日目の記事です🎄

アドベントカレンダーと言えばクリスマス、クリスマスと言えばサンタさんですね🎅
もしもサンタさんの仕事をシステム化するとしたら。。。
そこで今回はサンタさんへ宛てた手書きの手紙からプレゼントや住所を自動で抽出し、最適な配達経路を地図上に表示するシステムをAWSで構築してみました!
架空のシナリオとしてサンタさんの抱える課題を考え、システム構築のポイントを解説します🎁

AWSに関するある程度の知識があり、次のような方におすすめです。

  • 生成AIをシステムに組み込みたい方
    • Amazon Bedrock
    • マルチモーダルモデルへの画像およびテキストの入力
  • AWSで地理情報を扱いたい方
  • AWSを使用して配達システムやナビシステムを作りたい方
    • 複数住所への最適な配達経路の取得
    • AWS Marketplaceで難しい解決策を迅速に実現
  • 実践的なアーキテクチャを学びたい方
    • サーバーレスサービスを使用する上での考慮点
    • CDKによるIaCやWebアプリを含む全てのソースコードを公開

目次

  • 目次
  • シナリオ
    • サンタさんの抱える課題
    • ソリューション
  • システムの使い方、経路最適化の実力
  • システム構築とポイント
    • 完成後のアーキテクチャソースコード
    • 手紙からの情報抽出
      • Bedrockで画像から情報を変換しつつ取得
      • 国土地理院APIで住所から緯度経度を取得
      • Aurora Serverlessでコスト削減
      • 地理情報データはPostGIS拡張を使用してAuroraへ保存
      • サーバーレスサービスにおけるRDS Proxyを使用しないDB接続管理
      • SQSキューを使って処理失敗に対応
    • プレゼント配達経路アプリ
      • 難問はAWS Marketplaceで素早く解決
      • HERE Tour APIで最適な配達順序を取得
      • HERE Router APIで最適な配達経路を取得
      • Web APIはLambda関数URLで簡単に実現
      • AWS CDKで静的Webサイトも素早く作成
  • まとめ
  • イベント発表資料
  • おわりに
続きを読む

AWSで社内向け動画ストリーミング研修システムを構築!

有為転変というには儚さが足りませんが、ビジネスパーソンたる私たちを取り巻く環境も例に漏れず変化していくものです。何とかそれに適応していくためにも社内向けの研修システムがあると便利ですよね。そこで今回は社内向けの動画ストリーミング研修システムをAWS上に構築してみたいと思います。

AWSに関するある程度の知識を持っており、次のような方におすすめです。

  • AWSで社内向けサービスを構築したい方
    • VPN接続によるサービスへのアクセス
    • Cognitoと社内IdPを使用したSAML認証
  • AWSで動画配信サービスを構築したい方
  • 実践的なアーキテクチャを学びたい方

目次

  • 目次
  • シナリオ
    • 現状
    • システム化後
  • システム構築とポイント
    • 方針
    • 完成後のアーキテクチャソースコード
    • AWSへのアクセスにはVPNを使用する
    • Webアプリ
      • Webアプリは内部ALBからS3インターフェースエンドポイント経由で取得
      • インターフェースエンドポイントのIPアドレスはカスタムリソースで取得
      • S3バケット名はRoute53 プライベートホストゾーンのドメインと合わせる
      • SPAアプリのルーティングはハッシュルーティングのみ
    • ユーザー認証
      • ホストされたUIのIDプロバイダーはSAMLアイデンティティプロバイダーのみにする
      • ALBと連携する際はコールバックURLとOAuth付与タイプを変更する
      • AWS Network Firewallを入れてアウトバウンドを制限
    • API
      • ALBとの連携かつAPIも少なくシンプルな実装なのでLambdalithにする
      • ALBからCognitoのユーザークレームを受け取る
      • S3インターフェースエンドポイントでDNS名を有効化する場合、ゲートウェイエンドポイントを作成するとプライベートなままで最も低コストとなる
    • 動画変換処理
      • 動画変換は非同期で行う
      • MediaConvertのPro設定はコンソールからだと簡単に見つけられる
  • 検証作業の流れとコスト
    • 節約ポイント
    • 最も高価なサービス
  • おわりに
続きを読む

LLMの基本から、Amazon Bedrockを使用した業務サポートエージェントの作成まで

5月末に社内で1時間に及ぶAmazon Bedrockを用いた生成AIの活用に関するセッションを行いました。
昨今の生成AIの急速な進化とその普及に伴いビジネスへの応用が叫ばれる中、日々の業務に忙殺されそのトレンドに乗ることが難しい社内の技術者に向けて、生成AIの基本から最新の応用までをキャッチアップし、社内の生成AIスキルとAWSへの関心を一挙に押し上げることが目的でした。

気合いを入れて頑張って作った甲斐もあり、社内外からとても好評だったのでブログでも紹介しようと思います。

目次

  • 目次
  • セッション資料、気に入ってるスライド抜粋
  • 社内からの反響と得られた機会
  • 社外からの嬉しい反響
  • JAWS-UGでの発表
  • おわりに
続きを読む

24年1QはAWSイベント尽くしでした

2024年に入っていつの間にかもう4月です。
1QはAWSのイベント尽くしで文字通り一瞬でした。
社内のイベントに社外のイベント、聴講者としてのイベントに登壇者としてのイベント、参加者としてのイベントに主催者としてのイベント、様々なイベントがあったので振り返ろうと思います。

目次

  • 目次
  • 1月: JAWS-UG東北 仙台でre:Invent reCap!
  • 2月: JAWS-UG岩手 LT&サーバレスハンズオン勉強会(LT登壇)
  • 2月: AWS Likers AWS10分LT会 - vol.3(LT登壇)
  • 2月: re:Invent 2023の社内recapイベント(LT登壇)
  • 2月: 社内AWS LTイベント(運営・LT登壇)
  • 3月: 社内AWS Jam Event(運営)
  • おわりに
続きを読む