Temporalは、信頼性の高い長期稼働アプリケーションを構築するために開発者が使用する、オープンソースの分散型でスケーラブルなワークフローオーケストレーションエンジンです。VPS上にTemporalをホスティングすることで、インフラストラクチャの完全なコントロール、コスト削減、カスタマイズが可能になります。このガイドでは、VPSプロバイダー上でDockerコンテナを使用してTemporalをインストールする手順を詳しく解説し、開発環境、ホームラボ、または本番環境に適したスムーズなセットアップを保証します。
なぜTemporalをセルフホストするのか?
セルフホスティングすることで、以下が可能です:
- ワークフローオーケストレーション環境を完全に制御できる。
- 管理されたサービスに比べてコストを削減。
- ニーズに合わせて設定をカスタマイズ。
- 分散システムについて学び、実験できる。
Contabo (€5.99/月)、Hetzner Cloud (€4.15/月)、DigitalOcean ($6)、Vultr ($6)などの人気VPSプロバイダーは、お手頃な価格で高性能な選択肢を提供し、Temporalのホスティングに最適です。
前提条件
- 公開IPを持つVPS(Linux OS推奨Ubuntu 22.04)
- rootまたはsudo権限
- Docker、Linuxコマンドライン、ネットワークの基本知識
- SSL設定用のドメインまたは静的IP(任意推奨)
ステップ1:VPSの準備
サーバーパッケージを更新し、Dockerをインストールします。
sudo apt update && sudo apt upgrade -y
sudo apt install -y docker.io
sudo systemctl enable --now docker
Dockerのインストールを確認します。
docker --version
運用を容易にするために、ユーザーをdockerグループに追加します。
sudo usermod -aG docker $USER
newgrp docker
ステップ2:Docker Composeの設定
Temporalは複数コンテナ管理にDocker Composeを推奨しています。Docker Composeをインストールします。
sudo apt install -y docker-compose
バージョン確認:
docker-compose --version
ステップ3:TemporalのDocker Composeファイルをダウンロード
Temporalは例示設定を提供しています。Temporalリポジトリをクローンします。
git clone https://github.com/temporalio/docker-compose.git
cd docker-compose
または、自身でdocker-compose.yamlを作成し、カスタマイズします。
ステップ4:Docker Composeファイルの設定
docker-compose.yamlファイルを必要に応じて作成または編集します。以下は開発用の簡易例です。
version: '3.8'
services:
temporal:
image: temporalio/server:latest
environment:
- TEMPORAL_CLI_ADDRESS=temporal:7233
ports:
- "7233:7233"
networks:
- temporal-network
restart: always
frontend:
image: temporalio/web:latest
ports:
- "8080:8080"
environment:
- TEMPORAL_HOST=https://localhost:7233
depends_on:
- temporal
networks:
- temporal-network
networks:
temporal-network:
driver: bridge
必要に応じて設定を調整してください。本番環境ではSSL、永続ストレージ、セキュアな認証情報の設定を検討してください。
ステップ5:Temporalの起動
スタックを展開します。
docker-compose up -d
サービスが稼働しているか確認します。
docker ps
TemporalサーバーとWeb UIのコンテナが動作していることが分かるはずです。
ステップ6:Temporal Web UIにアクセス
ブラウザでサーバーのIPまたはドメインのポート8080にアクセスします。ワークフロー管理用のインターフェースが表示されます。
ステップ7:TLSの設定(任意推奨)
本番稼働にはwebトラフィックのセキュリティ強化が必要です。
- Let’s Encryptのcertbotを使用してSSL証明書を取得
- NGINXやCaddyをリバースプロキシとして設定し、TLS終端を行う
- Docker Composeにプロキシ設定を追加
モニタリングとメンテナンス
コンテナを定期的に更新します。
docker-compose pull
docker-compose down
docker-compose up -d
特に本番運用の場合は、ワークフローやメタデータのバックアップも忘れずに行いましょう。
VPSプロバイダー比較表
| プロバイダー | 価格 | 特徴 | 備考 |
|---|---|---|---|
| Contabo | €5.99/月 | 高CPUオプション、SSDストレージ | コスパ良好、セルフホスティングに最適 |
| Hetzner Cloud | €4.15/月 | 高速ネットワーク、SSD | 信頼性の高いホスティングで人気 |
| DigitalOcean | $6/月 | 簡単セットアップ、SSD | 広く利用されており、Docker統合も容易 |
| Vultr | $6/月 | 複数ロケーション、SSD | 分散展開に適している |
| Linode (Akamai Cloud) | $5/月 | 高パフォーマンス | 信頼性が高く、開発者向け |
詳細はfull VPS比較もご参照ください。
よくある質問(FAQ)
VPSでTemporalをセルフホストするのはどのくらい難しいですか?
DockerやLinuxに慣れている開発者であれば、Dockerやネットワークの設定が正しくできれば、通常1時間以内で構築可能です。SSL設定やクラスタリングの追加設定は難易度が上がりますが、ステップバイステップのガイドやコミュニティのサポート(例:/r/selfhostedやawesome-selfhosted)を利用すれば管理可能です。
低価格のVPSでもTemporalは動かせますか?
はい。Hetzner Cloud (€4.15/月)やContabo (€5.99/月)のようなプロバイダーは、小規模から中規模のワークロードには十分なリソースを提供しています。Temporalの必要要件は使用量により異なりますが、一般的には2CORE CPUと4GB RAMのVPSで開発やテスト環境は問題ありません。本番稼働時はリソース使用状況を監視し、適宜スケールしましょう。
セルフホストしたTemporalインスタンスをどうセキュアにしますか?
SSL/TLSを設定してウェブアクセスを保護し(Let’s Encryptや有料証明書を利用)、ファイアウォールでアクセス制限を行い、認証メカニズムを導入します。本番環境では、NGINXやCaddyのリバースプロキシをTLS終端に設定し、安全な資格情報管理を行います。Dockerコンテナは常に最新の状態に保ち、脆弱性リスクを低減してください。
まとめ
VPS上でTemporalをセルフホストすることで、コストを抑えつつフルコントロールが可能になります。DockerとDocker Composeを利用すれば、展開も簡単かつ再現性高く行えます。開発やテスト、小規模な本番環境に最適です。上記のステップを参考に、最初のセットアップから完全な稼働まで進めてみてください。オープンソースのセルフホスティングプロジェクトを探索し、ホームラボの最適化に役立ててください。
より多くのホスティングアイデアをお探しですか?full VPS比較で最適なプロバイダーを見つけましょう。