すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:MLflow モデルレジストリの設定

最終更新日:Mar 25, 2026

MLflow は、エンドツーエンドの機械学習ライフサイクルを管理するためのオープンソースプラットフォームです。トレーニング情報の追跡、機械学習モデルの管理とデプロイに役立ちます。このトピックでは、モデル管理のために MLflow モデルレジストリを設定する方法について説明します。

MLflow モデルレジストリ

MLflow モデルレジストリの詳細な概要については、「MLflow Model Registry — MLflow ドキュメント」をご参照ください。

前提条件

  • ACK Pro マネージドクラスターが作成済みであり、その Kubernetes バージョンが 1.20 以降であること。詳細については、「ACK Pro マネージドクラスターの作成」をご参照ください。

  • RDS for PostgreSQL インスタンスが作成済みであること。詳細については、「RDS for PostgreSQL インスタンスの作成」をご参照ください。

    RDS for PostgreSQL インスタンスは、ご利用の ACK クラスターと同じ VPC 内に作成することを推奨します。その後、VPC の CIDR ブロックをインスタンスの許可リストに追加します。これにより、プライベートアドレスを使用してデータベースにアクセスできます。RDS インスタンスと ACK クラスターが異なる VPC にある場合は、RDS インスタンスのパブリックアクセスを有効にし、ACK クラスターの VPC の CIDR ブロックを許可リストに追加してください。詳細については、「許可リストの設定」をご参照ください。

  • RDS for PostgreSQL インスタンスに mlflow という名前の標準アカウントが作成済みであること。詳細については、「アカウントの作成」をご参照ください。

  • モデルのメタデータを格納するために、RDS for PostgreSQL インスタンスに mlflow_store という名前のデータベースが作成済みであり、その Authorized Accountmlflow アカウントに設定されていること。詳細については、「データベースの作成」をご参照ください。

  • (オプション) MLflow ユーザー認証情報を格納するため、RDS PostgreSQL インスタンスに mlflow_basic_auth という名前のデータベースを作成し、その Authorized Accountmlflow アカウントに設定しました。詳細については、「データベースの作成」をご参照ください。

  • モデル管理のために Arena クライアントが設定済みであること。Arena のバージョンは 0.9.14 以降である必要があります。詳細については、「Arena クライアントの設定」をご参照ください。

