mcpField
S
sagemaker-mlflow

sagemaker-mlflow

github.com/mlflowクラウド・DevOps82394 回インストール2 日前に更新
リポジトリ

sagemaker-mlflow について

sagemaker-mlflowは、MLflowをSageMakerのトラッキングリソースに接続するスキルです。Python、プラグイン、AWS認証情報、リソースARNを確認し、接続を検証してから他のMLflowスキルへ引き継ぎます。

主な機能

  1. 01Pythonバージョンとプラグインの確認
  2. 02AWS認証情報の検証
  3. 03リソースARNの選択または検出
  4. 04トラッキング接続の検証
  5. 05接続を他のスキルへ引き継ぎ

活用シーン

  1. 01MLflowトラッキングURIの設定
  2. 02SageMakerリソースARNの特定
  3. 03接続前提条件の確認

インストール

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

$npx skills add https://github.com/mlflow/skills --skill sagemaker-mlflow

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

同梱ファイルscripts/discover_arns.pyscripts/verify_connection.py

詳細

SageMaker MLflow に接続する

sagemaker-mlflow プラグイン、ARN のトラッキング URI、および AWS 認証情報を使用して接続します。 ほかの MLflow スキルは、MLFLOW_TRACKING_URI を通じて接続を引き継ぎます。

Python >= 3.10(mlflow >= 3.8)が必要です。検証して修正方法を案内してください。プラグインを自動インストールしたり、認証情報を取得したりしないでください(リポジトリの Databricks のパターンに準拠)。

Step 1: 前提条件

  • python --version -> 3.10 以上である必要があります。それより古い場合は、処理を停止してユーザーに伝えてください。
  • AWS 認証情報が解決されることを確認します(環境変数、aws configure / SSO、または IAM ロール)。エラー(ExpiredToken / 認証情報なし)が発生した場合は、処理を停止し、設定をユーザーに依頼してください。 (scripts/verify_connection.py でも boto3 を介して確認します。)

Step 2: プラグインを確認する

プラグインが見つからない場合は、処理を停止して、次のインストールコマンドをユーザーに提示してください。

pip install sagemaker-mlflow

MLFLOW_TRACKING_URI がすでに ARN に設定されている場合でも必要です。このプラグインがないと、mlflow.set_tracking_uri() は UnsupportedModelRegistryStoreURIException で失敗します。

Step 3: リソース ARN を選択する

  • ユーザーがすでに ARN を提示している場合(または MLFLOW_TRACKING_URI が arn:aws:sagemaker:... に設定されている場合)は、そのまま使用します。
  • それ以外の場合は、ユーザーのリージョンで ARN を検索します。
    python scripts/discover_arns.py
    
    1 件だけ返された場合は、それを使用します。複数返された場合は、名前/ステータス/ARN を一覧表示し、どれを使用するかユーザーに尋ねます。mlflow-app と mlflow-tracking-server の ARN はどちらも使用できます。ARN は SageMaker Studio コンソールのリソース詳細ページにも表示されます。

その後、エクスポートします(ARN はリージョンに紐づいているため、別リージョンの ARN では認証されません)。

export MLFLOW_TRACKING_URI="<arn>"    # mlflow-app/<id> or mlflow-tracking-server/<name>
export AWS_DEFAULT_REGION="<region>"  # AWS credentials resolved via the default chain (SigV4)

Step 4: 検証する

python scripts/verify_connection.py "$MLFLOW_TRACKING_URI"

3 つすべての前提条件(プラグイン/認証情報/ARN への接続)を確認します。最初の失敗時に、修正方法のヒントを表示してゼロ以外の終了コードで終了します。検証に合格するまで先に進まないでください。

接続の検証後、依頼された MLflow スキルに引き継ぎます。接続済みの環境は MLFLOW_TRACKING_URI を通じて引き継がれます。

トラブルシューティング

  • UnsupportedModelRegistryStoreURIException — Step 2 を確認してから、検証をもう一度実行してください。
  • AccessDenied / 403 — 認証情報がないか期限切れであるか、プリンシパルに ARN への MLflow 権限がありません。認証情報が解決されることを確認し、sagemaker-mlflow / sagemaker の権限を付与して、ARN のリージョンが AWS_DEFAULT_REGION と一致していることを確認してください。

コメント