View a markdown version of this page

Commencez avec AgentCore Gateway - Amazon Bedrock AgentCore

Commencez avec AgentCore Gateway

Dans ce guide de démarrage rapide, vous apprendrez à configurer une passerelle et à l'intégrer à vos agents à l'aide de la AgentCore CLI. Pour des guides et des exemples plus complets, consultez le GitHub référentiel Amazon Bedrock AgentCore Gateway.

Note

La AgentCore CLI fournit à la fois des commandes et un assistant TUI interactif pour gérer les ressources de la AgentCore passerelle. Pour la référence complète de l'API du AWS SDK, consultez la section Opérations AgentCore du plan de contrôle.

Conditions préalables

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

  • AWS Compte avec informations d'identification configurées. Pour configurer les informations d'identification, vous pouvez installer et utiliser l'interface de ligne de AWS commande en suivant les étapes décrites dans Getting started with the AWS CLI.

  • Node.js Plus de 18 personnes installées (pour la AgentCore CLI).

  • Python 3.10+ installé (pour le script de l'agent).

  • Autorisations IAM pour créer des rôles, des fonctions Lambda et utiliser Amazon Bedrock. AgentCore

  • Accès aux modèles — Activez Claude Sonnet 3.7 d'Anthropic dans la console Amazon Bedrock (ou un autre modèle pour l'agent de démonstration)

Étape 1 : Configuration et installation

Installez la AgentCore CLI globalement :

npm install -g @aws/agentcore

Créez un nouveau AgentCore projet avec un agent et une passerelle :

Exemple
AgentCore CLI
  1. agentcore create --name MyGatewayAgent --defaults

    L'--defaultsindicateur crée un projet avec un agent Python Strands par défaut. Vous pouvez également omettre --defaults et --name utiliser l'assistant interactif pour sélectionner votre framework préféré.

Interactive
  1. Vous pouvez également exécuter agentcore create sans drapeaux pour utiliser l'assistant interactif. L'assistant vous guide dans la sélection d'un nom de projet, d'une structure d'agent, d'un fournisseur de modèles et d'autres options.

Étape 2 : créer une passerelle

Ajoutez une passerelle et une cible à votre projet à l'aide de la AgentCore CLI :

Exemple
AgentCore CLI
  1. # Add a gateway with no inbound auth (simplest for getting started) agentcore add gateway --name TestGateway --authorizer-type NONE --runtimes MyGatewayAgent # Add a Lambda function target agentcore add gateway-target --name TestLambdaTarget --type lambda-function-arn \ --lambda-arn <YOUR_LAMBDA_ARN> \ --tool-schema-file tools.json \ --gateway TestGateway
Interactive
  1. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway :

  2. Entrez le nom de la passerelle :

    Assistant de passerelle : entrez le nom
  3. Sélectionnez le type d'autorisateur. Pour ce démarrage rapide, choisissez AUCUN :

    Assistant Gateway : sélectionnez AUCUN autorisateur
  4. Configurez les options avancées ou acceptez les valeurs par défaut :

    Assistant Gateway : configuration avancée
  5. Vérifiez la configuration et appuyez sur Entrée pour confirmer :

    Assistant Gateway : révision de la configuration

    Ensuite, sélectionnez à nouveau Ajouter et choisissez Gateway Target pour ajouter une cible de fonction Lambda :

  6. Entrez le nom de la cible.

  7. Sélectionnez la fonction Lambda comme type de cible :

    Assistant de ciblage de la passerelle : sélectionnez la fonction Lambda
  8. Entrez l'ARN Lambda et le chemin du fichier du schéma de l'outil, puis confirmez.

Pour utiliser l' JWT-based autorisation à la place, spécifiez --authorizer-type CUSTOM_JWT à l'aide de votre URL de découverte OAuth :

Exemple
AgentCore CLI
  1. agentcore add gateway --name TestGateway \ --authorizer-type CUSTOM_JWT \ --discovery-url https://cognito-idp.us-east-1.amazonaws.com/<POOL_ID>/.well-known/openid-configuration \ --allowed-audience <CLIENT_ID> \ --runtimes MyGatewayAgent
Interactive
  1. Exécutez agentcore pour ouvrir le TUI, puis sélectionnez Ajouter et choisissez Gateway. Lorsque vous êtes invité à saisir le type d'autorisateur, sélectionnez Custom JWT :

  2. Entrez le nom de la passerelle :

    Assistant de passerelle : entrez le nom
  3. Sélectionnez Custom JWT comme type d'autorisateur :

    Assistant Gateway : sélectionnez l'autorisateur JWT personnalisé
  4. Entrez l'URL de découverte OAuth et l'audience autorisée lorsque vous y êtes invité.

  5. Configurez les options avancées ou acceptez les valeurs par défaut :

    Assistant Gateway : configuration avancée
  6. Vérifiez la configuration et appuyez sur Entrée pour confirmer :

    Assistant Gateway : révision de la configuration