ステップ 1:ACK クラスターへの MLflow のデプロイ

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、ご利用のクラスターの名前をクリックします。左側のナビゲーションウィンドウで、アプリケーション > Helm をクリックします。

  3. デプロイ をクリックします。デプロイ ページで、アプリケーション名mlflow に、Namespacekube-ai に設定します。グラフ エリアの検索バーで mlflow を検索して選択します。Next をクリックします。表示されるダイアログボックスで、チャートのデフォルトの名前空間として mlflow を使用するかどうかを確認します。

    • クラウドネイティブ AI Suite コンソールを使用してモデルを管理するには、MLflow を kube-ai 名前空間にデプロイし、デフォルトのリリース名 mlflow を使用する必要があります。

    • Arena を使用してモデルを管理する場合、MLflow はどの名前空間にでもデプロイできますが、デフォルトのリリース名 mlflow を使用する必要があります。

  4. デプロイ ページで、チャートパラメーターを設定します。

    1. defaultArtifactRootbackendStore パラメーターを設定します。以下のスニペットは設定例です。

      trackingServer:
        # -- mlflow トラッキングサーバーの実行モードを指定します。利用可能なオプションは `serve-artifacts`、`no-serve-artifacts`、`artifacts-only` です
        mode: no-serve-artifacts
        # -- ログ記録用のデフォルトのアーティファクトの場所を指定します。アーティファクトの提供が有効な場合、データは `mlflow-artifacts/:` にログ記録され、そうでない場合は `./mlruns` に記録されます
        defaultArtifactRoot: "./mlruns"
        
      # バックエンドストアの設定方法の詳細については、https://mlflow.org/docs/latest/tracking/backend-stores.html をご参照ください
      backendStore:
        # -- バックエンドストアの URI (例: `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>`)
        backendStoreUri: postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_store

      backendStore.backendStoreUri パラメーターを、「前提条件」セクションで作成した mlflow_store データベースの接続文字列に設定します。例:postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_store

      重要

      RDS インスタンスと ACK クラスターが同じ VPC 内にある場合は、RDS インスタンスのプライベートアドレスを使用します。そうでない場合は、パブリックアドレスを使用し、ACK クラスターがアクセスできることを確認してください。

      RDS for PostgreSQL コンソールにログインします。 [インスタンス ID] > [データベース接続] > [内部/パブリックアドレス] を選択して、pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com などのデータベースアドレスを取得します。

      詳細については、「データベースへの接続」をご参照ください。

    2. (任意) 基本認証を有効にするには、次のパラメーターを設定します。

      trackingServer:
        # -- mlflow トラッキングサーバーの実行モードを指定します。利用可能なオプションは `serve-artifacts`、`no-serve-artifacts`、`artifacts-only` です
        mode: no-serve-artifacts
        # -- ログ記録用のデフォルトのアーティファクトの場所を指定します。アーティファクトの提供が有効な場合、データは `mlflow-artifacts/:` にログ記録され、そうでない場合は `./mlruns` に記録されます
        defaultArtifactRoot: "./mlruns"
        
        # 基本認証の設定
        # 詳細については、https://mlflow.org/docs/latest/auth/index.html#configuration をご参照ください
        basicAuth:
          # -- 基本認証を有効にするかどうかを指定します
          enabled: true
          # -- すべてのリソースに対するデフォルトの権限。利用可能なオプションは `READ`、`EDIT`、`MANAGE`、`NO_PERMISSIONS` です
          defaultPermission: NO_PERMISSIONS
          # -- 権限とユーザーデータを格納するデータベースの場所 (例: `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>`)
          databaseUri: postgresql+psycopg2://<username>:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_basic_auth
          # -- 管理者がまだ作成されていない場合のデフォルトの管理者ユーザー名
          adminUsername: admin
          # -- 管理者がまだ作成されていない場合のデフォルトの管理者パスワード
          adminPassword: password
          # -- リクエストを認証する関数
          authorizationFunction: mlflow.server.auth:authenticate_request_basic_auth
          
      # バックエンドストアの設定方法の詳細については、https://mlflow.org/docs/latest/tracking/backend-stores.html をご参照ください
      backendStore:
        # -- バックエンドストアの URI (例: `<dialect>+<driver>://<username>:<password>@<host>:<port>/<database>`)
        backendStoreUri: postgresql+psycopg2://mlflow:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_store
      • trackingServer.basicAuth.databaseUri パラメーターを、「前提条件」セクションで作成した mlflow_basic_auth データベースの接続文字列に設定します。例:postgresql+psycopg2://<username>:<password>@pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com/mlflow_basic_auth

      • trackingServer.basicAuth.adminUsernametrackingServer.basicAuth.adminPassword パラメーターを設定して、MLflow 管理者のユーザー名と初期パスワードを指定します。これにより、管理者アカウントがまだ存在しない場合にのみ作成されます。

    MLflow 設定パラメーターの完全なリストについては、「MLflow チャートドキュメント」をご参照ください。

ステップ 2:MLflow Web UI へのアクセス

  1. 次のコマンドを実行して、MLflow Web UI サービスをご利用のローカルマシンのポート 5000 に転送します。

    kubectl port-forward -n kube-ai services/mlflow 5000

    期待される出力は次のとおりです。

    Forwarding from 127.0.0.1:5000 -> 5000
    Forwarding from [::1]:5000 -> 5000
    Handling connection for 5000
    Handling connection for 5000
    ...
  2. Web ブラウザーで http://127.0.0.1:5000 を開き、MLflow Web UI を表示します。

    image

次のステップ:モデルの管理

MLflow モデルレジストリ内のモデルは、クラウドネイティブ AI Suite コンソールまたは Arena コマンドラインツールで管理できます。詳細については、「Arena を使用した MLflow モデルレジストリでのモデル管理」をご参照ください。