A hands-on workshop where you build, deploy, and connect AI agents on AWS using Pulumi infrastructure-as-code and Amazon Bedrock AgentCore.
Duration: ~3 hours | Format: Instructor-led, hands-on
By the end of this workshop, you will have built and deployed:
- A basic AI agent - first run locally on your laptop, then deployed to AgentCore Runtime
- A multi-agent system where an orchestrator delegates to a specialist
- A full-stack weather agent that scrapes websites, runs code, remembers preferences, and writes reports to S3
All infrastructure is defined as code with Pulumi (TypeScript or Python) and deployed through Pulumi ESC for centralized credential management.
ℹ️ TypeScript or Python applies to the Pulumi infrastructure only. The agent code itself is Python in both tracks — "TypeScript" here means the infrastructure-as-code language, not the agent.
- A laptop with internet access
- An AWS account with Bedrock model access enabled (provided for the workshop)
- A Pulumi account (free tier works)
- A GitHub account
- Node.js 18+ or Python 3.11+ installed
- Python packages for testing:
pip install boto3 - Basic terminal familiarity
We recommend using GitHub Codespaces with the included devcontainer for a zero-install experience.
| Module | Topic | Duration |
|---|---|---|
| Module 0 | Setup, orientation and intro | 20 min |
| Module 1 | Hello, agent! Run locally | 30 min |
| Module 2 | Your first agent on AgentCore | 30 min |
| Module 3 | Multi-agent orchestration | 40 min |
| Module 4 | The full stack: weather agent with tools and memory (Stretch goal) | 40 min |
| Module 5 | Cleanup | 10 min |
Module 4 is a stretch goal for participants who finish the core path (Modules 0-3, 5) early. It's its own Pulumi stack, so skipping it doesn't break anything later.
New to the terminology? The Glossary lists every acronym used in the workshop.
- Fork this repository
- Click Code > Codespaces > Create codespace on main
- Wait for the devcontainer to build (takes a couple minutes)
- You're ready. Jump to Module 0.
- Clone this repository
- Install the Pulumi CLI
- Install Node.js 18+ and Python 3.11+
- Install the AWS CLI
- Run
pulumi loginto authenticate with Pulumi Cloud - Jump to Module 0
pulumi up hangs during CodeBuild: The first build takes 5-10 minutes while Docker images are built and pushed to ECR. This is normal.
AWS credentials expired: If you see auth errors, run pulumi env open aws-bedrock-workshop/dev to verify your credentials are configured correctly, then retry.
Agent invocation returns 500: Check CloudWatch Logs at /aws/bedrock-agentcore/runtimes/ for your runtime. Common causes are missing IAM permissions or environment variables.
CodeBuild fails: Check the build logs in the AWS Console under CodeBuild > Build projects. The most common issue is ECR permission errors during docker push.
├── 00-setup-and-orientation.md # Module 0: Setup
├── 01-hello-agent.md # Module 1: Hello agent (runs locally)
├── 02-your-first-agent.md # Module 2: Deploy your first agent
├── 03-multi-agent-orchestration.md # Module 3: A2A communication
├── 04-full-stack-weather-agent.md # Module 4: Full stack agent
├── 05-housekeeping.md # Module 5: Cleanup
├── glossary.md # Acronyms used across the workshop
├── 01-solution/ # Module 1 solution (local agent)
├── 02-solution/ # Module 2 solution (python + typescript)
├── 03-solution/ # Module 3 solution (python + typescript)
├── 04-solution/ # Module 4 solution (python + typescript)
├── esc/ # Pulumi ESC environment templates
└── .devcontainer/ # GitHub Codespaces config
Questions or feedback? Find us on the Pulumi Community Slack or open an issue on this repository.
Apache 2.0 - see LICENSE