Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploying AI Agents on AWS with Pulumi and Amazon Bedrock AgentCore

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

What you'll build

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.

Prerequisites

  • 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.

Workshop modules

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.

Getting started

Option A: GitHub Codespaces (recommended)

  1. Fork this repository
  2. Click Code > Codespaces > Create codespace on main
  3. Wait for the devcontainer to build (takes a couple minutes)
  4. You're ready. Jump to Module 0.

Option B: Local machine

  1. Clone this repository
  2. Install the Pulumi CLI
  3. Install Node.js 18+ and Python 3.11+
  4. Install the AWS CLI
  5. Run pulumi login to authenticate with Pulumi Cloud
  6. Jump to Module 0

Troubleshooting

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.

Repository structure

├── 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

Community

Questions or feedback? Find us on the Pulumi Community Slack or open an issue on this repository.

License

Apache 2.0 - see LICENSE

About

Deploying AI Agents on AWS with Pulumi and Amazon Bedrock AgentCore

Resources

Code of conduct

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages