mcpField
M
managing-astro-deployments

managing-astro-deployments

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

managing-astro-deployments について

Astro CLI を使って Astronomer の本番デプロイを管理するスキルです。ワークスペース、デプロイ設定、コードのリリースを扱い、DAG のみのデプロイにも対応します。

主な機能

  1. 01デプロイ状態の一覧表示と確認
  2. 02デプロイの作成、更新、削除
  3. 03DAG と Docker イメージのデプロイ
  4. 04デプロイ API トークンの管理
  5. 05ワークスペース切り替えと CLI 設定

活用シーン

  1. 01本番デプロイの健全性確認
  2. 02DAG のみのデプロイによる迅速な反復
  3. 03ステージングから本番へのコード昇格
  4. 04プログラムアクセス用 API トークンの作成

インストール

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

$npx skills add https://github.com/astronomer/agents --skill managing-astro-deployments

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

詳細

Astro デプロイの管理

このスキルでは、Astro CLI を使用して本番環境の Astronomer デプロイを管理できます。

ローカル開発については、managing-astro-local-env スキルを参照してください。 本番環境でのトラブルシューティングについては、troubleshooting-astro-deployments スキルを参照してください。


認証

すべてのデプロイ操作には認証が必要です。

# Login to Astronomer (opens browser for OAuth)
astro login

認証トークンは、以降のコマンドで使用できるようローカルに保存されます。デプロイ操作を行う前に実行してください。


ワークスペースの管理

デプロイはワークスペースごとに整理されています。

# List all accessible workspaces
astro workspace list

# Switch to a specific workspace
astro workspace switch <WORKSPACE_ID>

ワークスペースのコンテキストはセッション間で維持されます。ほとんどのデプロイコマンドは、現在のワークスペースのコンテキストで実行されます。


デプロイの一覧表示と確認

# List deployments in current workspace
astro deployment list

# List deployments across all workspaces
astro deployment list --all

# Inspect specific deployment (detailed info)
astro deployment inspect <DEPLOYMENT_ID>

# Inspect by name (alternative to ID)
astro deployment inspect --deployment-name data-service-stg
inspect で確認できる内容
  • デプロイのステータス(HEALTHY、UNHEALTHY)
  • ランタイムのバージョンと Airflow のバージョン
  • エグゼキューターの種類(CELERY、KUBERNETES、LOCAL)
  • スケジューラーの構成(サイズ、数)
  • ワーカーキューの設定(最小/最大ワーカー数、同時実行数、ワーカーの種類)
  • リソースクォータ(CPU、メモリ)
  • 環境変数
  • 最後にデプロイした日時と現在のタグ
  • Web サーバーと API の URL
  • 高可用性のステータス

デプロイの作成

# Create with default settings
astro deployment create

# Create with specific executor
astro deployment create --label production --executor celery
astro deployment create --label staging --executor kubernetes

# Executor options:
#   - celery: Best for most production workloads
#   - kubernetes: Best for dynamic scaling, isolated tasks
#   - local: Best for development only

デプロイの更新

# Enable DAG-only deploys (faster iteration)
astro deployment update <DEPLOYMENT_ID> --dag-deploy-enabled

# Update other settings (use --help for full options)
astro deployment update <DEPLOYMENT_ID> --help

デプロイの削除

# Delete a deployment (requires confirmation)
astro deployment delete <DEPLOYMENT_ID>

破壊的な操作:元に戻せません。すべての DAG、タスク履歴、メタデータが失われます。


本番環境へのコードのデプロイ

完全デプロイ

DAG と Docker イメージの両方をデプロイします(依存関係が変更された場合に必要です)。

astro deploy <DEPLOYMENT_ID>

次の場合に使用します。

  • 依存関係(requirements.txt、packages.txt、Dockerfile)を変更した場合
  • 新しいプロジェクトを初めてデプロイする場合
  • インフラストラクチャに大幅な変更があった場合
DAG のみのデプロイ(反復開発に推奨)

