コンテンツにスキップ

OpenClawとAmazon Bedrockを連携:AWS認証でモデルを即時利用

新しいAIモデルを導入する際、APIキーの管理やセキュリティ設定に頭を悩ませることはありませんか?特に複数のモデルを使い分ける場合、それぞれの認証情報を個別に管理するのは手間がかかります。

Amazon Bedrockを利用すれば、AWSの認証システムをそのまま活用できるため、セキュアかつ効率的にLLMを統合できます。OpenClawでBedrockをセットアップして、開発を加速させましょう。

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

  • Provider: amazon-bedrock
  • API: bedrock-converse-stream
  • Auth: AWS 認証情報(環境変数、共有設定ファイル、またはインスタンスロール)
  • Region: AWS_REGION または AWS_DEFAULT_REGION(デフォルト: us-east-1)

AWSの認証情報が検出されると、OpenClawは ストリーミング と テキスト出力 に対応したBedrockモデルを自動的に検出します。検出には bedrock:ListFoundationModels を使用し、結果はキャッシュされます(デフォルトは1時間)。

設定オプションは models.bedrockDiscovery の下にあります。

{
models: {
bedrockDiscovery: {
enabled: true,
region: "us-east-1",
providerFilter: ["anthropic", "amazon"],
refreshInterval: 3600,
defaultContextWindow: 32000,
defaultMaxTokens: 4096,
},
},
}

補足事項:

  • enabled: AWS認証情報が存在する場合、デフォルトで true になります。
  • region: AWS_REGION または AWS_DEFAULT_REGION を参照し、設定がない場合は us-east-1 になります。
  • providerFilter: Bedrockのプロバイダー名(例: anthropic)でフィルタリングします。
  • refreshInterval: 秒単位で指定します。0 に設定するとキャッシュが無効になります。
  • defaultContextWindow(デフォルト: 32000)および defaultMaxTokens(デフォルト: 4096): 検出されたモデルに使用されます(モデルの制限がわかっている場合は上書きしてください)。
  1. Gateway ホスト でAWS認証情報が利用可能であることを確認します。
Terminal window
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="..."
  1. 設定にBedrockプロバイダーとモデルを追加します(apiKey は不要です)。
{
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" },
},
},
}

IAMロールが付与されたEC2インスタンスでOpenClawを実行する場合、AWS SDKは自動的にインスタンスメタデータサービス(IMDS)を使用して認証を行います。ただし、現在のOpenClawの認証検出機能は環境変数のみをチェックし、IMDSの認証情報を直接確認しません。

回避策: AWS_PROFILE=default を設定して、AWS認証情報が利用可能であることを通知してください。実際の認証は、引き続きIMDS経由でインスタンスロールが使用されます。

Terminal window
# Add to ~/.bashrc or your shell profile
export AWS_PROFILE=default
export AWS_REGION=us-east-1

EC2 インスタンスロールに必要な IAM 権限:

  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream
  • bedrock:ListFoundationModels(自動検出に必要)

または、マネージドポリシー AmazonBedrockFullAccess をアタッチしてください。

クイックセットアップ(AWS経由)

Section titled “クイックセットアップ(AWS経由)”
Terminal window
# 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
openclaw config set models.bedrockDiscovery.enabled true
openclaw config set models.bedrockDiscovery.region us-east-1
# 4. Set the workaround env vars
echo 'export AWS_PROFILE=default' >> ~/.bashrc
echo 'export AWS_REGION=us-east-1' >> ~/.bashrc
source ~/.bashrc
# 5. Verify models are discovered
openclaw models list
  • Bedrockを使用するには、AWSアカウントおよびリージョンで モデルアクセス が有効になっている必要があります。
  • 自動検出機能には bedrock:ListFoundationModels 権限が必要です。
  • プロファイルを使用する場合は、Gateway ホストで AWS_PROFILE を設定してください。
  • OpenClawは、AWS_BEARER_TOKEN_BEDROCK、次に AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY、次に AWS_PROFILE、最後にデフォルトのAWS SDKチェーンの順で認証情報を参照します。
  • Reasoning(推論)機能のサポート状況はモデルによって異なります。最新の機能についてはBedrockのモデルカードを確認してください。
  • マネージドキーによるフローを好む場合は、Bedrockの前にOpenAI互換プロキシを配置し、OpenAIプロバイダーとして設定することも可能です。

amazon-bedrock プラグインの設定に 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(オプション): APIレスポンスでガードレールのトレース出力を有効にします。デバッグ時は "enabled" または "enabled_full" に設定し、本番環境では省略するか "disabled" に設定してください。

Gatewayが使用するIAMプリンシパルには、標準の呼び出し権限に加えて bedrock:ApplyGuardrail 権限が必要です。

AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。