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

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

最終更新日:Jun 22, 2026

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

MLflow モデルレジストリの概要

MLflow モデルレジストリの詳細については、MLflow Model Registry — MLflow documentation をご参照ください。

前提条件

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

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

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

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

  • モデルメタデータを格納するために、RDS 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. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[アプリケーション] > [ヘルム] を選択します。

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

    • AI Suite 開発コンソールを使用してモデルを管理するには、MLflow を kube-ai Namespace にデプロイし、リリース名をデフォルト値の mlflow のままにします。

    • Arena を使用してモデルを管理するには、MLflow を任意の Namespace にデプロイできますが、リリース名はデフォルト値の mlflow のままにします。

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

    1. defaultArtifactRoot および backendStore パラメーターを設定します。次のコードは設定例です。

      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 (例: `+://:@::/`)
        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 PostgreSQL コンソール にログインします。 [インスタンス ID] > [データベース接続] > [内部/外部エンドポイント] をクリックして、pgm-xxxxxxxxxxxxxx.pg.rds.aliyuncs.com などのデータベースエンドポイントを取得します。

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

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

      trackingServer:
        # -- mlflow トラッキングサーバーの実行モードを指定します。利用可能なオプションは `serve-artifacts`、`no-serve-artifacts`、`artifacts-only` です
        mode: no-serve-artifacts
        # -- ログ記録用のデフォルトのアーティファクトの場所を指定します。アーティファクトサービングが有効な場合、データは `mlflow-artifacts/:` に、そうでない場合は `./mlruns` に記録されます
        defaultArtifactRoot: "./mlruns"
        # Basic 認証の設定
        # 詳細については、https://mlflow.org/docs/latest/auth/index.html#configuration をご覧ください
        basicAuth:
          # -- Basic 認証を有効にするかどうかを指定します
          enabled: true
          # -- すべてのリソースに対するデフォルトの権限。利用可能なオプションは `READ`、`EDIT`、`MANAGE`、`NO_PERMISSIONS` です
          defaultPermission: NO_PERMISSIONS
          # -- 権限とユーザーデータを格納するデータベースの場所 (例: `+://:@::/`)
          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 (例: `+://:@::/`)
        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.adminUsername および trackingServer.basicAuth.adminPassword パラメーターを変更して、MLflow 管理者のユーザー名と初期パスワードを設定します。新しい管理者アカウントは、まだ存在しない場合にのみ作成されます。

    MLflow パラメーターの完全なリストについては、MLflow をご参照ください。

手順2:Kubernetes にデプロイされた MLflow Web UI へのアクセス

  1. 次のコマンドを実行して、MLflow Web UI Service をローカルマシンのポート 5000 に転送します。MLflow を kube-ai 以外の Namespace にデプロイした場合は、コマンド内の -n パラメーターの値を実際の Namespace に置き換えてください。

    kubectl port-forward -n kube-ai 5000

    予想される出力:

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

    アクセスに成功すると、MLflow Web UI の [Default] experiment ページが表示されます。メッセージ「No runs logged」は、run がまだ記録されていないことを示します。これにより、MLflow Service が Kubernetes 上に正常にデプロイされ、正常に実行されていることが確認できます。

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

クラウドネイティブ AI スイートは、MLflow モデルレジストリでのモデル管理をサポートしています。クラウドネイティブ AI スイート開発コンソールおよび Arena コマンドラインインターフェイスを使用してモデルを管理する方法の詳細については、「Arena を使用した MLflow レジストリモデルの管理」をご参照ください。