メインコンテンツへスキップ

Amazon Bedrock

OpenClaw は、pi-ai の Bedrock Converse ストリーミング provider を通じて Amazon Bedrock モデルを使用できます。Bedrock の認証では AWS SDK デフォルト認証情報チェーン を使用し、API キーは使いません。
プロパティ
Provideramazon-bedrock
APIbedrock-converse-stream
AuthAWS 認証情報(環境変数、共有設定、またはインスタンスロール)
RegionAWS_REGION または AWS_DEFAULT_REGION(デフォルト: us-east-1

はじめに

好みの認証方法を選び、セットアップ手順に従ってください。
最適な用途: 開発マシン、CI、または AWS 認証情報を直接管理するホスト。
1

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="..."
2

設定に Bedrock provider と model を追加する

apiKey は不要です。auth: "aws-sdk" で provider を設定します。
{
  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" },
    },
  },
}
3

モデルが利用可能であることを確認する

openclaw models list
env-marker auth(AWS_ACCESS_KEY_IDAWS_PROFILE、または AWS_BEARER_TOKEN_BEDROCK)を使う場合、OpenClaw は追加設定なしで、モデル検出用の暗黙的な Bedrock provider を自動で有効にします。

自動モデル検出

OpenClaw は、ストリーミングテキスト出力 をサポートする Bedrock モデルを自動的に検出できます。検出には bedrock:ListFoundationModelsbedrock:ListInferenceProfiles を使用し、結果はキャッシュされます(デフォルト: 1 時間)。 暗黙的 provider が有効になる仕組み:
  • plugins.entries.amazon-bedrock.config.discovery.enabledtrue の場合、AWS env marker が存在しなくても OpenClaw は検出を試みます。
  • plugins.entries.amazon-bedrock.config.discovery.enabled が未設定の場合、OpenClaw は次のいずれかの AWS auth marker を検出したときにのみ、暗黙的 Bedrock provider を自動追加します: AWS_BEARER_TOKEN_BEDROCKAWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY、または AWS_PROFILE
  • 実際の Bedrock 実行時 auth 経路は引き続き AWS SDK デフォルトチェーンを使うため、共有設定、SSO、IMDS インスタンスロール認証は、検出に enabled: true が必要だった場合でも動作します。
明示的な models.providers["amazon-bedrock"] エントリーに対しても、OpenClaw は AWS_BEARER_TOKEN_BEDROCK などの AWS env marker から Bedrock env-marker auth を早期解決できますが、完全な実行時 auth ロードは強制しません。実際の model 呼び出し auth 経路は引き続き AWS SDK デフォルトチェーンを使います。
設定オプションは 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,
          },
        },
      },
    },
  },
}
オプションデフォルト説明
enabledauto自動モードでは、OpenClaw はサポートされた AWS env marker を検出したときだけ暗黙的 Bedrock provider を有効にします。検出を強制するには true を設定します。
regionAWS_REGION / AWS_DEFAULT_REGION / us-east-1検出 API 呼び出しに使用する AWS リージョン。
providerFilter(all)Bedrock provider 名に一致します(例: anthropic, amazon)。
refreshInterval3600秒単位のキャッシュ期間。キャッシュを無効にするには 0 を設定します。
defaultContextWindow32000検出されたモデルに使用するコンテキストウィンドウ(モデル制限がわかっている場合は上書きしてください)。
defaultMaxTokens4096検出されたモデルに使用する最大出力トークン数(モデル制限がわかっている場合は上書きしてください)。

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

この手順では IAM ロールを作成し、Bedrock 権限をアタッチし、インスタンスプロファイルを関連付け、EC2 ホストで OpenClaw の検出を有効にします。
# 1. IAM ロールとインスタンスプロファイルを作成する
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. EC2 インスタンスにアタッチする
aws ec2 associate-iam-instance-profile \
  --instance-id i-xxxxx \
  --iam-instance-profile Name=EC2-Bedrock-Access

# 3. EC2 インスタンス上で、検出を明示的に有効にする
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. 任意: 明示的な有効化なしで自動モードを使いたい場合は env marker を追加する
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc

# 5. モデルが検出されることを確認する
openclaw models list

高度な設定

OpenClaw は、foundation model と並んで リージョナルおよびグローバル推論プロファイル を検出します。プロファイルが既知の foundation model に対応している場合、そのプロファイルはそのモデルの機能(コンテキストウィンドウ、最大トークン数、reasoning、vision)を継承し、正しい Bedrock リクエストリージョンが自動的に注入されます。これにより、クロスリージョンの Claude プロファイルは手動の provider 上書きなしで動作します。推論プロファイル ID は us.anthropic.claude-opus-4-6-v1:0(リージョナル)や anthropic.claude-opus-4-6-v1:0(グローバル)のような形です。背後のモデルがすでに検出結果に含まれている場合、プロファイルはその完全な機能セットを継承し、そうでない場合は安全なデフォルトが適用されます。追加設定は不要です。検出が有効で、IAM principal に bedrock:ListInferenceProfiles があれば、プロファイルは openclaw models list で foundation model と並んで表示されます。
amazon-bedrock Plugin 設定に guardrail オブジェクトを追加することで、すべての Bedrock モデル呼び出しに Amazon Bedrock Guardrails を適用できます。Guardrails により、コンテンツフィルタリング、トピック拒否、単語フィルター、機密情報フィルター、コンテキストに基づくグラウンディングチェックを強制できます。
{
  plugins: {
    entries: {
      "amazon-bedrock": {
        config: {
          guardrail: {
            guardrailIdentifier: "abc123", // guardrail ID または完全な ARN
            guardrailVersion: "1", // バージョン番号、または "DRAFT"
            streamProcessingMode: "sync", // optional: "sync" または "async"
            trace: "enabled", // optional: "enabled"、"disabled"、または "enabled_full"
          },
        },
      },
    },
  },
}
オプション必須説明
guardrailIdentifierはいGuardrail ID(例: abc123)または完全な ARN(例: arn:aws:bedrock:us-east-1:123456789012:guardrail/abc123)。
guardrailVersionはい公開済みバージョン番号、または作業中ドラフトの "DRAFT"
streamProcessingModeいいえストリーミング中の guardrail 評価に使う "sync" または "async"。省略時は Bedrock のデフォルトが使われます。
traceいいえデバッグ用の "enabled" または "enabled_full"。本番では省略するか "disabled" を設定します。
Gateway が使用する IAM principal には、標準の invoke 権限に加えて bedrock:ApplyGuardrail 権限が必要です。
  • Bedrock では、AWS アカウント/リージョンで model access を有効にする必要があります。
  • 自動検出には bedrock:ListFoundationModelsbedrock:ListInferenceProfiles の権限が必要です。
  • 自動モードに依存する場合は、サポートされている AWS auth env marker のいずれかを Gateway ホストに設定してください。env marker なしで IMDS/共有設定 auth を使いたい場合は、 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 チェーンです。
  • reasoning のサポートは model に依存します。現在の機能については Bedrock の model card を確認してください。
  • マネージドキーのフローを好む場合は、Bedrock の前段に OpenAI 互換の プロキシを置き、代わりに OpenAI provider として設定することもできます。

関連

モデル選択

provider、model ref、フェイルオーバー動作の選び方。

Memory Search

memory search 用 Bedrock 埋め込みの設定。

メモリ設定リファレンス

完全な Bedrock 埋め込みモデル一覧と次元オプション。

トラブルシューティング

一般的なトラブルシューティングと FAQ。