managing-astro-deployments について
Astro CLI を使って Astronomer の本番デプロイを管理するスキルです。ワークスペース、デプロイ設定、コードのリリースを扱い、DAG のみのデプロイにも対応します。
主な機能
- 01デプロイ状態の一覧表示と確認
- 02デプロイの作成、更新、削除
- 03DAG と Docker イメージのデプロイ
- 04デプロイ API トークンの管理
- 05ワークスペース切り替えと CLI 設定
活用シーン
- 01本番デプロイの健全性確認
- 02DAG のみのデプロイによる迅速な反復
- 03ステージングから本番へのコード昇格
- 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 プロジェクトを初期化して構成します