contabo について
contabo は、cntb CLI で Contabo のインフラを管理する運用スキルで、VPS やオブジェクトストレージを構成・デプロイするユーザー向けです。事前のパラメーター確認、インスタンス作成と検証に加え、認証情報や削除時の注意点を扱います。
主な機能
- 01デプロイ条件とサーバープロファイルを確認
- 02cntb CLI で VPS を作成・確認
- 03リージョン、製品、SSH 公開鍵を設定
- 04拡張上限付きオブジェクトストレージを作成
- 05接続確認とインスタンスのキャンセル
- 06認証情報の管理と操作ログを説明
活用シーン
- 01用途に合わせて Contabo VPS を構成・デプロイ
- 02インスタンスの状態、IP、SSH 接続を確認
- 03容量上限付きオブジェクトストレージを作成
- 04cntb CLI の認証情報やデプロイを調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ evolv3-ai/ vibe-skills --skill contaboインストール後、Claude Code で/contaboを入力して読み込まれたか確認します。
同梱ファイルassets/env-templatereferences/OPERATIONS.md
詳細
Contabo インフラストラクチャ
重大:シークレットと .env
- 稼働中の
.envファイルや認証情報を、スキルフォルダー内に絶対に保存しないでください。 .env.templateファイルは、スキル内のassets/にのみ配置してください。- 稼働中のシークレットは
~/.admin/.envに保存し、そこを参照してください。
ステータス:本番環境で利用可能 | 依存関係:cntb CLI、SSH キーペア
ナビゲーション
- 運用、トラブルシューティング、設定、コストの概要:
references/OPERATIONS.md
ステップ 0:必要な情報を収集する(必須)
停止してください。デプロイコマンドを実行する前に、すべてのパラメーターをユーザーから収集してください。
このチェックリストをコピーし、各項目を確認してください。
Required Parameters:
- [ ] SERVER_NAME - Unique name for this server
- [ ] CONTABO_REGION - Region (EU, US-central, US-east, US-west, SIN, JPN, AUS)
- [ ] CONTABO_PRODUCT_ID - Product/plan ID (see profiles below)
- [ ] SSH_KEY_PATH - Path to SSH private key (default: ~/.ssh/id_rsa)
Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
coolify → V39 (Cloud VPS 10 SP, €5/mo)
kasm → V45 (Cloud VPS 20 SP, €8/mo)
both → V46 (Cloud VPS 30, €14/mo)
custom → Ask for specific product ID
用途別の推奨プロファイル:
| 用途 | 製品 ID | プラン | vCPU | RAM | 月額 |
|---|---|---|---|---|---|
| coolify | V39 | Cloud VPS 10 SP | 4 | 8GB | €5 |
| kasm | V45 | Cloud VPS 20 SP | 6 | 18GB | €8 |
| both | V46 | Cloud VPS 30 | 8 | 24GB | €14 |
すべてのパラメーターが確認できるまで、前提条件に進まないでください。
前提条件
このスキルを使用する前に、以下を確認してください。
1. Contabo CLI がインストールされている
cntb version
注:CLI では
cntb versionを使用します(--は付けません)。cntb --versionは有効なフラグではありません。
見つからない場合は、次のコマンドでインストールしてください。
# Linux / WSL
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_linux_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/
# macOS
curl -sL https://github.com/contabo/cntb/releases/latest/download/cntb_darwin_amd64.tar.gz | tar xz
sudo mv cntb /usr/local/bin/
# Windows (cmd / Git Bash)
curl -L -o "%TEMP%\cntb.zip" "https://github.com/contabo/cntb/releases/latest/download/cntb_windows_amd64.zip"
unzip -o "%TEMP%\cntb.zip" -d "%TEMP%\cntb-extract"
copy "%TEMP%\cntb-extract\cntb.exe" "%USERPROFILE%\.local\bin\cntb.exe"
Windows に関する注意:対象ディレクトリ(例:
%USERPROFILE%\.local\bin)が PATH に含まれていることを確認してください。PowerShell のInvoke-WebRequest/Expand-Archiveを使う方法は、実行ポリシーが原因で失敗する場合があります。
2. Contabo アカウントと API 認証情報
Contabo アカウントをお持ちでない場合:
こちらから登録してください:https://contabo.com/?ref=YOUR_REFERRAL_CODE
開示事項:これは CJ Affiliate プログラムの紹介リンクです。このスキルの作成者は、$25~$250 のコミッションを受け取る場合があります。このリンクを使用すると、これらのスキルの開発を支援できます。
API 認証情報を取得する:https://my.contabo.com/api/details
必要なもの:
- クライアント ID(OAuth2)
- クライアントシークレット(OAuth2)
- API ユーザー(ご自身のメールアドレス)
- API パスワード(アカウントのパスワード、または生成したパスワード)
3. cntb CLI の設定
cntb get instances
エラーが表示される場合は、set-credentials で設定してください(~/.cntb.yaml に書き込まれます)。
cntb config set-credentials \
--oauth2-clientid "your_client_id" \
--oauth2-client-secret "your_client_secret" \
--oauth2-user "your_email" \
--oauth2-password 'your_password'
重要:環境変数ではなく、
cntb config set-credentialsを使用してください。他の場所に記載されているCNTB_OAUTH2_*環境変数は信頼性が低く、clientId is emptyエラーが発生する場合があります。設定ファイルを使用する方法(Linux では~/.cntb.yaml、Windows では%USERPROFILE%\.cntb.yaml)が、唯一確実な方法です。
パスワードに特殊文字が含まれる場合:パスワードに
*、^、!などのシェルのメタ文字が含まれている場合は、シェルによる展開を防ぐため、シングルクォートで囲んでください。
設定が保存されたことを確認してください。
cntb config view
4. SSH キーペア
ls ~/.ssh/id_rsa.pub
見つからない場合は、次のコマンドで生成してください。
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
5. SSH キーが利用可能である
他のプロバイダーとは異なり、Contabo ではインスタンス作成時に --sshKeys パラメーターを使い、実際の公開鍵の内容を指定する必要があります。
cat ~/.ssh/id_rsa.pub
6. 認証をテストする
cntb get datacenters
失敗する場合:認証情報が正しくない可能性があります。https://my.contabo.com/api/details で確認してください。
サーバープロファイル
Coolify/Kasm のデプロイ — 最高のコストパフォーマンス
| プロファイル | プラン | vCPU | RAM | ディスク | 月額料金 |
|---|---|---|---|---|---|
coolify | Cloud VPS 10 SP | 4 | 8GB | 100GB | €5 |
kasm | Cloud VPS 20 SP | 6 | 18GB | 150GB | €8 |
both | Cloud VPS 30 | 8 | 24GB | 200GB | €14 |
標準プラン(ストレージ増量)
| プロファイル | プラン | vCPU | RAM | ディスク | 月額料金 |
|---|---|---|---|---|---|
standard-small | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 |
standard-medium | Cloud VPS M | 6 | 16GB | 400GB SSD | €14 |
standard-large | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 |
standard-xl | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 |
価格比較 — Contabo を選ぶ理由
| プロバイダー | 6 vCPU、16~18GB RAM | 月額料金 |
|---|---|---|
| Contabo VPS 20 SP | 6 vCPU、18GB | €8 |
| Hetzner CX42 | 8 vCPU、16GB | €20 |
| DigitalOcean | 8 vCPU、16GB | $96 |
| Vultr | 6 vCPU、16GB | $96 |
| Linode | 6 vCPU、16GB | $96 |
Contabo は大半の競合よりも5~10倍優れたコストパフォーマンスを提供します。
デプロイ手順
手順 1:環境変数を設定する
export CONTABO_REGION="EU" # EU, US-central, US-east, US-west, SIN, JPN, AUS
export CONTABO_PRODUCT_ID="V48" # See product IDs below (V48 verified working)
export SERVER_NAME="my-server"
リージョンの選択肢
| コード | 場所 | リージョン |
|---|---|---|
EU | ドイツ(ニュルンベルク) | ヨーロッパ |
US-central | ミズーリ州セントルイス | 米国中部 |
US-east | ニューヨーク | 米国東部 |
US-west | シアトル | 米国西部 |
SIN | シンガポール | アジア |
JPN | 東京 | 日本 |
AUS | シドニー | オーストラリア |
全一覧を表示するには、cntb get datacenters を実行してください。
製品 ID リファレンス
| 製品 ID | プラン | vCPU | RAM | ディスク | 価格 | ステータス |
|---|---|---|---|---|---|---|
| V12 | VPS S NVMe | 4 | 8GB | 100GB | €5 | ✅ 検証済み |
| V48 | VPS M (Cloud VPS 2 SSD) | 6 | 16GB | 400GB | €14 | ✅ 検証済み |
| V92 | Cloud VPS 10 SSD | 4 | 8GB | 150GB | ~€5 | ✅ 検証済み |
| V101 | Cloud VPS 40 SSD | 12 | 48GB | 500GB | ~€20 | ✅ 検証済み |
| V35 | Cloud VPS 1 | 4 | 6GB | 100GB | €4.50 | 未テスト |
| V39 | Cloud VPS 10 SP | 4 | 8GB | 100GB NVMe | €5 | 未テスト |
| V45 | Cloud VPS 20 SP | 6 | 18GB | 150GB NVMe | €8 | ⚠️ 動作しない可能性があります |
| V46 | Cloud VPS 30 | 8 | 24GB | 200GB | €14 | 未テスト |
| V47 | Cloud VPS S | 4 | 8GB | 200GB SSD | €8 | 未テスト |
| V49 | Cloud VPS L | 8 | 30GB | 800GB SSD | €26 | 未テスト |
| V50 | Cloud VPS XL | 10 | 60GB | 1600GB SSD | €39 | 未テスト |
重要:Contabo は製品 ID を頻繁に再編成します。最新の一覧を取得するには、cntb get products --productType vps を実行してください。動作確認済み(2026年2月):V12、V48、V92、V101。
手順 2:インスタンスを作成する
# Get the SSH public key content
SSH_KEY_CONTENT=$(cat ~/.ssh/id_rsa.pub)
# Create instance
cntb create instance \
--productId "$CONTABO_PRODUCT_ID" \
--region "$CONTABO_REGION" \
--displayName "$SERVER_NAME" \
--imageId "ubuntu-22.04" \
--sshKeys "$SSH_KEY_CONTENT"
手順 3:インスタンスの詳細を取得する
# List instances to get the ID
INSTANCE_ID=$(cntb get instances --output json | jq -r '.[] | select(.displayName=="'"$SERVER_NAME"'") | .instanceId')
echo "Instance ID: $INSTANCE_ID"
# Get instance details
cntb get instance "$INSTANCE_ID"
# Get IP address
SERVER_IP=$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.ipConfig.v4.ip')
echo "SERVER_IP=$SERVER_IP"
手順 4:サーバーの準備が整うまで待つ
# Wait for instance to be running
echo "Waiting for instance to be running..."
while [ "$(cntb get instance "$INSTANCE_ID" --output json | jq -r '.status')" != "running" ]; do
sleep 10
done
echo "Instance is running!"
# Wait for SSH to be available (typically 2-5 minutes for Contabo)
echo "Waiting for SSH to be available..."
until ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@$SERVER_IP "echo connected" 2>/dev/null; do
sleep 10
done
echo "Server is ready!"
手順 5:接続を確認する
ssh root@$SERVER_IP "uname -a && free -h && df -h /"
手順 6:後続スキル向けに出力する
# Contabo only offers x86 architecture
SERVER_ARCH="amd64"
# Save to .env.local for downstream skills
echo "SERVER_IP=$SERVER_IP" >> .env.local
echo "SSH_USER=root" >> .env.local
echo "SSH_KEY_PATH=~/.ssh/id_rsa" >> .env.local
echo "SERVER_ARCH=$SERVER_ARCH" >> .env.local
echo "COOLIFY_SERVER_IP=$SERVER_IP" >> .env.local
echo "KASM_SERVER_IP=$SERVER_IP" >> .env.local
echo ""
echo "Instance deployed successfully!"
echo " IP: $SERVER_IP"
echo " Arch: $SERVER_ARCH"
echo " SSH: ssh root@$SERVER_IP"
デプロイの確認
ssh root@$SERVER_IP "echo 'Contabo instance connected successfully'"
オブジェクトストレージの自動スケーリング
Contabo は、コストを管理するためのオブジェクトストレージの自動スケーリング上限に対応しています。
自動スケーリングを有効にしてオブジェクトストレージを作成する
# Create object storage bucket
cntb create objectStorage \
--region "$CONTABO_REGION" \
--displayName "my-storage" \
--totalPurchasedSpaceTB 0.5 \
--autoScaling.state enabled \
--autoScaling.sizeLimitTB 2
これにより、必要に応じてストレージを最大 2TB まで自動的に拡張できます。
クリーンアップ
警告:この操作は破壊的で、元に戻すことはできません。
# Cancel instance (Contabo uses "cancel" not "delete")
cntb cancel instance "$INSTANCE_ID"
# Note: Cancellation may take effect at end of billing period
# For immediate deletion, contact Contabo support
運用
トラブルシューティング、ベストプラクティス、設定変数、コストのスナップショットについては、references/OPERATIONS.md を参照してください。
ロギング連携
インフラストラクチャの操作を行う際は、集中管理システムにログを記録してください。
# After provisioning
log_admin "SUCCESS" "operation" "Provisioned Contabo VPS" "id=$INSTANCE_ID provider=Contabo"
# After destroying
log_admin "SUCCESS" "operation" "Cancelled Contabo VPS" "id=$INSTANCE_ID"
# On error
log_admin "ERROR" "operation" "Contabo deployment failed" "error=$ERROR_MSG"
ロギングに関する詳しいドキュメントは、admin スキルの references/logging.md を参照してください。