AWS Blocks(インフラを簡単にコードで構築するフレームワーク)を使ったアプリケーション開発をサポートします。 APIの作成、Building Blocks(KVStore、DistributedTable、Database、AuthBasic、AuthCognito、Realtime、AsyncJob、FileBucket など)の選択、ローカル環境での開発、AWS Blocks アプリケーションのデプロイなど、開発全体をガイドします。 また、実績のあるパターンに基づいた、バージョン固有の情報を提供することで、よくある間違いを防ぎます。 **次のような場合に使用:** - AWS Blocks について質問がある - プロジェクトに aws-blocks/ ディレクトリが含まれている - @aws-blocks パッケージをコードでインポートしている
Guides building full-stack applications with AWS Blocks — an Infrastructure-from-Code framework. Applies when creating APIs, selecting Building Blocks (KVStore, DistributedTable, Database, AuthBasic, AuthCognito, Realtime, AsyncJob, FileBucket, etc.), running local development, or deploying AWS Blocks applications. Also covers AWS Blocks topics with validated, version-specific patterns that prevent common mistakes. Triggers when user mentions AWS Blocks; project has aws-blocks/ directory; code imports @aws-blocks packages.
パッケージ命名規則: すべてのパッケージは
@aws-blocksスコープ配下で公開されています(例:@aws-blocks/core、@aws-blocks/blocks、@aws-blocks/bb-kv-store)。
AWS Blocks は Infrastructure-from-Code フレームワークです。 各 Building Block が CDK・SDK・ローカルモックを単一の API にバンドルしており、 ストレージ・認証・リアルタイム通信・バックグラウンドジョブ・ファイル管理・AI/検索・メール・オブザーバビリティをカバーする 18 種類以上の Building Block を提供しています。 これらすべては、AWS 認証情報なしにローカルで動作します。
主な特徴:
aws-blocks/ ディレクトリ一つでバックエンド全体を定義.bb-data/ に永続化)npm run sandbox でエフェメラルな個別テスト環境を、npm run deploy で最小権限の認証情報を使用した長期稼働環境をデプロイ可能npx @aws-blocks/create-blocks-app my-app
cd my-app
npx @aws-blocks/create-blocks-app .
既存のプロジェクトを自動検出し、コードと並行して aws-blocks/ ワークスペースを追加します。
npx @aws-blocks/create-blocks-app .
CLI が amplify/backend.ts を検出した場合、AWS Blocks を Amplify バックエンドに自動統合します。
npx @aws-blocks/create-blocks-app my-app --template demo
cd my-app
| テンプレート | 説明 |
|---|---|
default |
Vite + lit-html スターターアプリ。基本的なアプリアーキテクチャとパターンを示すための、認証・データ永続化・リアルタイム機能を含む(--template 省略時に使用) |
bare |
Vite + lit-html スターター。単一の "hello world" API メソッドとシンプルなフロントエンドのみ |
react |
React + Vite スターター。単一の API エンドポイントと型付き React フロントエンド |
backend |
バックエンド専用 — フロントエンドなし。単一エンドポイントを持つ AWS Blocks API のみ |
demo |
Todo アプリ。AuthBasic・KVStore・DistributedTable・Zod スキーマ・インデックス・認証保護された CRUD を含む |
auth-cognito |
AuthCognito によるパスワードレス メール OTP の完全実装。ロール・デバイス管理・Authenticator UI を含む |
nextjs |
Next.js + React スターター。AWS Blocks バックエンド統合付き(SSR + Server Components 対応) |
スキャフォールディング後は、node_modules/@aws-blocks/blocks/README.md を参照してください。 完全な開発ワークフローとして以下の内容が記載されています:
特定の Building Block を実装する場合は、該当パッケージの README で詳細な API リファレンスを確認してください
(例: node_modules/@aws-blocks/bb-kv-store/README.md)。
これらはインストール済みバージョンの公式ドキュメントです。
await auth.requireAuth(context) を使用すること
— ApiNamespace のメソッドは**デフォルトで認証なし(未認証)**ですnew AppSetting(scope, id, { secret: true }) を使用すること
— ハードコードや .env ファイルの使用は禁止* IAM ポリシーを追加しないこと
— 各 Building Block はすでに自身のリソースにスコープされた最小権限を付与していますblockPublicAccess を変更しないこと
— 公開ファイルは CloudFront 経由で配信してくださいCORS_ALLOWED_ORIGINS を明示的に設定すること — ワイルドカードは避けてくださいcrossDomain: true を渡すこと
(SameSite=None; Secure; Partitioned が有効になります)monitoring: { enabled: true, snsTopicArn: '...' } を有効化することPackage naming: All packages are published under the
@aws-blocksscope (e.g.,@aws-blocks/core,@aws-blocks/blocks,@aws-blocks/bb-kv-store).
AWS Blocks is an Infrastructure-from-Code framework where Building Blocks bundle CDK, SDK, and local mocks into a single API. It provides 18+ Building Blocks covering storage, authentication, real-time communication, background jobs, file management, AI/search, email, and observability — all working locally without AWS credentials.
Key characteristics:
aws-blocks/ directory defines the entire backend.bb-data/)npm run sandbox and long-lived environments with npm run deploy using least-privilege credentialsnpx @aws-blocks/create-blocks-app my-app
cd my-app
npx @aws-blocks/create-blocks-app .
This detects the existing project and adds an aws-blocks/ workspace alongside your code.
npx @aws-blocks/create-blocks-app .
When the CLI detects amplify/backend.ts, it automatically integrates AWS Blocks with your Amplify backend.
npx @aws-blocks/create-blocks-app my-app --template demo
cd my-app
| Template | Description |
|---|---|
default |
Vite + lit-html starter app with basic authentication, data persistence, and realtime to help demonstrate basic app architecture and patterns (used when --template is omitted) |
bare |
Vite + lit-html starter with a single "hello world" API method and a bare frontend |
react |
React + Vite starter with a single API endpoint and typed React frontend |
backend |
Backend-only — no frontend, just the AWS Blocks API with a single endpoint |
demo |
Todo app with AuthBasic, KVStore, DistributedTable, Zod schemas, indexes, and auth-protected CRUD |
auth-cognito |
Full AuthCognito passwordless email-OTP with roles, device management, and Authenticator UI |
nextjs |
Next.js + React starter with AWS Blocks backend integration (SSR + Server Components) |
After scaffolding, refer to node_modules/@aws-blocks/blocks/README.md for the complete development workflow including:
When implementing a specific Building Block, read its package README for the detailed API reference (e.g., node_modules/@aws-blocks/bb-kv-store/README.md). These are the authoritative docs for your installed version.
await auth.requireAuth(context) in every method that shouldn't be public — ApiNamespace methods are unauthenticated by defaultnew AppSetting(scope, id, { secret: true }) for API keys and credentials — never hardcode or use .env files* IAM policies — each Building Block already grants least-privilege scoped to its own resourcesblockPublicAccess on FileBucket — serve public files through CloudFront insteadCORS_ALLOWED_ORIGINS explicitly for production — avoid wildcardscrossDomain: true to auth constructors (enables SameSite=None; Secure; Partitioned)monitoring: { enabled: true, snsTopicArn: '...' } on Hosting for production alerts原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。