mcpField
Y
yandex-cloud-cli

yandex-cloud-cli

github.com/elsvvクラウド・DevOps148 回インストール36 週間前に更新
リポジトリ

yandex-cloud-cli について

`yc`でYandex Cloudを操作するためのコマンドラインリファレンススキルです。スクリプト作成者やクラウド管理者向けに、インフラ、ID、データベース、ストレージなどのサービスを扱います。

主な機能

  1. 01グローバルフラグと出力形式
  2. 02プロファイルと認証のガイド
  3. 03リソースCRUDコマンドのパターン
  4. 04サービス別コマンドリファレンス
  5. 05非同期操作の追跡

活用シーン

  1. 01JSONとjqでスクリプトからリソースIDを抽出
  2. 02コマンドラインでクラウドリソースを管理
  3. 03時間のかかるリソース操作を追跡
  4. 04クラウドフォルダーごとにプロファイルを設定

インストール

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

$npx skills add https://github.com/elsvv/yandex-cloud-cli-skill --skill yandex-cloud-cli

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
.gitignore
references/
data-platform.md
iam.md
compute.md
load-balancers.md
kubernetes.md
cdn.md
databases.md
container-registry.md
logging-audit.md
organization.md
serverless.md
networking.md
storage-secrets-certs.md

詳細

Yandex Cloud CLI (yc)

基本事項

コマンド構造
yc <service-group> <resource> <command> [<NAME|ID>] [flags] [global-flags]
グローバルフラグ
フラグ用途
--profile NAME名前付きプロファイルを使用します
--cloud-id IDクラウドを上書きします
--folder-id IDフォルダーを上書きします
--folder-name NAME名前でフォルダーを上書きします
--token TOKENOAuth トークンを上書きします
--impersonate-service-account-id IDサービスアカウントとして操作します
--format text|yaml|json|json-rest出力形式
--jq EXPRJSON 出力をフィルタリングします(jq 構文)
--asyncノンブロッキングで実行します(操作 ID を返します)
--retry NgRPC の再試行回数(0=無効、デフォルトは 5)
--debugデバッグログを出力します
--no-user-outputユーザー向け出力を抑制します
-h, --help任意のコマンドのヘルプ
出力とスクリプト

スクリプトでは、常に --format json と jq を組み合わせて使用してください。

# Get resource ID by name
yc compute instance get my-vm --format json | jq -r .id

# List all instance external IPs
yc compute instance list --format json | jq -r '.[].network_interfaces[0].primary_v4_address.one_to_one_nat.address'

# Use --jq shortcut (no piping needed)
yc compute instance get my-vm --format json --jq .id

# Get multiple fields
yc compute instance list --format json | jq -r '.[] | [.name, .status] | @tsv'
設定とプロファイル
yc init                              # Interactive setup (OAuth, cloud, folder)
yc config list                       # Current config
yc config set folder-id <ID>         # Set default folder
yc config set compute-default-zone ru-central1-d
yc config set format json            # Default output format

# Profile management
yc config profile create <NAME>
yc config profile activate <NAME>
yc config profile list
yc config profile get <NAME>
yc config profile delete <NAME>

# S3 storage config
yc config set storage-endpoint storage.yandexcloud.net
認証方法
  1. OAuth トークン(個人利用):yc config set token <OAUTH-TOKEN>
  2. サービスアカウントキー(自動化):yc config set service-account-key key.json
  3. インスタンスメタデータ(YC VM 上):yc config set instance-service-account true
  4. フェデレーション(SSO):yc init --federation-id <ID>
yc config list           # Show current profile, cloud, folder, token
yc iam create-token      # Get IAM token for API calls
操作

クラスターの作成など、時間のかかる操作は追跡できます。

yc <service> <resource> create ... --async   # Returns operation ID
yc operation get <OPERATION-ID>              # Check status (poll until done=true)

--async を指定しない場合、コマンドは操作が完了するまで待機します。

アベイラビリティゾーン
  • ru-central1-a — モスクワ、ゾーン A
  • ru-central1-b — モスクワ、ゾーン B
  • ru-central1-d — モスクワ、ゾーン D

注:ru-central1-c は非推奨です。新しいリソースには ru-central1-d を使用してください。

サービスクイックリファレンス

