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

【AWS】AWS10分LT会 - vol.6

Avatar for SakutoHata SakutoHata
August 28, 2025
120

【AWS】AWS10分LT会 - vol.6

「25新卒がBedrock AgentCore Runtimeに触ってみた話」というタイトルで話させていただきました。

Avatar for SakutoHata

SakutoHata

August 28, 2025
Tweet

Transcript

  1. 生成AI サーバ 自動化ツール A B サーバ 自動化ツール A 導入 AI

    Agentの概要 1.指示 2.アクションプラン 3. 適切にツールを使う 4. 結果を提供
  2. Bedrock AgentCore の強み AgentCore Gateway データソースやAmazon Bedrock Knowledge Bases をエージェント互換のツ

    ールに変換し、シームレスな統合を実現します。 Knowledge Bases 連携 構造化・非構造化データを効率的に活用し、エージェントの知識ベースとし て統合することで、より高度な応答を可能にします。 サーバーレスランタイム環境 インフラ管理の負担なく、自動的にスケールするサーバーレス環境でエージ ェントを実行し、運用コストを最適化します。 セキュリティとガバナンス エンタープライズグレードのセキュリティ機能を標準装備し、アクセス制 御、監査、コンプライアンス要件に対応します。 モニタリングと分析 包括的なモニタリングと分析機能により、エージェントのパフォーマンスを 継続的に最適化できます。 AI Agentの基盤がそろっている
  3. コンテナ ARM64 アーキテクチャ向けにコンテナ化 イメージはECR にデプロイする必要あり アプリケーション - /invocations :(POST) -

    エージェント呼び出し npm 実行 / FastAPI のセットアップが可能な環境 Port 8080 で実行 必須エンドポイント /ping :(GET) - ヘルスチェック - やってみた 要件 https://docs.aws.amazon.com/bedrock- agentcore/latest/devguide/getting-started-custom.html#agent- contract-requirements
  4. ツール(MCPサーバ)の作成 やってみた Dockerfile + FastAPI+Strands Agentsで AI Agent用の環境を構築 DockerでECRにPush AgentCore

    Endpointに登録 # syntax=docker/dockerfile:1.7 FROM --platform=linux/arm64 python:3.11-slim AS base ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PIP_NO_CACHE_DIR=1 RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates tini \ && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y nodejs \ && npm i -g @notionhq/notion-mcp-server \ && apt-get clean && rm -rf /var/lib/apt/lists/* WORKDIR /app ... ... app = FastAPI() @app.get("/ping") def ping(): return {"status": "Healthy", "time_of_last_update": 1756121181} @app.post("/invocations") def invoke(request: InvocationRequest): try: user_message = request.prompt or "Hello" mcp_client = MCPClient(_transport) with mcp_client: tools = mcp_client.list_tools_sync() agent = Agent(tools=tools) result = agent(user_message) return {"result": getattr(result, "message", str(result))} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) Dockerfile Agent.py
  5. ツール(MCPサーバ)の作成 やってみた AWS CLIにて コマンドを実行 DockerでECRにPush AgentCore Endpointに登録 # AWS認証情報確認

    aws sts get-caller-identity # ECR認証再実行 aws ecr get-login-password --region us-east-1 | \ docker login --username AWS --password-stdin \ 123456789012.dkr.ecr.us-east-1.amazonaws.com # リポジトリ作成 aws ecr create-repository --repository-name notion-agent # docker のビルド docker buildx build --no-cache --platform linux/arm64 -t notion-agent:latest . # docker をECRにPush docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/notion-agent:latest
  6. ツール(MCPサーバ)の作成 DockerでECRにPush AgentCore Endpointに登録 aws bedrock-agentcore-control create-agent-runtime \ --region ap-northeast-1

    \ --agent-runtime-name "notion-agent-runtime" \ --description "Runtime for my strands agent" \ --agent-runtime-artifact "{ \"containerConfiguration\": { \"containerUri\": \"${CONTAINER_URI}\" } }" \ --role-arn "${ROLE_ARN}" \ --network-configuration '{ "networkMode": "PUBLIC" }' \ --protocol-configuration '{ "serverProtocol": "MCP" }' やってみた AWS CLIにて コマンドを実行 Notion APIでの やり取りに必要