DAG ファイルのみをデプロイし、Docker イメージの再ビルドを省略します。

astro deploy <DEPLOYMENT_ID> --dags

次の場合に使用します。

  • DAG ファイル(dags/ ディレクトリ内の Python ファイル)のみを変更した場合
  • 開発中にすばやく反復する場合
  • 完全デプロイよりも大幅に高速な場合(数秒対数分)

必要条件:デプロイで --dag-deploy-enabled フラグが設定されていること(「デプロイの更新」を参照)

イメージのみのデプロイ

DAG の同期を省略し、Docker イメージのみをデプロイします。

astro deploy <DEPLOYMENT_ID> --image-only

次の場合に使用します。

  • 依存関係のみを変更した場合
  • Dockerfile または requirements を更新した場合
  • DAG に変更がない場合
強制デプロイ

安全性チェックを省略してデプロイします。

astro deploy <DEPLOYMENT_ID> --force

注意:デプロイの破損を防ぐための検証が省略されます。


デプロイ API トークン

デプロイへのプログラムによるアクセスに使用する API トークンを管理します。

# List tokens for a deployment
astro deployment token list --deployment-id <DEPLOYMENT_ID>

# Create a new token
astro deployment token create \
  --deployment-id <DEPLOYMENT_ID> \
  --name "CI/CD Pipeline" \
  --role DEPLOYMENT_ADMIN

# Create token with expiration
astro deployment token create \
  --deployment-id <DEPLOYMENT_ID> \
  --name "Temporary Access" \
  --role DEPLOYMENT_ADMIN \
  --expiry 30  # Days until expiration (0 = never expires)

ロール:

  • DEPLOYMENT_ADMIN:デプロイへのフルアクセス

注:トークンの値が表示されるのは作成時のみです。安全に保管してください。


一般的なワークフロー

本番環境への初回デプロイ
# 1. Login
astro login

# 2. Switch to production workspace
astro workspace list
astro workspace switch <PROD_WORKSPACE_ID>

# 3. Create deployment
astro deployment create --label production --executor celery

# 4. Note the deployment ID, then deploy
astro deploy <DEPLOYMENT_ID>
DAG の反復開発
# 1. Enable fast deploys (one-time setup)
astro deployment update <DEPLOYMENT_ID> --dag-deploy-enabled

# 2. Make DAG changes locally

# 3. Deploy quickly
astro deploy <DEPLOYMENT_ID> --dags
ステージングから本番環境へのコードの昇格
# 1. Deploy to staging first
astro workspace switch <STAGING_WORKSPACE_ID>
astro deploy <STAGING_DEPLOYMENT_ID>

# 2. Test in staging

# 3. Deploy same code to production
astro workspace switch <PROD_WORKSPACE_ID>
astro deploy <PROD_DEPLOYMENT_ID>

構成の管理

# View CLI configuration
astro config get

# Set configuration value
astro config set <KEY> <VALUE>

# Check CLI version
astro version

# Upgrade CLI to latest version
astro upgrade

ヒント

  • すばやく反復するには --dags フラグを使用します(数秒対数分)
  • 本番環境にデプロイする前に、必ずステージングのワークスペースでテストしてください
  • デプロイする前に deployment inspect を使用して、デプロイの健全性を確認してください
  • デプロイ ID は変更できませんが、名前は変更できます
  • ほとんどのコマンドではデプロイ ID を使用できます。inspect は --deployment-name も受け付けます
  • 高速デプロイを行うには、デプロイごとに一度 --dag-deploy-enabled を設定します
  • astro workspace list を使用してワークスペースのコンテキストを確認できます(現在のワークスペースにはアスタリスクが表示されます)

関連スキル

  • troubleshooting-astro-deployments:デプロイの問題を調査し、ログを確認して、環境変数を管理します
  • managing-astro-local-env:ローカルの Airflow 開発環境を管理します
  • setting-up-astro-project:Astro プロジェクトを初期化して構成します

コメント