Contents
1. OpenClaw の概要と主な利用シーン
| 項目 | 内容 |
|---|---|
| 製品カテゴリ | LLM(Claude、Titan など)をバックエンドに持つ対話型エージェントフレームワーク。オープンソースで GitHub にリポジトリが公開されている【1】。 |
| コア機能 | - テキスト・ファイル添付・画像解析などマルチモーダル対応 - 社内データベースや Confluence、社内 API とのシームレス連携 - プライバシー保護のため、処理はインスタンス内部で完結【2】 |
| 拡張性 | カスタムツール・プラグインを YAML 設定で簡易追加可能。スキルマーケットプレイス的な概念は未実装だが、Git リポジトリにコードを置くだけで機能追加できる【3】 |
| 想定利用シーン | - 社内ヘルプデスクの自動化 - ナレッジベース検索(Wiki・Confluence) - 定型業務フロー(承認、レポート作成等)の指示実行 |
ポイント
・機密情報は Lightsail インスタンス上で処理され、外部へ送信しない構成が標準で用意されています【2】。
・AWS Bedrock のモデル呼び出しは IAM ロールを経由した AssumeRole で実現し、最小権限の原則を適用できます。
2. 前提条件と事前準備
| 項目 | 必要な操作 |
|---|---|
| AWS アカウント | 無料利用枠(Free Tier)で作成し、請求アラート(月額 $10 程度)を設定【4】。 |
| リージョン | 本ガイドは ap-northeast-1(東京)を前提としています。Lightsail はこのリージョンで最も低遅延です。 |
| ローカル環境 | SSH キー生成が可能な端末(macOS / Linux 推奨)。Windows の場合は PowerShell か WSL を利用してください。 |
| 必要権限 | IAM コンソールへのフルアクセス、Lightsail インスタンス作成権限、Bedrock 利用権限(別途 AWS サポートへ申請が必要)【5】。 |
3. IAM ロールとポリシーの設定
3‑1. Bedrock 呼び出し専用ロールの作成手順
- IAM コンソール → 「ロール」→「ロールを作成」
- 信頼されたエンティティ に
lightsail.amazonaws.comを選択し、以下の信頼ポリシーを貼り付け
|
1 2 3 4 5 6 7 8 9 10 11 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lightsail.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } |
- インラインポリシー として Bedrock の最小権限を付与
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:ListCustomModels" ], "Resource": "*" } ] } |
- 作成したロールの ARN(例:
arn:aws:iam::123456789012:role/LightsailBedrockRole)を控えておきます。
参考
- IAM ロールと信頼関係の詳細は AWS 公式ドキュメントをご参照ください【6】。
4. Lightsail インスタンスの作成
4‑1. 推奨インスタンスタイプ
| タイプ | vCPU | メモリ | 月額(東京) |
|---|---|---|---|
| nano | 1 | 0.5 GB | $3.50 |
| micro | 1 | 1 GB | $5.00 |
| small | 2 | 4 GB | $10.00 |
| medium | 2 | 8 GB | $20.00 |
実務的な目安
・最低でもsmall(2 vCPU / 4 GB)を選択すると、Claude‑v2 や Titan の推論に十分なリソースが確保できます。
4‑2. Spot インスタンスの活用
- Lightsail コンソール → 「インスタンス作成」→「ブループリント」タブで OpenClaw を選択。
- 「プラン」画面で Spot インスタンスを使用 にチェックし、割引率(例:65 %)を確認。
- スポット中断時の自動スナップショット取得 オプションを有効にし、保存先リージョンは同一に設定。
注意点
Spot は価格変動やリソース不足で中断される可能性があります。重要な環境ではオンデマンドへフェイルオーバーできる仕組み(スナップショットからの復元)を必ず構築してください【7】。
4‑3. SSH キーとファイアウォール設定
|
1 2 3 |
# macOS / Linux 用キー生成例 ssh-keygen -t rsa -b 4096 -f ~/.ssh/openclaw_lightsail -C "openclaw" |
- SSH 公開鍵 を Lightsail コンソールの「ネットワーク」→「SSH キー」からインポート。
- ファイアウォールで以下ポートを許可
| ポート | 用途 |
|---|---|
| 443 (TCP) | HTTPS(Web UI) |
| 8080 (TCP) | OpenClaw 管理 API(デフォルト) |
参考:Lightsail のネットワーク設定は公式ガイドに詳述【8】。
5. インスタンス起動後の初期セットアップと Bedrock 連携
5‑1. ブラウザベースのペアリングと管理者アカウント作成
| 手順 | 内容 |
|---|---|
| 1 | Lightsail の「ネットワーク」タブでパブリック IP を確認し、https://<IP>:8080 にアクセス。 |
| 2 | 画面に表示された 6 桁のペアリングコードを入力 → 初回ログイン画面へ遷移。 |
| 3 | 管理者ユーザー名・パスワード(12 文字以上、英数記号混在)を設定し、完了。 |
5‑2. Bedrock への認証情報取得(AssumeRole)
/etc/profile.d/openclaw.sh に環境変数を定義:
|
1 2 3 |
export AWS_DEFAULT_REGION=ap-northeast-1 export ROLE_ARN="arn:aws:iam::123456789012:role/LightsailBedrockRole" |
インスタンス起動時に実行されるスクリプト(/opt/openclaw/init_assume_role.sh)例:
|
1 2 3 4 5 6 |
#!/bin/bash creds=$(aws sts assume-role --role-arn $ROLE_ARN --role-session-name openclawSession) export AWS_ACCESS_KEY_ID=$(echo $creds | jq -r '.Credentials.AccessKeyId') export AWS_SECRET_ACCESS_KEY=$(echo $creds | jq -r '.Credentials.SecretAccessKey') export AWS_SESSION_TOKEN=$(echo $creds | jq -r '.Credentials.SessionToken') |
5‑3. OpenClaw 設定ファイルへの Bedrock 有効化
/home/ubuntu/openclaw/config.yaml に追記:
|
1 2 3 4 5 |
bedrock: enabled: true region: ap-northeast-1 modelId: anthropic.claude-v2 # 利用したいモデル ID を指定 |
設定反映後、管理画面の「モデル選択」タブに Bedrock のモデル一覧が表示されれば成功です。
検証:
curl -X POST https://<IP>:8080/api/chat -H "Content-Type: application/json" -d '{"message":"ping"}'が{"response":"pong", ...}を返すことを確認してください。
6. 動作確認・コスト最適化・トラブルシューティング
6‑1. 基本的な応答テスト
| 方法 | コマンド例 |
|---|---|
| ブラウザ | 管理画面 → 「チャット」タブに Hello, OpenClaw! と入力 |
| curl | 上記 5‑3 のコマンドを実行 |
正常応答が得られたら、以降は業務フローへの組み込みへ進めます。
6‑2. コスト最適化ポイント
| 項目 | 推奨設定 | 効果 |
|---|---|---|
| Spot 割引率 | 65 %〜70 % | 月額コスト約30 %削減 |
| スナップショット取得 | 毎日 02:00 (UTC) に自動実行【9】 | 中断時の復旧時間を数分に短縮 |
| Auto‑Stop | 非稼働状態が 30 分以上で停止 | 無駄な課金防止 |
設定は Lightsail の「スナップショット」タブと「自動停止」オプションから行えます。
6‑3. よくあるエラーと対処法
| エラーメッセージ | 主な原因 | 解決策 |
|---|---|---|
AccessDeniedException: User is not authorized to perform: bedrock:InvokeModel |
IAM ポリシー未付与 | ロールに bedrock:InvokeModel を追加し、ARN が正しいか再確認 |
Failed to start OpenClaw service (port 8080) |
ファイアウォールでポート閉鎖 | Lightsail のネットワーク設定で TCP 8080 を許可 |
Instance stopped due to Spot interruption |
Spot 中断 | スナップショットを有効化し、必要に応じてオンデマンドインスタンスへ切替 |
Unable to resolve host: <IP> |
パブリック IP 未設定または VPC のアウトバウンド制限 | Lightsail コンソールでパブリック IP を確認、VPC のルートテーブルを点検 |
7. ベストプラクティスと拡張例
7‑1. セキュリティ強化
| 項目 | 推奨設定 |
|---|---|
| IAM | 最小権限のロールに限定し、sts:AssumeRole の有効期間を 1 時間以内に設定【10】 |
| ネットワーク | Lightsail のパブリック IP を使用せず、VPC エンドポイント経由で社内 API に接続(必要に応じて VPN) |
| データ暗号化 | EBS ボリュームは自動暗号化を有効化し、S3 バケットへのバックアップも SSE‑KMS を利用 |
7‑2. カスタムツールの実装例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
plugins: - name: jira-create-issue description: "Jira にチケットを自動作成" command: | curl -X POST https://jira.example.com/rest/api/2/issue \ -H "Authorization: Bearer ${JIRA_TOKEN}" \ -H "Content-Type: application/json" \ -d @- <<EOF { "fields": { "project": {"key":"PROJ"}, "summary":"${input.summary}", "description":"${input.description}", "issuetype": {"name":"Task"} } } EOF |
上記プラグインは OpenClaw の「ツール」メニューに登録し、チャット内で !jira-create-issue とコマンドを叩くだけでチケット作成が可能です。
7‑3. スケーリング戦略
| 規模 | 推奨構成 |
|---|---|
| 小規模テスト | Lightsail small + Spot |
| 本番 (数十ユーザー) | Lightsail クラスターまたは EC2 Auto Scaling グループへ移行(ロードバランサー併用)【11】 |
| 大規模 (数千リクエスト/日) | Amazon ECS/Fargate にコンテナ化し、Bedrock のオンデマンド課金を利用 |
8. 参考情報
- OpenClaw GitHub リポジトリ – https://github.com/openclaw/openclaw
- 「OpenClaw が提供するプライバシー保護機能」 – https://docs.openclaw.io/privacy/
- カスタムツール開発ガイド – https://docs.openclaw.io/plugins/
- AWS Free Tier の概要 – https://aws.amazon.com/jp/free/
- Bedrock 利用申請手順 – https://aws.amazon.com/jp/bedrock/faqs/
- IAM ロールと信頼関係の設定 – https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_create_for-service.html
- Lightsail Spot インスタンスの注意点 – https://docs.aws.amazon.com/lightsail/latest/userguide/using-spot-instances.html
- Lightsail ネットワーク設定 – https://docs.aws.amazon.com/lightsail/latest/userguide/networking.html
- スナップショット自動取得の設定方法 – https://aws.amazon.com/jp/blogs/news/schedule-lightsail-snapshots/
- IAM の最小権限ベストプラクティス – https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html
- EC2 Auto Scaling とロードバランサーの構築例 – https://aws.amazon.com/jp/getting-started/hands-on/autoscaling-load-balancing/
まとめ
本ガイドに沿って Lightsail 上に OpenClaw をデプロイすれば、社内向け AI エージェントを安全かつ低コストで運用できます。設定が完了したら、まずは簡単なチャットテストで動作確認し、その後プラグインや API 連携で業務フローへ組み込みましょう。継続的なモニタリングと IAM の見直しを行うことで、セキュリティ・コストの両面で最適化された運用が実現します。