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

Container Compute Service:クイックスタート:ACS を使用した生成 AI チャットアプリの構築

最終更新日:Jun 03, 2026

Alibaba Cloud Container Compute Service (ACS) は、Kubernetes ネイティブインターフェイスを通じて、コンテナ化されたアプリケーションを実行するための伸縮自在なサーバーレスコンピューティングリソースを提供します。このチュートリアルでは、ACS コンソールとクラスター証明書を使用して ACS クラスターに生成 AI チャットアプリケーションをデプロイし、そのステータスを監視する手順を説明します。

背景情報

  • このチュートリアルでは、RWKV-Runner (推論用の RESTful API を備えた1億パラメーターモデル) とChatGPT-Next-Web (チャット Web UI) という2つのオープンソースプロジェクトを使用します。これらを組み合わせることで、フロントエンドとバックエンドが分離された AI チャットアプリケーションを構成し、コンテナイメージとして ACS クラスターにデプロイします。

  • CNCF × Alibaba Cloud-Native Technology Open Course で Kubernetes の基礎を学習します。

手順

初めて ACS を使用する場合、サービスを有効化し、権限を付与し、クラスターを作成して、アプリケーションをデプロイする必要があります。

image

ACS の有効化と権限の付与

ACS を初めて使用する場合は、ACS を有効化し、クラウドリソースにアクセスするための権限を ACS に付与する必要があります。

  1. ACS コンソール にログインし、[有効化] をクリックします。

  2. ACS 有効化 ページに移動し、画面の指示に従って ACS を有効化します。

  3. ACS コンソールに戻り、ページをリフレッシュします。 [今すぐ承認] をクリックします。

  4. ACS 承認ページに移動し、画面の指示に従って ACS に権限を付与します。

    上記の手順が完了したら、ACS コンソールをリフレッシュします。 その後、ACS を使い始めることができます。

ステップ 2: ACS クラスタを作成する

このステップでは、ACS クラスタを作成するときにクラスタパラメータを構成する方法を示します。

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

  2. [クラスタ] ページの左上隅にある [クラスタの作成] をクリックします。

  3. [クラスタの作成] ページで、次の表に示すパラメータを設定します。 表に記載されていないパラメータには、デフォルト設定を使用します。

    パラメータ

    説明

    クラスタ名

    クラスタの名前を入力します。

    ACS-Demo

    リージョン

    クラスタをデプロイするリージョンを選択します。

    中国 (北京)

    VPC

    クラスタのネットワーク。 ACS クラスタは VPC のみをサポートします。 [VPC の作成] または [既存の VPC を選択] を選択できます。

    • [VPC の作成]: このオプションを選択すると、ACK は VPC と VPC 内の NAT ゲートウェイを自動的に作成します。 また、ACK は NAT ゲートウェイで SNAT ルールを構成します。

    • [既存の VPC を選択]: このオプションを選択する場合は、VPC ドロップダウンリストから VPC を選択し、vSwitch セクションで vSwitch を選択する必要があります。 インターネット経由でコンテナイメージをダウンロードする場合は、NAT ゲートウェイを構成する必要があります。 コンテナイメージをクラスタがデプロイされているリージョンの Alibaba Cloud Container Registry にアップロードし、VPC エンドポイントを使用してイメージをプルすることをお勧めします。

    詳細については、「VPC の作成と管理」をご参照ください。

    [VPC の作成] を選択します。

    API サーバーアクセス設定

    クラスタの Kubernetes API サーバーをインターネットに公開するかどうかを指定します。 インターネット経由でクラスタを管理する場合は、Elastic IP Address (EIP) を使用して Kubernetes API サーバーを公開する必要があります。

    [EIP で API サーバーを公開] を選択します。

    サービスディスカバリ

    [詳細オプションを表示] をクリックし、サービスディスカバリを有効にするかどうかを指定します。 サービスディスカバリを有効にするには、[coredns] を選択します。

    [coredns] を選択します。

  4. [注文の確認] をクリックし、利用規約を読んで選択してから、[クラスタの作成] をクリックします。

    説明

    クラスタの作成には約 10 分かかります。 クラスタが作成されると、[クラスタ] ページでクラスタを表示できます。

ステップ3:コンソールによる RWKV-Runner のデプロイ

ACS クラスター内の汎用インスタンスに RWKV-Runner ステートレスアプリケーション (Deployment) をデプロイし、その RESTful API をクラスター内で公開します。「ステートレスワークロード Deployment の作成」をご参照ください。

  1. ACS コンソールにログインします。クラスター ページで、対象のクラスター (ACS-Demo) の名前をクリックします。

  2. 左側メニューで、[Workloads] > [Deployments] を選択します。

  3. デプロイメント ページで、イメージによる作成 をクリックします。

  4. 基本情報 手順では、名前[rwkv-runner]インスタンスタイプ汎用タイプQoS タイプ[default] に設定して、 をクリックします。

  5. コンテナー 手順では、コンテナを設定して をクリックします。

    パラメーター

    説明

    設定例

    [イメージ名]

    タグを含まないイメージアドレスを入力するか、イメージの選択 をクリックしてイメージを選択します。

    registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-runner

    [イメージバージョン]

    イメージバージョンの選択 をクリックしてイメージのバージョンを選択します。

    1.0.0

    CPU

    アプリケーションの CPU コア数。

    1 Core

    [メモリ]

    アプリケーションのメモリ量。

    2 GiB

    [ポート]

    コンテナポート。

    • [名前]: runner

    • [コンテナーポート]: 8000

    • [プロトコル]: TCP

  6. 上級 手順では、サービス の右側にある 作成する をクリックします。

  7. サービスの作成 ダイアログボックスで、次のパラメーターを設定して 作成する をクリックします。これにより、rwkv-runner の RESTful API がクラスター内で公開されます。

    パラメーター

    説明

    設定例

    [名前]

    Service の名前。

    rwkv-runner-svc

    [タイプ]

    Service のタイプです。Service へのアクセス方法を決定します。

    ClusterIP

    [ポートマッピング]

    サービスポートコンテナーポート を設定します。コンテナーポート は、バックエンド Pod が公開するポートと一致する必要があります。

    • [名前]: runner

    • [サービスポート]: 80

    • [コンテナーポート]: 8000

    • [プロトコル]: TCP

  8. 上級 手順で、右下隅にある 作成する をクリックします。

    作成が完了すると、完了 手順にアプリケーションオブジェクトが表示されます。詳細の表示 をクリックしてアプリケーションを確認します。

