{"slug": "building-genai-apps-and-ai-agents-on-aws-a-hands-on-path", "title": "Building GenAI apps and AI agents on AWS: a hands-on path", "summary": "A developer published a hands-on walkthrough for building generative AI agents on AWS using Amazon Bedrock for models, Strands Agents for agent code, and Amazon Bedrock AgentCore for cloud deployment. The guide covers account setup first — creating a non-root IAM user with AdministratorAccess and SignInLocalDevelopmentAccess, setting a monthly cost budget with alerts at 85% and 100% of spend, installing uv, boto3, Strands and the AgentCore CLI (version 0.31), and replacing long-lived access keys with browser-based `aws login` temporary credentials that refresh for up to 12 hours.", "body_md": "Quick definition so we're on the same page: an agent is an LLM in a while loop. It picks an action, calls a tool, looks at what came back, picks the next one. It stops when it thinks it's done, or when you stop it, which is where the budget alarm comes in.\n\nThe model never runs anything itself. It reads text and writes text, your code does the rest.\n\nWe're building agents on AWS. Amazon Bedrock gives us the models, Strands Agents is what we write the agent in, Amazon Bedrock AgentCore runs the result in the cloud. Every trip around that loop is a paid request, so the account comes first. Four things before any code: an IAM user, a budget alarm, the local tools, and a login from the terminal without access keys.\n\nRoot owns everything, billing and closing the account included. Keep it for those rare jobs. Day to day you want an IAM user, and some services refuse root anyway: you can't create a Bedrock Knowledge Base with it.\n\nCreate the user: IAM → Users → Create user. I called mine `ai-series`, call yours whatever. Tick console access and set your own password. One checkbox to untick: \"User must create a new password at next sign-in\". It's your user, you just typed the password, forcing a change straight away is pointless.\n\nPermissions: attach policies directly, and you need two. `AdministratorAccess` (fine for learning, in a real company you'd give far less) and `SignInLocalDevelopmentAccess`, the one that lets the CLI log in through the browser. That second one is why we won't need access keys later.\n\nAfter you click create you get a page with a console sign-in link for your account. Copy it. It has your account ID in it, so keep it out of screenshots. Sign out of root and open that link. The console says Europe (Stockholm) for me. Ignore it, IAM users are global. We'll switch to us-east-1 when we build.\n\nAI services charge per request, so a loop gone wrong can cost real money. Type \"budgets\" in the console search, it takes you to Billing and Cost Management. Budgets → Create budget, keep \"Use a template\", pick Monthly cost budget. Keep the name. The amount defaults to $100, I changed it to $35. Pick whatever you're comfortable spending in a month, then add your email.\n\nThe template sends an alert when actual spend reaches 85% of the budget, again at 100%, and when the forecast says you're going to cross the line. Click Create budget and that's it.\n\nEverything here runs inside the project folder.\n\nuv first. It's a fast Python package manager and the AgentCore tool needs it. On a Mac, `brew install uv`.\n\nThen a virtual environment, so the project's packages stay separate from the rest of your machine, and the requirements:\n\n```\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n```\n\nIf you see `(.venv)` at the start of the line, it's on. The requirements bring in `boto3`, the AWS library for Python, and Strands. The download takes about 20 seconds.\n\nNext the AgentCore CLI. It comes from npm, and I install it into a local `tools` folder inside the project. This one takes a couple of minutes. Add that folder to `PATH` and check the version: 0.31 for me. The first run prints a note about usage telemetry. The tool sends anonymous stats to AWS, meaning which commands you run and whether they work. Not your code, not your data. It's on by default and I turn it off.\n\nLast, the AWS CLI. Mine is 2.34 (`aws --version`), anything from 2.32 works with `aws login`.\n\nThe old way is access keys: a secret saved in a file on your laptop. It never expires and it leaks surprisingly often. The new way is `aws login`. The terminal opens the browser, you sign in to the console, and the CLI gets temporary credentials that refresh on their own for up to 12 hours. Nothing secret to copy or lose.\n\n```\naws login --profile ai-series\n```\n\nThe browser opens by itself and AWS asks which console session to share with the command line. Pick the active `ai-series` one. Back in the terminal, make that profile the default and set the region:\n\n```\nexport AWS_PROFILE=ai-series\naws configure set region us-east-1\naws configure get region\n```\n\nThe last command should print `us-east-1`. Done. Not a single key on this laptop.\n\nSource code for all hands-on episodes: [GitHub repository](https://github.com/Foxfix/agenticai_mini_course.git)\n\n*I’ll be sharing plenty of hands-on videos about AWS, AI and deployment on my YouTube channel, [@CodeAiFlow](https://www.youtube.com/@CodeAiFlow)  every week. This article follows the first episode of the series, if you'd rather watch the setup step by step. I'm also an AWS Community Builder: [my profile on AWS Builder Center](https://builder.aws.com/community/@codeaiflow?tab=badges).*", "url": "https://wpnews.pro/news/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path", "canonical_source": "https://dev.to/helga_code/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path-168d", "published_at": "2026-10-20 15:41:25+00:00", "updated_at": "2026-10-20 15:49:00.133880+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-infrastructure", "developer-tools", "generative-ai"], "entities": ["AWS", "Amazon Bedrock", "Strands Agents", "Amazon Bedrock AgentCore", "boto3", "uv"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path", "markdown": "https://wpnews.pro/news/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path.md", "text": "https://wpnews.pro/news/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path.txt", "jsonld": "https://wpnews.pro/news/building-genai-apps-and-ai-agents-on-aws-a-hands-on-path.jsonld"}}