すべてのサービスグループ
グループエイリアス目的
コンピューティングとインフラストラクチャ
compute—VM、ディスク、イメージ、スナップショット、インスタンスグループ、ファイルシステム、GPU クラスター
vpc—ネットワーク、サブネット、セキュリティグループ、アドレス、ゲートウェイ、ルートテーブル
dns—DNS ゾーンとレコード
cdn—CDN リソース、オリジングループ、キャッシュ管理
load-balancerlbネットワークロードバランサー(L4)
application-load-balanceralbアプリケーションロードバランサー(L7)
ID とセキュリティ
iam—サービスアカウント、ロール、キー、トークン
resource-managerresourceクラウド、フォルダー
organization-manager—組織、フェデレーション、グループ、OS Login
kms—対称暗号化キー
lockbox—シークレット管理
certificate-managercmTLS 証明書(Let's Encrypt、インポート済み)
smartwebsecurityswsWAF セキュリティプロファイル(ルール、スマート保護、地域/IP フィルタリング)
smartcaptchascCAPTCHA 管理(チェックボックス、スライダー、チャレンジ)
quota-manager—クォータの表示と上限引き上げのリクエスト
コンテナーとサーバーレス
managed-kubernetesk8sKubernetes クラスター、ノードグループ
container—コンテナレジストリ、リポジトリ、イメージ
serverlesssls関数、トリガー、コンテナー、API ゲートウェイ
データベース
managed-postgresqlpostgresPostgreSQL クラスター
managed-mysql—MySQL クラスター
managed-clickhouse—ClickHouse クラスター
managed-mongodb—MongoDB クラスター
managed-redis—Redis クラスター
managed-kafka—Kafka クラスター
managed-opensearchopensearchOpenSearch クラスター
managed-greenplum—Greenplum クラスター
ydb—YDB データベース(サーバーレスまたは専用)
データと分析
dataproc—DataProc(Hadoop/Spark)クラスターとジョブ
datatransferdtData Transfer エンドポイントと転送
ストレージ
storage—オブジェクトストレージ(S3 互換)、バケット
オブザーバビリティ
logginglogCloud Logging(グループ、読み取り、書き込み)
audit-trails—監査証跡の管理
その他
backup—Cloud Backup(VM、ポリシー)
iot—IoT Core(レジストリ、デバイス、MQTT)
marketplace—Marketplace の製品
loadtesting—負荷テスト
標準的な CRUD パターン

ほとんどのリソースは次のパターンに従います。

yc <service> <resource> list [--folder-id ID]
yc <service> <resource> get <NAME|ID>
yc <service> <resource> create [<NAME>] [flags]
yc <service> <resource> update <NAME|ID> [flags]
yc <service> <resource> delete <NAME|ID>

多くのリソースは、さらに次の操作もサポートしています:add-labels、remove-labels、list-operations、list-access-bindings、add-access-binding、remove-access-binding、move(フォルダー間の移動)。

詳細なリファレンス

必要なサービスに対応するリファレンスファイルを参照してください。

  • コンピューティング(VM、ディスク、イメージ、スナップショット、スナップショットスケジュール、インスタンスグループ、ファイルシステム、プレースメントグループ、GPU クラスター) → references/compute.md
  • ネットワーキング(VPC ネットワーク、サブネット、セキュリティグループ、アドレス、ゲートウェイ、ルートテーブル、DNS ゾーン/レコード) → references/networking.md
  • IAM とリソースマネージャー(サービスアカウント、ロール、すべてのキー種別、アクセスバインディング、クラウド、フォルダー) → references/iam.md
  • サーバーレス(関数、バージョン、トリガー、コンテナ、API ゲートウェイ、ランタイム、スケーリング) → references/serverless.md
  • Kubernetes(クラスター、ノードグループ、kubeconfig、オートスケーリング、セットアップの完全な例) → references/kubernetes.md
  • データベース(PostgreSQL、MySQL、ClickHouse、Redis、MongoDB、OpenSearch、Greenplum、YDB、Kafka — クラスター、ユーザー、データベース、バックアップ、リソースプリセット) → references/databases.md
  • ストレージ、シークレット、証明書(S3 バケット、s3/s3api コマンド、Lockbox シークレット、KMS 暗号化、Certificate Manager — Let's Encrypt とインポートした証明書) → references/storage-secrets-certs.md
  • コンテナレジストリ(レジストリ、リポジトリ、イメージ、Docker 認証、ライフサイクルポリシー) → references/container-registry.md
  • ロードバランサー(ALB — ターゲットグループ、バックエンドグループ、HTTP ルーター、仮想ホスト、ルート、リスナー、NLB — ネットワークロードバランサー、ターゲットグループ、ヘルスチェック) → references/load-balancers.md
  • CDN(オリジングループ、CDN リソース、キャッシュ、SSL、圧縮、ヘッダー、セキュリティ、キャッシュのパージ/プリフェッチ) → references/cdn.md
  • ログと監査(Cloud Logging グループの読み取り/書き込み、Audit Trails、Cloud Backup) → references/logging-audit.md
  • データプラットフォーム(DataProc クラスター/サブクラスター/ジョブ、Data Transfer エンドポイント/転送) → references/data-platform.md
  • 組織、セキュリティ、クォータ(Organization Manager、フェデレーション、グループ、OS Login、ルール/条件を含む Smart Web Security WAF、SmartCaptcha、Quota Manager、IoT Core) → references/organization.md

ガイドライン

  • 変更を伴うコマンドを実行する前に、必ずアクティブなプロファイルとフォルダーを確認してください:yc config list
  • スクリプトで ID や値を抽出するには、--format json | jq を使用してください
  • 時間のかかる操作には --async を使用し、その後で次のコマンドを実行して確認してください:yc operation get <OP-ID>
  • 対話形式での使用では --id より --name を優先し、信頼性が求められるスクリプトでは --name より --id を優先してください
  • 不慣れなコマンドを使う場合は、yc <service> <resource> <command> --help を実行してください。組み込みヘルプが正確で、常に最新です
  • 他のリソースに依存するリソース(VM にはサブネットが必要、サブネットにはネットワークが必要など)を作成する場合は、先に依存先を作成してください
  • 本番環境のデータベース、クラスター、シークレットには --deletion-protection を使用してください
  • S3 の操作では、yc iam access-key create を使用して静的アクセスキーを作成してください
  • ルールのないカスタムセキュリティグループはすべてのトラフィックを拒否します。自動作成されるデフォルトの SG はすべてを許可するため、本番環境では必ず明示的な SG を作成してください
  • コストの追跡とフィルタリングのため、ラベルを一貫して使用してください(--labels env=prod,team=backend)
  • マネージドデータベースでは、アクセスを制限するために必ず --security-group-ids を指定してください
  • K8s クラスターを作成する際は、2 つのサービスアカウントを指定してください(同じアカウントでもかまいません)。クラスターリソースには --service-account-name、ノード操作(レジストリ、ログ)には --node-service-account-name を使用してください

コメント