OpenClaw(以前はMoltbotやClawdbotと呼ばれていました)が、今注目を集めています。私たちが寝ている間に自動でコードを書いたり、タスクをスケジュールしたり、話題になったケースでは電話番号を取得して誰かに電話をかけたりするエージェントが登場しています。
また、「AI専用SNS」と呼ばれるMoltbookでは、自律的なスクリプトが独自の信仰やデジタル経済を形成しています。
まるで魔法のように見えます。
でも実際は、ループとキュー、タイマーが動いているだけです。ただし、重要なのはこのループが止まらずに動き続ける必要があるということです。
現在、多くの人がOpenClawをノートPCで動かしています。つまり、ノートPCの蓋を閉じた瞬間、「自律エージェント」も休眠状態になります。
この記事では、OpenClawをローカルマシンからクラウドの常時稼働する仮想マシン(VM)へ移行する方法を紹介します。Terraformのapplyコマンドひとつで、エージェントが「常に稼働し続ける」状態を実現できます。
OpenClawとは?
OpenClaw公式サイトによると、OpenClawは「実際に行動するAI。受信トレイを整理し、メールを送信し、カレンダーを管理し、フライトのチェックインも行います。WhatsAppやTelegramなど、普段使っているチャットアプリから操作できます。」
常時稼働は必須
OpenClawの仕組みを少しでも読んだことがある方なら、アーキテクチャがイベント駆動型であることはご存知でしょう。メッセージ、heartbeat、 cron、webhookなどの入力がゲートウェイに入り、エージェントにルーティングされます。
そこで、heartbeatが重要な役割を果たします。デフォルトだと30分ごとにOpenClawが自分自身に「今やるべきことはあるか?」と問いかけます。リマインダーを確認し、未処理のタスクをフォローし、受信トレイをチェックします。ローカルマシンでは、スリープモードやプロセスの終了、Wi-Fiの切断、他の用途でPCを使う必要など、さまざまな問題と常に戦うことになります。
しかし、Linux VMなら、これらの問題はありません。エージェントを24時間365日稼働させ続けることができます。加えて、もうひとつのメリットは、コンテキストが持続することです。エージェントが継続的に動いていると、状態が蓄積されます。月曜日に前回の続きから始めたり、木曜日に下した判断の理由を尋ねたり、休みの間に起きた出来事をまとめて確認したりできます。ノートPC上でエージェントを動かす場合と、OpenClawをVMで稼働させた場合の違いを表にまとめました。
機能 |
ノートPCエージェント |
OpenClaw |
|---|---|---|
可用性 |
スリープや画面の開閉に影響される |
24/7常時稼働 |
状態 |
プロセス終了でリセット |
持続的なコンテキスト/メモリ |
信頼性 |
Wi-Fiやバッテリー切れと戦う |
ハーデニング(強固なセキュリティ化)されたバックグラウンド稼働 |
表:ノートPC上でエージェントを動かす場合と、OpenClawをVMで稼働させた場合の違い
実際にデプロイするもの
シンプルに説明します。Openclaw-quickstartリポジトリには、Terraform設定が含まれており、以下の内容が構築されます:
cloud-initによるセキュリティハーデニング済みLinode VM
openclaw 専用のuser(rootでエージェントを動かさない)
SSHをあなたのIPだけに制限するクラウドファイアウォール
パスワード認証無効化済み、キーベースの認証のみ
OpenClaw(Moltbot/Clawdbot)のインストールおよびオンボーディング済み
GPUやマネージドAIサービス、プロキシ、Kubernetes、コンテナランタイムは不要です。Terraform applyだけで、エージェント稼働用のハーデニングされたVMが完成します。AIの処理はモデルプロバイダーへのAPIコールで行われ、VM自体はプロセスを動かすだけです。
前提条件
始める前に必要なものは3つだけです:
ローカルにTerraformをインストール
LinodeアカウントとAPIトークン
SSHキーペア(まだ持っていない場合は以下で生成)
ssh-keygen -t ed25519 -C "openclaw@example.com" -f ~/.ssh/openclaw
Terraformで何かデプロイしたことがある方なら、次のステップは馴染みがあるはずです。
デプロイまでの5ステップ
手順は5つだけです:
quickstartリポジトリをクローン
git clone https://github.com/akamai-developers/openclaw-quickstart.git
cd openclaw-quickstart
リポジトリは非常にシンプルです:main.tf、cloud-init.yaml、変数、出力のみ。複雑な抽象化やモジュールはありません。約5分で全体を読めます。
デプロイ設定
Linode APIトークンを設定します:
export LINODE_TOKEN="your-linode-api-token"
そして、terraform.tfvarsファイルを作成します(リポジトリに.exampleがあります):
linode_token = "your-linode-api-token"
public_key_path = "~/.ssh/openclaw.pub"
allowed_ssh_cidrs = ["YOUR_IP/32"] # Lock SSH to your IP
region = "us-east" # Pick what's close to you
instance_type = "g6-nanode-1" # Plenty for an agent workload
A few notes on these choices:
allowed_ssh_cidrs — これが最重要のファイアウォールルールです。 YOUR_IP/32を実際のIPに置き換えてください。デフォルトは0.0.0.0/0 (全世界に公開)ですが、デプロイ前に必ず変更しましょう。エージェントVMにはAPIキーや状態が保存されるので、セキュリティを確保してください。
instance_type — デフォルトの g6-nanode-1 はLinodeの最小プランですが、OpenClawのワークロードには十分です。I/Oとメモリが中心で、CPUやGPUは不要です。必要ならCPUプランを上げても良いですが、GPUや専用CPUは過剰です。
region — エージェント作業ではレイテンシは重要ではありませんが、SSHの操作感は近いリージョンの方が快適です。
デプロイ実行
terraform init
terraform plan # Review what's about to happen
terraform apply # Build it
これでインフラ構築は完了です。TerraformがLinodeをプロビジョニングし、cloud-initでセキュリティ強化やユーザー作成、OpenClawインストール、ファイアウォール設定を行います。
完了したら接続情報を取得します:
# Get the VM IP and SSH command
terraform output -json
# Connect
ssh openclaw@$(terraform output -raw instance_ip)
openclaw ユーザーとして強化されたVMにログインできます。rootログインは鍵認証のみ、パスワード認証は完全無効、ファイアウォールは指定したCIDRのみSSHを許可します。
バックアップも忘れずに:
バックアップは後回しにしがちですが、後悔しないために設定しておきましょう。エージェントが数週間稼働すると、メモリや会話履歴、統合設定、スケジュールタスクなどが蓄積されます。ディスク障害でこれらを再構築するのは大変です。
LinodeでAkamai Cloud Backupsを有効にしましょう。インスタンスコストのごく一部です。エージェントの状態が大きくなってきたら(ログやメモリファイルが増えた場合)、 Akamai Block Storageを追加してデータをコンピュートライフサイクルから切り離すこともできますが、ほとんどのケースではローカルディスク+バックアップで十分です。
オンボード&稼働開始
OpenClawを起動します。デーモン・フラグ付きでウィザードを実行:
openclaw onboard --install-daemon
--install-daemonフラグが重要です。エージェントを設定するだけでなく、バックグラウンドサービスとしてインストールします。そうすることで以下の内容が実現できます
SSH切断後もエージェントは稼働し続ける
VM再起動時も自動で再稼働
ログや状態が保持・管理可能
ウィザードではモデルプロバイダーの認証情報(APIキーやOAuth)、ワークスペース設定、チャネル統合(Slack、Telegram、WhatsApp、Discordなど)を案内します。
詳細な手順は公式オンボードドキュメントを参照してください。
あとは放置
デーモンが稼働し、メッセージ統合が完了したら、通常の利用でSSH接続は不要です。エージェントには、同僚と話すのと同じようにSlackやTelegramなどのチャネルから話しかけます。
たとえば、日常的なコマンド(VMの状態を確認したい場合)は以下のようなものです:
openclaw gateway status # Is it running?
openclaw gateway restart # Kick it
openclaw logs --follow # Watch what it's doing
公開エンドポイントは不要です。エージェントはただ稼働し続けます。
ビジュアルが欲しい場合、OpenClawのGateway Control UIがポート18789で動きます。公開せず、SSHトンネルでアクセスしましょう:
ssh -L 18789:localhost:18789 openclaw@$(terraform output -raw instance_ip)
ブラウザで http://localhost:18789 にアクセスすれば、ダッシュボードが表示されます。公開ポートはゼロです。
エージェントが常時稼働すると何が変わるか
これは実際に体験しないと分かりづらい部分ですが、エージェントが常に動いていると、エージェントとの付き合い方が変わります。
「起動する」から「チェックインする」に変わります。システムや同僚に確認するように、夜間の出来事を尋ねたり、メールをなぜフラグしたのか聞いたり、月曜の会議前に未処理タスクをまとめて確認したりできます。コンテキストが蓄積され、ノートPCがスリープするたびにリセットされることはありません。
heartbeatは予定通り発信されし、cronは時間通り実行され、ツールからのWebhookもあなたが席を外していてもエージェントを動かします。昼食から戻ると「ウォッチするよう頼まれたPRをマージして、トラッキングドキュメントを更新しました」とメッセージが届いています。
「呼び出すツール」ではなく、「一緒に働くシステム」に変わります。
それは知性ではなく、ただの止まらないループにすぎませんが、その体験はまったく新しいものです。
まとめ
常時稼働:OpenClawをクラウドVMに移行することで、途切れることなく稼働し、能動的にタスクを処理できます。ノートPCのスリープや接続切れの心配はありません。
持続的なコンテキスト:クラウドVMならOpenClawの状態が維持され、長期プロジェクトやシームレスなワークフローに不可欠な詳細なタスクまとめが可能です。
強化されたセキュリティ:専用ユーザー、クラウドファイアウォール、鍵認証など、堅牢なセキュリティ対策でAIエージェントを保護します。
簡単な管理:数コマンドとTerraform applyひとつでセットアップでき、開発者も非技術者も簡単にクラウドでOpenClawエージェントを稼働できます。
コスト効率:最小のLinodeプラン(g6-nanode-1)で十分。Cloud BackupsやBlock Storageも低コストで安心を得られます。
クイックリファレンスガイド
Tags