mcpField
V
vultr

vultr

github.com/evolv3-aiその他140 回インストール14 週間前に更新
リポジトリ

vultr について

vultr-cliとSSHを使ってVultrサーバーを構築・管理するスキルです。設定情報の確認からインスタンス作成、接続検証までを案内し、Kubernetesの自動スケーリング手順も含みます。

主な機能

  1. 01必要なデプロイ情報の収集
  2. 02用途に応じたサーバープラン選択
  3. 03インスタンスとファイアウォールグループの作成
  4. 04SSH接続の検証
  5. 05VKEノードの自動スケーリング手順

活用シーン

  1. 01CoolifyまたはKasm向けVultrサーバーの構築
  2. 02ワークロードに合わせたVultrプランの選定
  3. 03自動スケーリング対応Kubernetesクラスターの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/evolv3-ai/vibe-skills --skill vultr

インストール後、Claude Code で/vultrを入力して読み込まれたか確認します。

同梱ファイルassets/env-templatereferences/OPERATIONS.md

詳細

Vultr インフラストラクチャ

ステータス: 本番環境対応 | 依存関係: vultr-cli、SSH キーペア


ナビゲーション

  • 運用、トラブルシューティング、設定、コストの概要: references/OPERATIONS.md

ステップ 0: 必要な情報を収集する(必須)

停止してください。デプロイコマンドを実行する前に、すべてのパラメーターをユーザーから収集してください。

このチェックリストをコピーし、各項目を確認してください。

Required Parameters:
- [ ] SERVER_NAME      - Unique name for this server
- [ ] VULTR_REGION     - Region (ewr, ord, dfw, lax, lhr, fra, sgp, etc.)
- [ ] VULTR_PLAN       - Plan ID (see profiles below)
- [ ] SSH_KEY_NAME     - Name of SSH key in Vultr
- [ ] SSH_KEY_PATH     - Path to local SSH private key (default: ~/.ssh/id_rsa)

Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
      coolify → vc2-2c-4gb ($24/mo)
      kasm    → vc2-4c-8gb ($48/mo)
      both    → vc2-8c-32gb ($192/mo)
      custom  → Ask for specific plan

用途別の推奨プロファイル:

用途プランvCPURAM月額
coolifyvc2-2c-4gb24GB$24
kasmvc2-4c-8gb48GB$48
bothvc2-8c-32gb832GB$192

すべてのパラメーターが確認されるまで、前提条件に進まないでください。


前提条件

このスキルを使用する前に、以下を確認してください。

1. Vultr CLI がインストールされていること
vultr-cli version

見つからない場合は、次のコマンドでインストールします。

# macOS
brew install vultr/vultr-cli/vultr-cli

# Linux (download binary)
curl -sL https://github.com/vultr/vultr-cli/releases/latest/download/vultr-cli_linux_amd64.tar.gz | tar xz
sudo mv vultr-cli /usr/local/bin/

# Windows (scoop)
scoop bucket add vultr https://github.com/vultr/scoop-vultr.git
scoop install vultr-cli

# Go install
go install github.com/vultr/vultr-cli/v3@latest
2. Vultr アカウントと API キー

Vultr アカウントをお持ちでない場合:

https://www.vultr.com/?ref=YOUR_REFERRAL_CODE からサインアップしてください。

開示事項: これは紹介リンクです。$100 のクレジットを受け取れます。また、スキルの作成者はあなたが $25 を利用すると $35 を受け取ります。このリンクの利用は、これらのスキルの開発支援につながります。

API キーの取得: https://my.vultr.com/settings/#settingsapi

All 権限を持つ Personal Access Token を作成してください。

3. vultr-cli の設定
vultr-cli account

エラーが表示された場合は、次のコマンドで設定します。

# Set API key
vultr-cli config set api-key YOUR_API_KEY_HERE

# Or via environment variable
export VULTR_API_KEY="your_api_key_here"
vultr-cli account
4. SSH キーペア
ls ~/.ssh/id_rsa.pub

見つからない場合は、次のコマンドで生成します。

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
5. Vultr への SSH キーのアップロード
vultr-cli ssh-key list

空の場合は、次のコマンドでアップロードします。

vultr-cli ssh-key create --name "my-key" --key "$(cat ~/.ssh/id_rsa.pub)"
6. 認証のテスト
vultr-cli regions list

失敗した場合: API キーが無効な可能性があります。新しいキーを作成してください。


サーバープロファイル

Coolify/Kasm のデプロイ
プロファイルプランvCPURAMディスク月額費用
coolifyvc2-2c-4gb24GB80GB$24
kasmvc2-4c-8gb48GB160GB$48
bothvc2-8c-32gb832GB640GB$192
高頻度(NVMe、最高のパフォーマンス)
プロファイルプランvCPURAMディスク月額費用
hf-smallvhf-2c-4gb24GB64GB NVMe$24
hf-mediumvhf-4c-16gb416GB256GB NVMe$72
hf-largevhf-6c-24gb624GB384GB NVMe$108
AMD 高パフォーマンス(専用 vCPU)
プランvCPURAMディスク月額費用
vhp-2c-4gb-amd24GB60GB NVMe$30
vhp-4c-8gb-amd48GB120GB NVMe$60
vhp-8c-16gb-amd816GB240GB NVMe$120

デプロイ手順

ステップ 1: 環境変数を設定する
export VULTR_REGION="ewr"                  # See regions below
export VULTR_PLAN="vc2-2c-4gb"             # See profiles above
export VULTR_OS_ID="1743"                  # Ubuntu 22.04 x64
export SERVER_NAME="my-server"
export SSH_KEY_NAME="my-key"
リージョンのオプション
コード所在地リージョン
ewrニュージャージー米国東部
ordシカゴ米国中部
dfwダラス米国南部
laxロサンゼルス米国西部
seaシアトル米国北西部
atlアトランタ米国南東部
miaマイアミ米国南東部
ytoトロントカナダ
lhrロンドン英国
amsアムステルダムオランダ
fraフランクフルトドイツ
cdgパリフランス
nrt東京日本
sgpシンガポールアジア
sydシドニーオーストラリア
blrバンガロールインド

