BeeX Tech blog

BeeXではクラウドネイティブアプリ開発、企業の基幹クラウド基盤構築、システム移行、運用保守を行っています。

OpenCode導入ガイド:Amazon Bedrock 連携

はじめに

本記事では、オープンソースのAIコーディングエージェント「OpenCode」をAmazon Bedrockと連携し、LLMモデルを利用できるようにするまでの手順を整理します。

OpenCodeはAmazon Bedrockをプロバイダーの一つとしてサポートしており、AWS認証情報を渡すだけで利用可能です1

今回は、設定ファイルを利用して接続検証を行います。

なお、本記事はOpenCodeのインストールが完了している前提で進めます。インストール手順については前回記事をご参照ください。

https://techblog.beex-inc.com/entry/2026/03/31/153834

記事のまとめ

この記事で得られる知見は以下の通りです。

  • OpenCodeの設定ファイル(opencode.json)を使ったAmazon Bedrock連携方法
  • AWS CLIプロファイルによる認証情報の受け渡し方
  • Bedrockモデルの選択・利用開始までの流れ

実装前の準備(前提条件)

今回の実装のために、以下の準備が必要です。

  • OpenCode インストール済み
    • WSL2(Ubuntu)上にOpenCodeがインストールされていること
  • AWSアカウント
    • Amazon Bedrockへのアクセス権限があること
  • AWS CLI インストール済み(WSL上)
    • 認証情報の設定に使用
  • AWSのIAMユーザーのアクセスキー
    • Bedrockの呼び出し権限2を持つIAMユーザーのアクセスキーが発行済みであること

実装手順

以下ステップで実装を進めていきます。

実装手順1:AWS CLI認証情報の設定

OpenCodeが参照できるよう、WSL上のAWS CLIに認証情報を設定します。

作業パス:WSL2(Ubuntu)内のホームディレクトリ ~

前提条件:AWS CLIがインストール済みであること、IAMユーザーのアクセスキーが発行済みであること

AWS CLIのプロファイル設定

WSLターミナルを開き、以下のコマンドを実行します。

aws configure --profile <プロファイル名>

プロンプトに従い、以下の情報を入力します。

AWS Access Key ID [None]: <IAMユーザーのアクセスキーID>
AWS Secret Access Key [None]: <IAMユーザーのシークレットアクセスキー>
Default region name [None]: ap-northeast-1
Default output format [None]: json

補足 --profile オプションで、任意のプロファイル名を指定できます。 設定内容は ~/.aws/credentials および ~/.aws/config ファイルに保存されます。

設定内容の確認

設定が正しく保存されたか確認します。

cat ~/.aws/credentials

以下のように表示されれば設定完了です。

[<プロファイル名>]
aws_access_key_id = AKIA...(マスキングしてます)
aws_secret_access_key = xxxxxx(マスキングしてます)

実装手順2:opencode.jsonへのBedrock設定追加

OpenCodeの設定ファイル opencode.json に、Amazon Bedrockプロバイダーの設定を追記します。

作業パス:作業対象プロジェクトのルートディレクトリ(OpenCodeを起動するディレクトリ)

前提条件:実装手順1のAWS認証情報設定が完了していること

opencode.jsonの作成・編集

プロジェクトのルートディレクトリに opencode.json が存在しない場合は新規作成します。 既に存在する場合は provider セクションを追記・編集してください。

# プロジェクトディレクトリに移動
cd /path/to/your/project

# opencode.jsonを作成(存在しない場合)
touch opencode.json

opencode.json に以下の内容を記述します。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "amazon-bedrock": {
      "options": {
        "region": "ap-northeast-1",
        "profile": "<プロファイル名>"
      }
    }
  }
}

設定項目の説明は以下の通りです。

項目 説明 設定例
region 使用するAWSリージョン ap-northeast-1(東京)、us-east-1(米国東部)など
profile ~/.aws/credentials に定義した名前付きプロファイル名 実装手順1で設定したプロファイル名

