sagemaker-mlflow について
sagemaker-mlflowは、MLflowをSageMakerのトラッキングリソースに接続するスキルです。Python、プラグイン、AWS認証情報、リソースARNを確認し、接続を検証してから他のMLflowスキルへ引き継ぎます。
主な機能
- 01Pythonバージョンとプラグインの確認
- 02AWS認証情報の検証
- 03リソースARNの選択または検出
- 04トラッキング接続の検証
- 05接続を他のスキルへ引き継ぎ
活用シーン
- 01MLflowトラッキングURIの設定
- 02SageMakerリソースARNの特定
- 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 を検索します。
1 件だけ返された場合は、それを使用します。複数返された場合は、名前/ステータス/ARN を一覧表示し、どれを使用するかユーザーに尋ねます。python scripts/discover_arns.pymlflow-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と一致していることを確認してください。