Oracle CloudでOpenClawを動かす(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アカウント(登録)— 問題が発生した場合はコミュニティ登録ガイドを参照
- Tailscaleアカウント(tailscale.comで無料)
- 約30分の作業時間
1) OCIインスタンスを作成する
- Oracle Cloud Consoleにログイン
- Compute → Instances → Create Instanceに移動
- 設定:
- 名前:
openclaw - イメージ: Ubuntu 24.04(aarch64)
- シェイプ:
VM.Standard.A1.Flex(Ampere ARM) - OCPU: 2(最大4まで)
- メモリ: 12 GB(最大24 GBまで)
- ブートボリューム: 50 GB(最大200 GBまで無料)
- SSHキー: 公開鍵を追加
- 名前:
- 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が有効になり、テールネット上のどのデバイスからもssh openclawで接続できます。パブリックIPは不要です。
確認:
tailscale status
以降はTailscale経由で接続してください: ssh ubuntu@openclaw(またはTailscale IPを使用)。
5) OpenClawをインストールする
curl -fsSL https://openclaw.ai/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(ループバック+トークン認証)を設定して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+テールネットアクセス)
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 Consoleで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>はお使いのテールネット名に置き換えてください(tailscale statusで確認可能)。
SSHトンネルは不要です。Tailscaleが提供するもの:
- HTTPS暗号化(自動証明書)
- Tailscaleアイデンティティによる認証
- テールネット上のあらゆるデバイス(ノートPC、スマートフォンなど)からのアクセス
セキュリティ:VCN+Tailscale(推奨ベースライン)
VCNをロックダウン(UDP 41641のみ開放)してGatewayをループバックにバインドすることで、多層防御が実現します。パブリックトラフィックはネットワークエッジでブロックされ、管理アクセスはテールネット経由で行われます。
この構成により、インターネット全体のSSHブルートフォース攻撃を防ぐためだけのホストベースのファイアウォールルールが不要になることが多いですが、OSの更新、openclaw security auditの実行、パブリックインターフェースで意図せずリッスンしていないことの確認は引き続き必要です。
既に保護されているもの
| 従来のステップ | 必要? | 理由 |
|---|---|---|
| UFWファイアウォール | 不要 | VCNがトラフィックをインスタンスに到達する前にブロック |
| fail2ban | 不要 | VCNでポート22をブロックしていればブルートフォース攻撃なし |
| sshd強化 | 不要 | Tailscale SSHはsshdを使用しない |
| rootログイン無効化 | 不要 | TailscaleはシステムユーザーではなくTailscaleアイデンティティを使用 |
| SSH鍵認証のみ | 不要 | Tailscaleはテールネット経由で認証 |
| IPv6強化 | 通常は不要 | VCN/サブネット設定による。実際に割り当て/公開されているものを確認 |
引き続き推奨されること
- 認証情報のパーミッション:
chmod 700 ~/.openclaw - セキュリティ監査:
openclaw security audit - システム更新: 定期的に
sudo apt update && sudo apt upgrade - Tailscaleの監視: Tailscale管理コンソールでデバイスを確認
セキュリティ体制の確認
# パブリックポートがリッスンしていないことを確認
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インスタンスは人気があります。対処法:
- 別の可用性ドメインを試す
- オフピーク時間帯(早朝)に再試行
- シェイプ選択時に「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/— ワークスペース(SOUL.md、メモリ、アーティファクト)
定期的にバックアップ:
tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace
関連ドキュメント
- Gatewayリモートアクセス — その他のリモートアクセスパターン
- Tailscale連携 — Tailscaleの完全なドキュメント
- Gateway設定 — すべての設定オプション
- DigitalOceanガイド — 有料で登録が簡単
- Hetznerガイド — Dockerベースの代替案