ステップ4:証明書による ChatGPT-Next-Web のデプロイ

クラスター証明書 (kubeconfig) を使用して ChatGPT-Next-Web ステートレスアプリケーション (Deployment) をデプロイし、インターネットに公開します。「ステートレスワークロード Deployment の作成」をご参照ください。

  1. ACS コンソールにログインします。クラスター ページで、対象のクラスター (ACS-Demo) の名前をクリックします。

  2. クラスター情報 ページで、接続情報 タブをクリックします。パブリックアクセス証明書を取得し、画面の指示に従って正しい場所に保存します。

  3. chat-next-web.yaml ファイルを作成し、次の内容を追加します。

    chat-next-web.yaml の内容

    apiVersion: v1
    kind: Service
    metadata:
      name: chat-frontend-svc
    spec:
      ports:
        - name: chat
          port: 80
          protocol: TCP
          targetPort: 3000
      selector:
        app: chat-frontend
      type: LoadBalancer
    
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: chat-frontend
      name: chat-frontend
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: chat-frontend
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          labels:
            alibabacloud.com/compute-class: general-purpose  # 汎用インスタンスタイプを指定します。
            # パフォーマンス強化タイプを使用するには、alibabacloud.com/compute-class: performance を使用します。
            app: chat-frontend
        spec:
          containers:
            - env:
                - name: BASE_URL
                  value: 'http://rwkv-runner-svc'
              image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/chatgpt-next-web:amd64
              imagePullPolicy: IfNotPresent
              name: chat-frontend
              ports:
                - containerPort: 3000
                  protocol: TCP
              resources:
                requests:
                  cpu: "1"
                  memory: 2Gi
              terminationMessagePath: /dev/termination-log
              terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
  4. 次のコマンドを実行して、リソースを ACS クラスターに適用します。

    kubectl apply -f chat-next-web.yaml

ステップ5:初期化 Job の作成

クラスター証明書を使用して、RWKV-Runner モデルを初期化する Kubernetes Job を作成します。この Job は BestEffort QoS クラスのインスタンスで実行されます。「Job ワークロードの作成」をご参照ください。

  1. rwkv-init-job.yaml ファイルを作成し、次の内容を追加します。

    rwkv-init-job.yaml の内容

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: job-demo
    spec:
      activeDeadlineSeconds: 600
      backoffLimit: 6
      completionMode: NonIndexed
      completions: 1
      parallelism: 1
      suspend: false
      template:
        metadata:
          labels:
            alibabacloud.com/compute-qos: best-effort # BestEffort QoS クラスを指定します。
            # デフォルトの QoS クラスを使用するには、alibabacloud.com/compute-qos: default を使用します。
            app: job-demo
        spec:
          containers:
          - name: job
            image: registry.cn-beijing.aliyuncs.com/acs-demo-ns/rwkv-init-job:1.0.0
            imagePullPolicy: Always
            resources:
              requests:
                cpu: 500m
                memory: 1Gi
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext: {}
          terminationGracePeriodSeconds: 30
    
  2. 次のコマンドを実行して、初期化 Job を送信します。

    kubectl apply -f rwkv-init-job.yaml
  3. 初期化 Job が完了したことを確認します。

    kubectl get pod

    Job Pod の STATUSCompleted と表示されます。

ステップ6:アプリケーションのテスト

Service を介してデプロイされたアプリケーションにアクセスします。

  1. ACS コンソールにログインします。クラスター ページで、対象のクラスター (ACS-Demo) の名前をクリックします。

  2. 左側メニューで、Network > Services を選択します。

  3. サービス ページで、新しく作成された Service (chat-frontend-svc) を見つけ、[External IP] 列の IP アドレスをクリックして、生成 AI チャットアプリケーションにアクセスします。

リソースのクリーンアップ

ACS クラスターの料金は、2つの要素で構成されます:

  • ワークロードが使用するコンピューティングリソース。ACS によって課金されます。

  • その他の Alibaba Cloud リソース。各サービスによって課金されます。

このチュートリアル完了後:

  • クラスターが不要になった場合は、クラスターと関連リソースを削除してください。「クラスターの削除」をご参照ください。

  • クラスターを引き続き使用する場合は、少なくとも100.00 CNY のアカウント残高を維持してください。「クラウドリソースの課金」をご参照ください。