Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Blocks を触ってみた/first-tach-aws-blocks

AWS Blocks を触ってみた/first-tach-aws-blocks

Avatar for MURAKAMI Masahiko

MURAKAMI Masahiko

July 04, 2026

More Decks by MURAKAMI Masahiko

Other Decks in Technology

Transcript

  1. AWS Blocks を触ってみた 〜 ローカルで作って、そのまま AWS へ 〜 JAWS-UG 福井

    #3 AWS Summit のおみやげ話 LT 大会 2026-07-04 株式会社永和システムマネジメント プリンシパルエンジニア 村上 雅彦 a.k.a @fossamagna AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 1
  2. 自己紹介 名前: 村上 雅彦 所属: 株式会社永和システムマネジメント コミュニティ活動: JAWS-UG 福井支部 運営メンバー

    Amplify Japan User Group 運営メンバー AWS Community Builder (DevTools since 2022) X (Twitter): @fossamagna GitHub: @fossamagna AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 2
  3. 今日、話すこと AWS Summit Japan で気になった AWS Blocks について話します。 セッション:明日から始める、コーディングエージェント時代のフルスタック開発 より。

    今日は「AWS Blocks とは」 「IfC とは」 、そして実際に作ってみた話をします AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 3
  4. AWS Blocks とは Build local full-stack apps in seconds, deploy

    to AWS when ready 2026/06/16 にプレビュー公開されたばかりTypeScript 製のオープンソースバックエ ンドフレームワーク 「アプリを書いたら、それがそのまま AWS のインフラになる」 IfC (Infrastructure from Code) という考え方に基づいている Building Blocks を組み合わせてバックエンドを構成する ローカルで完結して開発できる(AWS アカウント不要) 準備ができたらコード変更なしで AWS にデプロイ コード生成なしでエンドツーエンドの型安全 Blocks 自体は無料(使った AWS リソースの料金のみ) AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 4
  5. Blocks とは ブロックとは、単一の機能に必要なすべて(クラウド リソース、ランタイム コー ド、ローカル実装)をバンドルした npm パッケージです。コード内でブロックを作 成すると、AWS Blocks

    が対応する AWS リソースを設定し、権限を連携させ、開発 用のローカル実装を提供します。 AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 5
  6. Building Blocks(プレビュー時点で約 20 種類) 分類 Building Block データ KVStore /

    DistributedTable (DynamoDB) / DistributedDatabase (Aurora DSQL) / Database (Aurora Postgres) 認証 AuthBasic / AuthCognito / AuthOIDC リアルタイ ム Realtime (WebSocket) 非同期 AsyncJob / CronJob ストレー ジ FileBucket (S3) / AppSetting AI KnowledgeBase (RAG) / Agent (Bedrock) メール EmailClient (SES) 運用 Logger / Metrics / Tracer / Dashboard / Hosting / Pipeline AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 6
  7. IfC (Infrastructure from Code) とは 書いたアプリのコードから、インフラを「導出」するという考え方 IaC(CDK/Terraform 等)はインフラをコードで書く IfC: アプリのコードを書いたら、必要なインフラが自動で決まる

    AWS Blocks では CDK でインフラが作成される IfCを実現している仕組みについては k.goto さんの AWS CDK の目線で AWS Blocks を読み解く というブログ記事がわかりやすい AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 7
  8. aws-blocks/index.ts バックエンドの入り口&アプリケーションコード(そこから導出されるインフラ定義) 。 // aws-blocks/index.ts - the IFC layer import

    { ApiNamespace, Scope, KVStore, AuthBasic } from '@aws-blocks/blocks'; const scope = new Scope('my-app'); // Infrastructure is derived from these instantiations const auth = new AuthBasic(scope, 'auth'); const todos = new KVStore(scope, 'todos', {}); // API methods are callable from the frontend export const api = new ApiNamespace(scope, 'api', (context) => ({ async createTodo(title: string) { const user = await auth.requireAuth(context); await todos.set(`${user.userId}:${title}`, { title, done: false }); }, })); export { auth }; AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 8
  9. 開発体験のイメージ npm create @aws-blocks/blocks-app@latest my-app -- --template react cd my-app

    npm run dev # → http://localhost:3000 npm run dev で数秒でフル機能のローカル環境が起動 DB・認証・リアルタイム・ファイル保存・ジョブが最初から入っている 各 Block はローカルではモックとして動き、デプロイで本物の AWS に入れ替わる AWS アカウントなしで、認証・DB・Pub/Sub付きのアプリが即起動する AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 10
  10. アプリケーションコードを書く バックエンドの API は async 関数。関数内で、認証、DB処理、通知を実装するだけ。 export const api =

    new ApiNamespace(scope, 'api', (context) => ({ async createTodo(title: string, priority = 2) { const user = await auth.requireAuth(context); // 認証 const todo = { userId: user.username, todoId: id(), title, /* ... */ }; await todos.put(todo); // DynamoDB へ await rt.publish('todos', user.username, { action: 'created', todoId }); // 通知 return todo; }, })); フロントエンドはバックエンドの API をそのまま import するだけ。コード生成なしで型安 全な API(JSON-RPC 2.0) 呼び出しができる。 import { api } from 'aws-blocks'; await api.createTodo('スライドを作る'); AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 11
  11. 動かす npm run dev でローカルのモックサーバが起動 npm run test:e2e で、ローカルのモックのまま API

    を通しでテスト auth: sign up creates account and signs in todos: create with priority todos: list sorted by priority (secondary index) todos: toggle completion todos: concurrent toggle → conflict → retry succeeds tests 10 pass 10 fail 0 AWS につなげずに、認証・CRUD・楽観ロック・リアルタイムまで検証できる デプロイは npm run sandbox (sandbox)/ npm run deploy (本番)で同じコード のまま AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 12
  12. まとめ AWS Blocks = ローカルで完結し、そのまま AWS にデプロイできる OSS フレームワー ク

    Building Blocks を組み合わせるだけ・型安全・追加料金なし IfC (Infrastructure from Code) = アプリのコードからインフラを導出する考え方 CDK を意識せずに始められ、必要なら CDK を利用できる 実際に Todo アプリをローカルで作って動かせた(AWS アカウント不要) プレビューですが、ぜひ触ってみてほしいです。 AWS Blocks を触ってみた JAWS-UG 福井 #3 AWS Summit のおみやげ話LT大会 14