Wird geladen

Claude in Amazon Bedrock einrichten

Erhalte eine erste Antwort von Claude in deinem eigenen AWS-Konto. Melde dich von deinem Terminal aus als Rolle an, die Claude aufrufen darf, und führe dann eine kurze Python-Datei mit Anthropics Python SDK aus.

25 Min.Claude Platform

Mit Claude in Amazon Bedrock rufst du Claude aus deinem eigenen AWS-Konto auf. Du verwendest deine AWS-Anmeldung, und die Nutzung wird über deine AWS-Rechnung abgerechnet. Eine kurze Python-Datei verschafft dir eine erste Antwort von Claude. Du benötigst keinen Anthropic API-Key.

Bevor du beginnst, benötigst du ein AWS-Konto, Python 3.10 oder höher und die AWS CLI. Die AWS CLI ist das Tool, um AWS über ein Terminal zu nutzen.

Berechtigung zum Aufrufen von Claude erhalten

Auf dieser Seite meldest du dich als Rolle an, um Claude aufzurufen. Eine Rolle ist eine Reihe von Berechtigungen in einem AWS-Konto. Diese Rolle wird in IAM Identity Center erstellt, dem Anmeldedienst von AWS. In IAM Identity Center meldest du dich auch als diese Rolle an.

Die folgenden Schritte richten sich an die Person, die dein AWS-Konto verwaltet – falls das nicht du bist, leite diese Schritte an deinen Admin weiter. Wenn du IAM Identity Center noch nie eingerichtet hast, beginne mit AWS' Einstiegsleitfaden für IAM Identity Center.

  1. Erstelle einen Berechtigungssatz (Permission Set). Ein Berechtigungssatz enthält die Richtlinien, die festlegen, was eine Rolle tun darf. Folge den Schritten von AWS, um einen Berechtigungssatz zu erstellen. Füge ihm die von AWS verwaltete Richtlinie AmazonBedrockMantleInferenceAccess hinzu, die AWS bereitstellt, um Aufrufe von Claude in Amazon Bedrock zu ermöglichen.

  2. Füge demselben Berechtigungssatz diese Berechtigungen für AWS Marketplace, den Store von AWS, hinzu.

    • aws-marketplace:Subscribe
    • aws-marketplace:Unsubscribe
    • aws-marketplace:ViewSubscriptions

    Der erste Aufruf jedes Claude-Modells in einem Konto kann über AWS Marketplace ein Abonnement für dieses Modell starten, und für diesen Aufruf sind diese Berechtigungen erforderlich. Das Konto benötigt außerdem eine eingerichtete Zahlungsmethode für Käufe über AWS Marketplace. Diese Berechtigungen werden nur für die erste Nutzung eines Modells in einem Konto benötigt. Du kannst sie daher aus dem Berechtigungssatz entfernen, sobald das Abonnement für jedes Modell, das das Konto verwenden wird, abgeschlossen ist.

  3. Weise den Berechtigungssatz der Person zu, die Claude aufrufen wird. Tu dies in dem AWS-Konto, aus dem heraus sie Claude aufrufen wird, und folge dabei den Schritten von AWS, um Zugriff auf AWS-Konten zuzuweisen. Durch die Zuweisung wird in diesem Konto die Rolle erstellt, benannt nach dem Berechtigungssatz.

Vom Terminal aus anmelden

Frage deinen Admin nach den Details, die du zum Anmelden benötigst:

  • Das zu verwendende AWS-Konto.
  • Der Name der Rolle.
  • Die IAM Identity Center-Start-URL, die Webadresse, über die du dich anmeldest.
  • Die AWS-Region, in der IAM Identity Center gehostet wird. Eine Region ist einer der Orte, an denen AWS seine Dienste betreibt.

Du meldest dich mit der AWS CLI als diese Rolle an. Falls du sie noch nicht hast, installiere die AWS CLI zunächst. Arbeite dann diese Schritte der Reihe nach durch.

  1. Richte ein Anmeldeprofil ein. Ein Profil ist eine benannte Gruppe von Anmeldeeinstellungen, die die CLI speichert. Führe diesen Befehl aus:

    bash
    aws configure sso

    Es stellt seine Fragen nacheinander. Beantworte die ersten so:

    1. Gib für den Sitzungsnamen einen beliebigen kurzen Namen ein, zum Beispiel my-sso.
    2. Gib für die Start-URL die von deinem Admin erhaltene ein.
    3. Gib für die Region, in der IAM Identity Center gehostet wird, die von deinem Admin erhaltene ein.
    4. Gib für die Registrierungsbereiche sso:account:access ein.

    Als Nächstes öffnet der Befehl deinen Browser, und du meldest dich dort an. Wenn sich der Browser nicht öffnet, folge den Anweisungen, die der Befehl ausgibt. Wenn der Befehl AWS-Konten und anschließend Rollen auflistet, wähle das Konto und die Rolle aus, die dein Admin genannt hat.

    Am Ende fragt er nach diesen Einstellungen:

    1. Gib für die Region des Profils us-east-1 ein, das ist US East (N. Virginia).
    2. Gib für das Ausgabeformat json ein.
    3. Gib für den Profilnamen default ein. Die CLI verwendet das Profil default, wenn ein Befehl keines benennt. Dadurch funktionieren die folgenden Befehle genau so, wie sie geschrieben sind.
  2. Melde dich an.

    bash
    aws sso login

    Dein Browser öffnet sich. Schließe die Anmeldung dort ab, und das Terminal gibt eine Zeile aus, die mit „Successfully logged into Start URL“ beginnt. Die CLI verfügt jetzt über deine Anmeldeinformationen (credentials). Credentials sind kurzlebige Schlüssel, die AWS gegenüber beweisen, wer du bist. Wenn sie ablaufen, führe diesen Befehl erneut aus.

  3. Prüfe, als welches Konto und welche Rolle du angemeldet bist.

    bash
    aws sts get-caller-identity

    In der Ausgabe sollte Account die ID deines AWS-Kontos sein. Arn ist AWS' vollständiger Name für die Rolle, als die du angemeldet bist, und sollte den Namen der von dir gewählten Rolle enthalten. Wenn eines von beiden falsch ist, führe aws configure sso erneut aus und wähle das richtige Konto und die richtige Rolle.