全件一覧を表示するには、vultr-cli regions list を実行してください。

OS ID の参照
OS IDオペレーティングシステム
1743Ubuntu 22.04 x64
2136Ubuntu 24.04 x64
477Debian 12 x64
447Debian 11 x64
215CentOS 7 x64

全件一覧を表示するには、vultr-cli os list を実行してください。

ステップ 2: SSH キー ID を取得する
SSH_KEY_ID=$(vultr-cli ssh-key list | grep "$SSH_KEY_NAME" | awk '{print $1}')
echo "SSH Key ID: $SSH_KEY_ID"

# Verify
if [ -z "$SSH_KEY_ID" ]; then
  echo "ERROR: SSH key '$SSH_KEY_NAME' not found. Upload it first."
  exit 1
fi
ステップ 3: ファイアウォールグループを作成する
# Create firewall group
FW_GROUP_ID=$(vultr-cli firewall group create --description "my-firewall" | grep -oP 'ID: \K\S+')
echo "Firewall Group ID: $FW_GROUP_ID"

# Allow SSH
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 22 --subnet 0.0.0.0/0

# Allow HTTP/HTTPS
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 80 --subnet 0.0.0.0/0
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 443 --subnet 0.0.0.0/0

# Allow Coolify ports
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 8000 --subnet 0.0.0.0/0
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port "6001:6002" --subnet 0.0.0.0/0

# Allow KASM ports
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 8443 --subnet 0.0.0.0/0
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port 3389 --subnet 0.0.0.0/0
vultr-cli firewall rule create --id "$FW_GROUP_ID" --protocol tcp --port "3000:4000" --subnet 0.0.0.0/0
ステップ 4: インスタンスを作成する
vultr-cli instance create \
  --region "$VULTR_REGION" \
  --plan "$VULTR_PLAN" \
  --os "$VULTR_OS_ID" \
  --ssh-keys "$SSH_KEY_ID" \
  --firewall-group "$FW_GROUP_ID" \
  --label "$SERVER_NAME" \
  --hostname "$SERVER_NAME"
ステップ 5: 待機してインスタンスの IP を取得する
# Wait for instance to be ready
echo "Waiting for instance to be active..."
sleep 30

# Get instance ID
INSTANCE_ID=$(vultr-cli instance list | grep "$SERVER_NAME" | awk '{print $1}')
echo "Instance ID: $INSTANCE_ID"

# Get IP address
SERVER_IP=$(vultr-cli instance get "$INSTANCE_ID" | grep "Main IP" | awk '{print $3}')
echo "SERVER_IP=$SERVER_IP"
ステップ 6: サーバーの準備が整うまで待機する
# Wait for SSH to be available (typically 60-90 seconds)
echo "Waiting for server to be ready..."
until ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no root@$SERVER_IP "echo connected" 2>/dev/null; do
  sleep 5
done
echo "Server is ready!"
ステップ 7: 接続を確認する
ssh root@$SERVER_IP "uname -a && free -h && df -h /"
ステップ 8: 下流のスキル向けに出力する
# Vultr 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 'Vultr instance connected successfully'"

Kubernetes の自動スケーリング

Vultr Kubernetes Engine(VKE)は、ノードプールの自動スケーリングに対応しています。

自動スケーリングを有効にして VKE クラスターを作成する
# Create cluster
vultr-cli kubernetes create \
  --region "$VULTR_REGION" \
  --version "v1.28.2+1" \
  --label "my-k8s"

# Get cluster ID
CLUSTER_ID=$(vultr-cli kubernetes list | grep "my-k8s" | awk '{print $1}')

# Create autoscaling node pool
vultr-cli kubernetes node-pool create "$CLUSTER_ID" \
  --plan "vc2-2c-4gb" \
  --label "worker-pool" \
  --quantity 2 \
  --min-nodes 1 \
  --max-nodes 5 \
  --auto-scaler true
仕組み
  • ワークロードが増加すると、Vultr がノードを自動的に追加します
  • 需要が減少すると、ノードが削除されます
  • スケーリング範囲を制御するために、min-nodes と max-nodes を指定します

クリーンアップ

警告:この操作は破壊的で、元に戻すことはできません。

# Delete instance
INSTANCE_ID=$(vultr-cli instance list | grep "$SERVER_NAME" | awk '{print $1}')
vultr-cli instance delete "$INSTANCE_ID"

# Delete firewall group
FW_GROUP_ID=$(vultr-cli firewall group list | grep "my-firewall" | awk '{print $1}')
vultr-cli firewall group delete "$FW_GROUP_ID"

# Optionally delete SSH key
# vultr-cli ssh-key delete "$SSH_KEY_ID"

運用

トラブルシューティング、ベストプラクティス、構成変数、コストのスナップショットについては、references/OPERATIONS.md を参照してください。


ロギングの統合

インフラストラクチャの操作を行う際は、中央のシステムにログを記録してください。

# After provisioning
log_admin "SUCCESS" "operation" "Provisioned Vultr instance" "id=$INSTANCE_ID provider=Vultr"

# After destroying
log_admin "SUCCESS" "operation" "Deleted Vultr instance" "id=$INSTANCE_ID"

# On error
log_admin "ERROR" "operation" "Vultr deployment failed" "error=$ERROR_MSG"

ロギングの詳細については、admin スキルの references/logging.md を参照してください。


参考資料

コメント