注意 opencode.json にシークレットアクセスキーなどの機密情報を直接記述しないでください。 認証情報は ~/.aws/credentials に保管し、opencode.json ではプロファイル名のみ参照するようにしてください。

補足 環境変数(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_PROFILE 等)での設定も可能です。

実装手順3:OpenCodeの起動とモデル選択

設定が完了したら、OpenCodeを起動してAmazon Bedrockのモデルを選択します。

作業パスopencode.json を配置したプロジェクトのルートディレクトリ

前提条件:実装手順1・2が完了していること

OpenCodeの起動

WSLターミナルからOpenCodeを起動します。

opencode

モデルの選択

OpenCodeが起動したら、/models コマンドを入力します。

/models

モデル一覧が表示されるので、amazon-bedrock プロバイダーのモデルを選択してEnterを押します。

モデルへのアクセスについて

モデルを選択後、初めてプロンプトを実行(APIアクセス)した際、AWS Marketplace経由でサブスクリプションが自動的に成立しました

プロンプトからの返答を確認後、AWSアカウントに紐づくアドレス宛に、以下のメールが届きました。

件名:
Claude Opus 4.6 (Amazon Bedrock Edition) の AWS Marketplace サブスクリプション

本文:
AWS Marketplace をご利用のお客様

お客様は、AWS Marketplace で次の製品をサブスクライブしました:
* Anthropic, PBC が販売する Claude Opus 4.6 (Amazon Bedrock Edition)

注意 モデルの利用料は、Bedrockのモデル呼び出し料金として発生します。 料金の詳細はAWSの料金ページをご確認ください。

補足 AWS公式ドキュメントによると、Amazon Bedrockの基盤モデルへのアクセスは、適切なAWS Marketplace権限があればデフォルトで有効化されます3。 サードパーティモデルを初めて呼び出した際、Bedrockが自動的にサブスクリプション処理を開始します。 ただし、Anthropicモデルの場合はFirst Time Use(FTU)フォームの提出が別途必要なため、利用前に組織のポリシーや利用状況を確認してください。

備考など

  • デフォルトモデルの固定:毎回 /models で選択する手間を省きたい場合は、opencode.jsonmodel キーを追加してデフォルトモデルを指定できます。
{
  "$schema": "https://opencode.ai/config.json",
  "model": "amazon-bedrock/<モデルID>",
  "provider": {
    "amazon-bedrock": {
      "options": {
        "region": "ap-northeast-1",
        "profile": "<プロファイル名>"
      }
    }
  }
}
  • リージョン選択の注意:AWSリージョンごとにBedrockから利用可能なモデルが異なるため、モデルの提供状況はAWSコンソールやドキュメントで確認してください

  • その他の認証方法:本記事ではAWS CLIプロファイルによる認証を紹介しましたが、公式ドキュメントでは以下の認証方法もサポートされています

認証方法 概要
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY 環境変数でアクセスキーを直接指定
AWS_PROFILE 環境変数で名前付きプロファイルを指定
AWS_BEARER_TOKEN_BEDROCK Bedrockベアラートークンを使用
AWS_WEB_IDENTITY_TOKEN_FILE / AWS_ROLE_ARN EKS IRSA(IAM Roles for Service Accounts)等のOIDCフェデレーション

補足 認証の優先順位は、(1) ベアラートークン → (2) AWS認証チェーン(プロファイル、アクセスキー、共有認証情報、IAMロール、Webアイデンティティトークン、インスタンスメタデータ)の順です。

参考URL

この記事で参考にしたURLです。

https://opencode.ai/docs/providers/#amazon-bedrock

https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html

https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_id-based-policy-examples.html


  1. OpenCode Providers - Amazon Bedrock
  2. Identity-based policy examples for Amazon Bedrock - Amazon Bedrock User Guide
  3. Access Amazon Bedrock foundation models - Amazon Bedrock User Guide