mcpField
C
contabo

contabo

github.com/evolv3-aiクラウド・DevOps141 回インストール14 週間前に更新
リポジトリ

contabo について

contabo は、cntb CLI で Contabo のインフラを管理する運用スキルで、VPS やオブジェクトストレージを構成・デプロイするユーザー向けです。事前のパラメーター確認、インスタンス作成と検証に加え、認証情報や削除時の注意点を扱います。

主な機能

  1. 01デプロイ条件とサーバープロファイルを確認
  2. 02cntb CLI で VPS を作成・確認
  3. 03リージョン、製品、SSH 公開鍵を設定
  4. 04拡張上限付きオブジェクトストレージを作成
  5. 05接続確認とインスタンスのキャンセル
  6. 06認証情報の管理と操作ログを説明

活用シーン

  1. 01用途に合わせて Contabo VPS を構成・デプロイ
  2. 02インスタンスの状態、IP、SSH 接続を確認
  3. 03容量上限付きオブジェクトストレージを作成
  4. 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プランvCPURAM月額
coolifyV39Cloud VPS 10 SP48GB€5
kasmV45Cloud VPS 20 SP618GB€8
bothV46Cloud VPS 30824GB€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 のデプロイ — 最高のコストパフォーマンス
プロファイルプランvCPURAMディスク月額料金
coolifyCloud VPS 10 SP48GB100GB€5
kasmCloud VPS 20 SP618GB150GB€8
bothCloud VPS 30824GB200GB€14
標準プラン(ストレージ増量)
プロファイルプランvCPURAMディスク月額料金
standard-smallCloud VPS S48GB200GB SSD€8
standard-mediumCloud VPS M616GB400GB SSD€14
standard-largeCloud VPS L830GB800GB SSD€26
standard-xlCloud VPS XL1060GB1600GB SSD€39
価格比較 — Contabo を選ぶ理由
プロバイダー6 vCPU、16~18GB RAM月額料金
Contabo VPS 20 SP6 vCPU、18GB€8
Hetzner CX428 vCPU、16GB€20
DigitalOcean8 vCPU、16GB$96
Vultr6 vCPU、16GB$96
Linode6 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プランvCPURAMディスク価格ステータス
V12VPS S NVMe48GB100GB€5✅ 検証済み
V48VPS M (Cloud VPS 2 SSD)616GB400GB€14✅ 検証済み
V92Cloud VPS 10 SSD48GB150GB~€5✅ 検証済み
V101Cloud VPS 40 SSD1248GB500GB~€20✅ 検証済み
V35Cloud VPS 146GB100GB€4.50未テスト
V39Cloud VPS 10 SP48GB100GB NVMe€5未テスト
V45Cloud VPS 20 SP618GB150GB NVMe€8⚠️ 動作しない可能性があります
V46Cloud VPS 30824GB200GB€14未テスト
V47Cloud VPS S48GB200GB SSD€8未テスト
V49Cloud VPS L830GB800GB SSD€26未テスト
V50Cloud VPS XL1060GB1600GB 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 を参照してください。


参考資料

コメント