Étape 3 : Exécuter le programme d'installation

Déployez votre projet pour AWS :

agentcore deploy

La CLI synthétise une pile AWS CDK et déploie votre passerelle, vos cibles et votre agent sur Amazon Bedrock. AgentCore Cela prend environ 2 à 3 minutes.

Étape 4 : utilisation de la passerelle avec un agent

Récupérez l'URL de votre passerelle à l'aide de la AgentCore CLI :

agentcore status

Créez un nouveau fichier appelé run_agent.py et insérez le code suivant. Installez d'abord les dépendances Python :

pip install strands-agents mcp
""" Agent script to test the Gateway Run this after setup: python run_agent.py """ from strands import Agent from strands.models import BedrockModel from strands.tools.mcp.mcp_client import MCPClient from mcp.client.streamable_http import streamablehttp_client import json import sys def create_streamable_http_transport(mcp_url: str): return streamablehttp_client(mcp_url) def get_full_tools_list(client): """Get all tools with pagination support""" more_tools = True tools = [] pagination_token = None while more_tools: tmp_tools = client.list_tools_sync(pagination_token=pagination_token) tools.extend(tmp_tools) if tmp_tools.pagination_token is None: more_tools = False else: more_tools = True pagination_token = tmp_tools.pagination_token return tools def run_agent(): # Get the gateway URL from agentcore status gateway_url = "<YOUR_GATEWAY_URL>" # Replace with URL from 'agentcore status' # Model configuration - change if needed model_id = "anthropic.claude-3-7-sonnet-20250219-v1:0" print("Starting AgentCore Gateway Test Agent") print(f"Gateway URL: {gateway_url}") print(f"Model: {model_id}") print("-" * 60) # Setup Bedrock model bedrockmodel = BedrockModel( model_id=model_id, streaming=True, ) # Setup MCP client (no auth token needed for NONE authorizer) mcp_client = MCPClient(lambda: create_streamable_http_transport(gateway_url)) with mcp_client: # List available tools tools = get_full_tools_list(mcp_client) print(f"\nAvailable tools: {[tool.tool_name for tool in tools]}") print("-" * 60) # Create agent agent = Agent(model=bedrockmodel, tools=tools) # Interactive loop print("\nInteractive Agent Ready!") print("Try asking: 'What's the weather in Seattle?'") print("Type 'exit', 'quit', or 'bye' to end.\n") while True: user_input = input("You: ") if user_input.lower() in ["exit", "quit", "bye"]: print("Goodbye!") break print("\nThinking...\n") response = agent(user_input) print(f"\nAgent: {response.message.get('content', response)}\n") if __name__ == "__main__": run_agent()

Dirigez votre agent

Testez votre passerelle en exécutant l'agent et en interagissant avec les outils.

python run_agent.py

C'est ça ! L'agent va commencer et vous pouvez poser des questions telles que :

  • « Quel temps fait-il à Seattle ? »

  • « Quelle heure est-il à New York ? »

Ce que vous avez construit

Dans le cadre de ce didacticiel de mise en route, vous avez créé les ressources suivantes :

  • Serveur MCP (passerelle) : un point de terminaison géré à https://gateway-id.gateway.bedrock-agentcore.region.amazonaws.com/mcp

  • Outils Lambda : fonctions fictives qui renvoient des données de test (météo : « 72 °F, soleil », heure : « 14 h 30 »)

  • Agent AI : Claude-powered assistant capable de découvrir et d'utiliser vos outils

Résolution des problèmes

Le tableau suivant présente certains problèmes possibles et leurs solutions :

Problème Solution

« Aucun module nommé « brins » »

Exécuter : pip install strands-agents

« Modèle non activé »

Activer Claude Sonnet 3.7 dans la console Bedrock → Accès au modèle

"AccessDeniedException"

Vérifiez les autorisations IAM pour bedrock-agentcore : *

La passerelle ne répond pas

Patientez 30 à 60 secondes après la création pour la propagation du DNS

Validation rapide

Exécutez les commandes suivantes dans un terminal pour vérifier que votre passerelle fonctionne.

# Check your Gateway is working curl -X POST YOUR_GATEWAY_URL \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # Watch live logs aws logs tail /aws/bedrock-agentcore/gateways/YOUR_GATEWAY_ID --follow

Nettoyage

Pour supprimer la passerelle et ses cibles de votre projet :

agentcore remove gateway --name TestGateway

Pour supprimer toutes les ressources et les redéployer :

agentcore remove all agentcore deploy

Étapes suivantes

  • Outils Lambda personnalisés : créez des fonctions Lambda avec votre logique métier

  • Ajoutez vos propres API : étendez votre passerelle avec les spécifications OpenAPI pour de vrais services

  • Configuration de la production : configuration des points de terminaison VPC, des domaines personnalisés et de la surveillance