Eine erste Antwort erhalten

Sende nun eine Anfrage an Claude aus Python.

  1. Installiere Anthropics Python SDK mit seiner Unterstützung für Amazon Bedrock. Das SDK ist Anthropics Bibliothek zum Aufrufen von Claude aus Code.

    bash
    pip install -U "anthropic[bedrock]"
  2. Speichere diese Datei als first_reply.py.

    python
    from anthropic import (
        AnthropicBedrockMantle,
    )
    
    client = AnthropicBedrockMantle(
        aws_region="us-east-1",
    )
    
    message = client.messages.create(
        model="anthropic.claude-sonnet-5",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": "Hello, Claude",
        }],
    )
    
    for block in message.content:
        if block.type == "text":
            print(block.text)

    Die Datei erstellt einen Client, das Objekt, über das dein Code Anfragen sendet. Der Client ist für Claude in Amazon Bedrock in us-east-1, der Region, die du deinem Profil zugewiesen hast.

    Der Client findet deine AWS-Credentials selbstständig, einschließlich derer aus deiner IAM Identity Center-Anmeldung, sodass kein Key in die Datei muss.

    Die Datei sendet dann eine Nachricht, „Hello, Claude“, an Claude Sonnet 5. Die Zeile model benennt dieses Modell über seine Modell-ID. Zuletzt gibt die Datei den Text von Claudes Antwort aus.

  3. Führe die Datei aus.

    bash
    python first_reply.py

    Claudes Antwort wird in deinem Terminal ausgegeben. Falls Python stattdessen mit einem Fehler stoppt, gehe zu „Wenn die Anfrage fehlschlägt“ weiter unten.

  4. Prüfe das Konto erneut. Führe im selben Terminal aws sts get-caller-identity aus. Es zeigt, als welches Konto und welche Rolle du angemeldet bist. Die Nutzung wird über deine AWS-Rechnung abgerechnet, stelle also sicher, dass es sich um das Konto handelt, das dein Admin genannt hat.

Wenn die Anfrage fehlschlägt

Wenn eine Anfrage fehlschlägt, löst das SDK einen Fehler aus, den Python im Terminal ausgibt. Suche in dieser Ausgabe nach PermissionDeniedError oder NotFoundError.

Ein Berechtigungsfehler

PermissionDeniedError bedeutet, dass AWS die Anfrage mit Status 403 abgelehnt hat. Ein Status ist die Nummer, die ein Server zurücksendet, um mitzuteilen, wie eine Anfrage verlaufen ist. Die von dir gesendeten Credentials sind nicht berechtigt, diese Anfrage zu stellen. Probiere diese Lösungen der Reihe nach aus:

  1. Melde dich erneut an, da deine Anmeldung möglicherweise abgelaufen ist. Führe aws sso login aus und dann first_reply.py erneut.
  2. Bitte deinen Admin zu prüfen, ob die Rolle und das Konto alles haben, was unter „Berechtigung zum Aufrufen von Claude erhalten“ aufgeführt ist.
  3. Wenn dies der erste Aufruf von Claude Sonnet 5 in deinem Konto ist, warte 2 Minuten, nachdem die Berechtigungen vorhanden sind, und führe dann first_reply.py erneut aus. Das Abonnieren des Modells kann bis zu 2 Minuten dauern, und Aufrufe können abgelehnt werden, bis es abgeschlossen ist.

Ein Nicht-gefunden-Fehler

NotFoundError bedeutet, dass AWS mit Status 404 geantwortet hat und etwas, das die Anfrage benannt hat, nicht finden konnte. Prüfe die Modell-ID in first_reply.py. Modell-IDs in Claude in Amazon Bedrock beginnen mit anthropic., daher muss sie genau anthropic.claude-sonnet-5 lauten.

Jeder andere Fehler

Schau jeden anderen Fehler auf AWS' Seite mit Amazon Bedrock-Fehlercodes nach.

Wie es weitergeht

Belege als Nächstes den Kurs Claude Platform 101, der das Erstellen auf der Claude Platform lehrt. Mehrere seiner Lektionen enthalten Python-Beispiele, die ihren Client mit anthropic.Anthropic() erstellen.

Verwende in diesen Beispielen stattdessen den Import, die Client-Zeile und die Modell-ID aus first_reply.py. Einige der Beispiele des Kurses verwenden Funktionen, die Claude in Amazon Bedrock nicht unterstützt; diese sind auf der Dokumentationsseite zu Claude in Amazon Bedrock aufgeführt.