OpenClaw on Oracle Cloud (OCI)
目標
Oracle CloudのAlways Free ARM層でOpenClaw Gatewayを永続的に実行します。
Oracleの無料層はOpenClawに最適ですが(特にOCIアカウントを既に持っている場合)、トレードオフがあります:
- ARMアーキテクチャ(ほとんどのものが動作しますが、一部のバイナリはx86専用の場合があります)
- 容量とサインアップが気まぐれな場合があります
コスト比較(2026)
| プロバイダー | プラン | スペック | 価格/月 | 備考 |
|---|---|---|---|---|
| Oracle Cloud | Always Free ARM | 最大4 OCPU、24GB RAM | $0 | ARM、容量制限あり |
| Hetzner | CX22 | 2 vCPU、4GB RAM | 約$4 | 最も安い有料オプション |
| DigitalOcean | Basic | 1 vCPU、1GB RAM | $6 | 簡単なUI、良いドキュメント |
| Vultr | Cloud Compute | 1 vCPU、1GB RAM | $6 | 多数のロケーション |
| Linode | Nanode | 1 vCPU、1GB RAM | $5 | 現在はAkamaiの一部 |
前提条件
- Oracle Cloudアカウント(signup)— 問題が発生した場合はコミュニティサインアップガイドを参照
- Tailscaleアカウント(tailscale.comで無料)
- 約30分
1) OCIインスタンスを作成
- Oracle Cloud Consoleにログイン
- Compute → Instances → Create Instanceへ移動
- 設定:
- Name: openclaw
- Image: Ubuntu 24.04 (aarch64)
- Shape: VM.Standard.A1.Flex(Ampere ARM)
- OCPUs: 2(または最大4)
- Memory: 12 GB(または最大24 GB)
- Boot volume: 50 GB(最大200 GB無料)
- SSH key: 公開鍵を追加
- Createをクリック
- パブリックIPアドレスをメモ
ヒント: インスタンス作成が「Out of capacity」で失敗した場合は、別のアベイラビリティドメインを試すか、後で再試行してください。無料層の容量は制限されています。
2) 接続と更新
# パブリックIP経由で接続
ssh ubuntu@YOUR_PUBLIC_IP
# システムを更新
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential
注: build-essentialは一部の依存関係のARMコンパイルに必要です。
3) ユーザーとホスト名を設定
# ホスト名を設定
sudo hostnamectl set-hostname openclaw
# ubuntuユーザーのパスワードを設定
sudo passwd ubuntu
# lingering を有効化(ログアウト後もユーザーサービスを実行し続ける)
sudo loginctl enable-linger ubuntu
4) Tailscaleをインストール
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw
これによりTailscale SSHが有効になり、tailnet上の任意のデバイスからssh openclawで接続できます — パブリックIPは不要です。
確認:
tailscale status
今後はTailscale経由で接続: ssh ubuntu@openclaw(またはTailscale IPを使用)。
5) OpenClawをインストール
curl -fsSL https://openclaw.bot/install.sh | bash
source ~/.bashrc
「How do you want to hatch your bot?」とプロンプトが表示されたら、**「Do this later」**を選択します。
注: ARMネイティブビルドの問題が発生した場合は、Homebrewに頼る前にシステムパッケージ(例: sudo apt install -y build-essential)から始めてください。
6) Gatewayを設定(loopback + トークン認証)し、Tailscale Serveを有効化
デフォルトとしてトークン認証を使用します。これは予測可能で、「insecure auth」Control UIフラグが不要です。
# GatewayをVM上でプライベートに保つ
openclaw config set gateway.bind loopback
# Gateway + Control UIに認証を要求
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token
# Tailscale Serve経由で公開(HTTPS + tailnetアクセス)
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'
systemctl --user restart openclaw-gateway
7) 確認
# バージョンを確認
openclaw --version
# デーモンステータスを確認
systemctl --user status openclaw-gateway
# Tailscale Serveを確認
tailscale serve status
# ローカルレスポンスをテスト
curl http://localhost:18789
8) VCNセキュリティをロックダウン
すべてが機能しているので、TailscaleのトラフィックのみをVCNにロックダウンします。OCIのVirtual Cloud Networkはネットワークエッジでファイアウォールとして機能します — トラフィックはインスタンスに到達する前にブロックされます。
- OCIコンソールでNetworking → Virtual Cloud Networksへ移動
- VCN → Security Lists → Default Security Listをクリック
- 以下を除くすべてのイングレスルールを削除:
- 0.0.0.0/0 UDP 41641(Tailscale)
- デフォルトのエグレスルールを保持(すべてのアウトバウンドを許可)
これにより、ポート22のSSH、HTTP、HTTPS、その他すべてがネットワークエッジでブロックされます。今後はTailscale経由でのみ接続できます。
Control UIにアクセス
Tailscaleネットワーク上の任意のデバイスから:
https://openclaw.<tailnet-name>.ts.net/
<tailnet-name>をtailnet名(tailscale statusで確認可能)に置き換えます。
SSHトンネルは不要です。Tailscaleが提供:
- HTTPS暗号化(自動証明書)
- Tailscale IDによる認証
- tailnet上の任意のデバイス(ラップトップ、電話など)からのアクセス
セキュリティ: VCN + Tailscale(推奨ベースライン)
VCNをロックダウン(UDP 41641のみ開放)し、Gatewayをloopbackにバインドすることで、強力な多層防御が得られます: パブリックトラフィックはネットワークエッジでブロックされ、管理アクセスはtailnet経由で行われます。
このセットアップにより、インターネット全体のSSHブルートフォースを単に阻止するためだけに追加のホストベースファイアウォールルールが不要になることがよくあります — しかし、OSを最新に保ち、openclaw security auditを実行し、誤ってパブリックインターフェースでリッスンしていないことを確認する必要があります。
既に保護されているもの
| 従来のステップ | 必要? | 理由 |
|---|---|---|
| UFWファイアウォール | いいえ | VCNがトラフィックがインスタンスに到達する前にブロック |
| fail2ban | いいえ | VCNでポート22がブロックされている場合、ブルートフォースなし |
| sshdの強化 | いいえ | Tailscale SSHはsshdを使用しない |
| rootログインの無効化 | いいえ | TailscaleはTailscale IDを使用、システムユーザーではない |
| SSHキーのみの認証 | いいえ | Tailscaleはtailnet経由で認証 |
| IPv6の強化 | 通常は不要 | VCN/サブネット設定による。実際に割り当て/公開されているものを確認 |
まだ推奨されるもの
- 認証情報のパーミッション: chmod 700 ~/.openclaw
- セキュリティ監査: openclaw security audit
- システムアップデート: 定期的にsudo apt update && sudo apt upgrade
- Tailscaleの監視: Tailscale admin consoleでデバイスを確認
セキュリティ態勢を確認
# パブリックポートがリッスンしていないことを確認
sudo ss -tlnp | grep -v '127.0.0.1\|::1'
# Tailscale SSHがアクティブであることを確認
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"
# オプション: sshdを完全に無効化
sudo systemctl disable --now ssh
フォールバック: SSHトンネル
Tailscale Serveが機能しない場合は、SSHトンネルを使用:
# ローカルマシンから(Tailscale経由)
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw
その後http://localhost:18789を開きます。
トラブルシューティング
インスタンス作成が失敗する(「Out of capacity」)
無料層のARMインスタンスは人気があります。試してみてください:
- 別のアベイラビリティドメイン
- オフピーク時間(早朝)に再試行
- shapeを選択する際に「Always Free」フィルターを使用
Tailscaleが接続しない
# ステータスを確認
sudo tailscale status
# 再認証
sudo tailscale up --ssh --hostname=openclaw --reset
Gatewayが起動しない
openclaw gateway status
openclaw doctor --non-interactive
journalctl --user -u openclaw-gateway -n 50
Control UIに到達できない
# Tailscale Serveが実行中であることを確認
tailscale serve status
# Gatewayがリッスンしていることを確認
curl http://localhost:18789
# 必要に応じて再起動
systemctl --user restart openclaw-gateway
ARMバイナリの問題
一部のツールにはARMビルドがない場合があります。確認:
uname -m # aarch64と表示されるはず
ほとんどのnpmパッケージは問題ありません。バイナリの場合、linux-arm64またはaarch64リリースを探してください。
永続化
すべての状態は以下に保存されます:
- ~/.openclaw/ — 設定、認証情報、セッションデータ
- ~/.openclaw/workspace/ — workspace(SOUL.md、memory、artifacts)
定期的にバックアップ:
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace
関連項目
- Gateway remote access — その他のリモートアクセスパターン
- Tailscale integration — 完全なTailscaleドキュメント
- Gateway configuration — すべての設定オプション
- DigitalOcean guide — 有料+より簡単なサインアップが必要な場合
- Hetzner guide — Dockerベースの代替案