Providers

Amazon Bedrock

OpenClaw は pi-ai の Bedrock Converse ストリーミングプロバイダー経由で Amazon Bedrock モデルを使用できます。Bedrock 認証では API キーではなく、AWS SDK デフォルト認証情報チェーンを使用します。

プロパティ
プロバイダー amazon-bedrock
API bedrock-converse-stream
認証 AWS 認証情報 (環境変数、共有設定、またはインスタンスロール)
リージョン AWS_REGION または AWS_DEFAULT_REGION (デフォルト: us-east-1)

はじめに

希望する認証方法を選び、セットアップ手順に従ってください。

アクセスキー / 環境変数

最適な用途: 開発者マシン、CI、または AWS 認証情報を直接管理するホスト。

  • Gateway ホストに AWS 認証情報を設定する

    export AWS_ACCESS_KEY_ID="AKIA..."
    export AWS_SECRET_ACCESS_KEY="..."
    export AWS_REGION="us-east-1"
    # Optional:
    export AWS_SESSION_TOKEN="..."
    export AWS_PROFILE="your-profile"
    # Optional (Bedrock API key/bearer token):
    export AWS_BEARER_TOKEN_BEDROCK="..."
    
  • Bedrock プロバイダーとモデルを設定に追加する

    apiKey は不要です。auth: "aws-sdk" でプロバイダーを設定します。

    {
      models: {
        providers: {
          "amazon-bedrock": {
            baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
            api: "bedrock-converse-stream",
            auth: "aws-sdk",
            models: [
              {
                id: "us.anthropic.claude-opus-4-6-v1:0",
                name: "Claude Opus 4.6 (Bedrock)",
                reasoning: true,
                input: ["text", "image"],
                cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
                contextWindow: 200000,
                maxTokens: 8192,
              },
            ],
          },
        },
      },
      agents: {
        defaults: {
          model: { primary: "amazon-bedrock/us.anthropic.claude-opus-4-6-v1:0" },
        },
      },
    }
    
  • モデルが利用可能であることを確認する

    openclaw models list
    
  • EC2 インスタンスロール (IMDS)

    最適な用途: IAM ロールがアタッチされ、認証にインスタンスメタデータサービスを使用する EC2 インスタンス。

  • 検出を明示的に有効化する

    IMDS を使用する場合、OpenClaw は環境マーカーだけでは AWS 認証を検出できないため、明示的にオプトインする必要があります。

    openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
    
  • 任意で自動モード用の環境マーカーを追加する

    環境マーカーによる自動検出パスも機能させたい場合 (たとえば openclaw status 画面向け):

    export AWS_PROFILE=default
    export AWS_REGION=us-east-1
    

    偽の API キーは不要です。

  • モデルが検出されることを確認する

    openclaw models list
    
  • モデルの自動検出

    OpenClaw は、ストリーミングテキスト出力をサポートする Bedrock モデルを自動的に検出できます。検出では bedrock:ListFoundationModelsbedrock:ListInferenceProfiles を使用し、結果はキャッシュされます (デフォルト: 1 時間)。

    暗黙的なプロバイダーが有効化される仕組み:

    • plugins.entries.amazon-bedrock.config.discovery.enabledtrue の場合、 AWS 環境マーカーが存在しなくても、OpenClaw は検出を試行します。
    • plugins.entries.amazon-bedrock.config.discovery.enabled が未設定の場合、 OpenClaw は次のいずれかの AWS 認証マーカーを検出したときにのみ、 暗黙的な Bedrock プロバイダーを自動追加します: AWS_BEARER_TOKEN_BEDROCKAWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY、または AWS_PROFILE
    • 実際の Bedrock ランタイム認証パスは引き続き AWS SDK デフォルトチェーンを使用するため、 共有設定、SSO、IMDS インスタンスロール認証は、検出でオプトインのために enabled: true が必要だった場合でも機能します。
    検出設定オプション

    設定オプションは plugins.entries.amazon-bedrock.config.discovery 配下にあります。

    {
      plugins: {
        entries: {
          "amazon-bedrock": {
            config: {
              discovery: {
                enabled: true,
                region: "us-east-1",
                providerFilter: ["anthropic", "amazon"],
                refreshInterval: 3600,
                defaultContextWindow: 32000,
                defaultMaxTokens: 4096,
              },
            },
          },
        },
      },
    }
    
    オプション デフォルト 説明
    enabled auto 自動モードでは、OpenClaw はサポート対象の AWS 環境マーカーを検出した場合にのみ、暗黙的な Bedrock プロバイダーを有効化します。検出を強制するには true を設定します。
    region AWS_REGION / AWS_DEFAULT_REGION / us-east-1 検出 API 呼び出しに使用する AWS リージョン。
    providerFilter (すべて) Bedrock プロバイダー名に一致します (例: anthropicamazon)。
    refreshInterval 3600 キャッシュ期間 (秒)。キャッシュを無効化するには 0 を設定します。
    defaultContextWindow 32000 検出されたモデルに使用するコンテキストウィンドウ (モデルの制限値がわかっている場合は上書きしてください)。
    defaultMaxTokens 4096 検出されたモデルに使用する最大出力トークン数 (モデルの制限値がわかっている場合は上書きしてください)。

    クイックセットアップ (AWS パス)

    このウォークスルーでは、IAM ロールを作成し、Bedrock 権限をアタッチし、インスタンスプロファイルを関連付け、EC2 ホストで OpenClaw 検出を有効化します。

    # 1. Create IAM role and instance profile
    aws iam create-role --role-name EC2-Bedrock-Access \
      --assume-role-policy-document '{
        "Version": "2012-10-17",
        "Statement": [{
          "Effect": "Allow",
          "Principal": {"Service": "ec2.amazonaws.com"},
          "Action": "sts:AssumeRole"
        }]
      }'
    
    aws iam attach-role-policy --role-name EC2-Bedrock-Access \
      --policy-arn arn:aws:iam::aws:policy/AmazonBedrockFullAccess
    
    aws iam create-instance-profile --instance-profile-name EC2-Bedrock-Access
    aws iam add-role-to-instance-profile \
      --instance-profile-name EC2-Bedrock-Access \
      --role-name EC2-Bedrock-Access
    
    # 2. Attach to your EC2 instance
    aws ec2 associate-iam-instance-profile \
      --instance-id i-xxxxx \
      --iam-instance-profile Name=EC2-Bedrock-Access
    
    # 3. On the EC2 instance, enable discovery explicitly
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.enabled true
    openclaw config set plugins.entries.amazon-bedrock.config.discovery.region us-east-1
    
    # 4. Optional: add an env marker if you want auto mode without explicit enable
    echo 'export AWS_PROFILE=default' >> ~/.bashrc
    echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
    source ~/.bashrc
    
    # 5. Verify models are discovered
    openclaw models list
    

    高度な設定

    推論プロファイル

    OpenClaw は、基盤モデルと合わせてリージョナルおよびグローバル推論プロファイルを検出します。プロファイルが既知の基盤モデルにマッピングされている場合、プロファイルはそのモデルの機能 (コンテキストウィンドウ、最大トークン数、推論、ビジョン) を継承し、正しい Bedrock リクエストリージョンが自動的に注入されます。つまり、クロスリージョンの Claude プロファイルは手動のプロバイダー上書きなしで機能します。

    推論プロファイル ID は us.anthropic.claude-opus-4-6-v1:0 (リージョナル) または anthropic.claude-opus-4-6-v1:0 (グローバル) のような形式です。基盤となるモデルがすでに検出結果に含まれている場合、プロファイルは完全な機能セットを継承します。そうでない場合は安全なデフォルトが適用されます。

    追加設定は不要です。検出が有効で、IAM プリンシパルに bedrock:ListInferenceProfiles がある限り、プロファイルは openclaw models list で基盤モデルと並んで表示されます。

    Claude Opus 4.7 temperature

    Bedrock は Claude Opus 4.7 の temperature パラメーターを拒否します。OpenClaw は、基盤モデル ID、名前付き推論プロファイル、基盤となるモデルが bedrock:GetInferenceProfile によって Opus 4.7 に解決されるアプリケーション推論プロファイル、任意のリージョンプレフィックス (us.eu.ap.apac.au.jp.global.) を持つドット区切りの opus-4.7 バリアントを含め、すべての Opus 4.7 Bedrock 参照に対して temperature を自動的に省略します。設定ノブは不要で、この省略はリクエストオプションオブジェクトと inferenceConfig ペイロードフィールドの両方に適用されます。

    ガードレール

    amazon-bedrock Plugin 設定に guardrail オブジェクトを追加することで、すべての Bedrock モデル呼び出しに Amazon Bedrock Guardrails を適用できます。ガードレールにより、コンテンツフィルタリング、トピック拒否、単語フィルター、機密情報フィルター、コンテキストグラウンディングチェックを適用できます。

    {
      plugins: {
        entries: {
          "amazon-bedrock": {
            config: {
              guardrail: {
                guardrailIdentifier: "abc123", // guardrail ID or full ARN
                guardrailVersion: "1", // version number or "DRAFT"
                streamProcessingMode: "sync", // optional: "sync" or "async"
                trace: "enabled", // optional: "enabled", "disabled", or "enabled_full"
              },
            },
          },
        },
      },
    }
    
    オプション 必須 説明
    guardrailIdentifier はい ガードレール ID (例: abc123) または完全な ARN (例: arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123)。
    guardrailVersion はい 公開済みバージョン番号、または作業中ドラフトを表す "DRAFT"
    streamProcessingMode いいえ ストリーミング中のガードレール評価に使用する "sync" または "async"。省略した場合、Bedrock はデフォルトを使用します。
    trace いいえ デバッグ用の "enabled" または "enabled_full"。本番環境では省略するか "disabled" を設定します。
    メモリ検索用の埋め込み

    Bedrock は メモリ検索の埋め込みプロバイダーとしても使用できます。これは 推論プロバイダーとは別に設定します。agents.defaults.memorySearch.provider"bedrock" に設定します。

    {
      agents: {
        defaults: {
          memorySearch: {
            provider: "bedrock",
            model: "amazon.titan-embed-text-v2:0", // default
          },
        },
      },
    }
    

    Bedrock 埋め込みは、推論と同じ AWS SDK 認証情報チェーン(インスタンス ロール、SSO、アクセスキー、共有設定、Web アイデンティティ)を使用します。API キーは 不要です。provider"auto" の場合、その 認証情報チェーンが正常に解決されると Bedrock が自動検出されます。

    サポートされる埋め込みモデルには、Amazon Titan Embed(v1、v2)、Amazon Nova Embed、Cohere Embed(v3、v4)、TwelveLabs Marengo が含まれます。完全なモデル一覧と次元オプションについては、 メモリ設定リファレンス -- Bedrock を参照してください。

    注記と注意点
    • Bedrock では、AWS アカウント/リージョンで モデルアクセス を有効にする必要があります。
    • 自動検出には bedrock:ListFoundationModelsbedrock:ListInferenceProfiles の権限が必要です。
    • auto モードを利用する場合は、Gateway ホストでサポート対象の AWS 認証環境マーカーのいずれかを設定してください。環境マーカーなしで IMDS/共有設定認証を使いたい場合は、 plugins.entries.amazon-bedrock.config.discovery.enabled: true を設定してください。
    • OpenClaw は認証情報ソースを次の順序で公開します: AWS_BEARER_TOKEN_BEDROCK、 次に AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY、次に AWS_PROFILE、次に デフォルトの AWS SDK チェーン。
    • 推論サポートはモデルによって異なります。現在の機能については Bedrock のモデルカードを確認してください。
    • マネージドキーのフローを好む場合は、Bedrock の前段に OpenAI 互換 プロキシを配置し、代わりに OpenAI プロバイダーとして設定することもできます。

    関連