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

Elastic Container Instance:DataCacheの作成と管理

最終更新日:Jun 19, 2025

DataCache CRD(カスタムリソース定義)をデプロイした後、AIトレーニングモデルなど、ビジネスに必要なデータを事前にプルするためのDataCacheを作成できます。このトピックでは、DataCacheの作成に必要なパラメータについて説明します。また、DataCacheのクエリと削除の方法についても説明します。

前提条件

DataCache CRDがクラスターにデプロイされていること。詳細については、DataCache CRDのデプロイを参照してください。

DataCacheの作成

構成の説明

次のコードは、DataCacheのYAML構成ファイルのパラメータを示しています。

apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
  name: test-url
spec:
  bucket: default
  path: /demo/url
  size: 20
  retentionDays: 3
  dataSource:
    type: URL 
    options:
      url: https://www.example.com
  netConfig: 
    securityGroupId: sg-2ze63v3jtm8e6sy******
    vSwitchId: vsw-2ze94pjtfuj9vaym******

パラメータの説明:

  • apiVersion: APIバージョン。値をeci.aliyun.com/v1alpha1に設定します。

  • kind: リソースタイプ。値をDataCacheに設定します。

  • metadata

    • name: DataCacheの名前。

  • spec

    • bucket: DataCacheを格納するバケットの名前。デフォルト値:default。別の値を指定することもできます。eci-systemという名前のバケットは、Elastic Container Instanceの共通キャッシュを格納するために予約されており、このパラメータの値として使用することはできません。

    • path: データが格納されるパス。

    • size: DataCacheのサイズ。単位:GiB。デフォルト値:20。実際のデータサイズに基づいて必要なサイズを評価してください。

    • retentionDays: DataCacheの保持日数。保持日数が経過すると、DataCacheは削除されます。デフォルトでは、DataCacheは期限切れになりません。

    • dataSource: データソース。次の表は、データソースのtypeパラメータと各タイプのoptionsパラメータについて説明しています。

      type

      説明

      options

      URL

      ハイパーリンクアドレス

      • url: データをダウンロードするURL。

      • accessToken: プライベートデータをプルする前に認証に使用されるトークン。

      HuggingFaceまたはModelScope

      • repoSource: ModelScopeまたはHuggingFaceコミュニティからモデルまたはデータセットをプルします。有効な値:ModelScope/Model、ModelScope/DataSet、HuggingFace/Model、HuggingFace/DataSet。

      • repoId: モデルまたはデータセットのID。

      • revision: バージョン。デフォルト値:mainまたはmaster。

      • accessToken: プライベートデータをプルする前に認証に使用されるトークン。

      NAS

      ファイルストレージNAS(NAS)ファイルシステム

      • server: NASファイルシステムのマウントターゲット。

      • path: NASファイルシステムのサブディレクトリ。エクストリームNASファイルシステムの場合は、パスに/shareというプレフィックスを付けます。例:/share/path

      • vers: NASファイルシステムのマウントに使用されるNFS(Network File System)プロトコルのバージョン番号。NFS v3を使用することをお勧めします。エクストリームNASはNFS v3のみをサポートしています。

      • options: typeパラメータをNASに設定するときに使用されるパラメータ。NASサービスで推奨されるパラメータを使用することをお勧めします。例:nolock,tcp,noresvport

      OSS

      オブジェクトストレージサービス(OSS)バケット

      • bucket: OSSバケットの名前。

      • url: OSSバケットのエンドポイント。

      • path: OSSバケットのサブディレクトリ。パスはOSSバケットのルートディレクトリからの相対パスです。デフォルト値:/

      • otherOpts: OSSバケットをマウントするために指定されたカスタムオプション。形式:-o *** -o ***。例:-o max_stat_cache_size=0 -o allow_other

      • ramRole: RAMを使用して権限を付与する場合に使用するResource Access Management (RAM)ロール。

        説明

        RAMロールを作成し、OSSバケットにアクセスするための権限をRAMロールに付与します。詳細については、信頼できるAlibaba CloudサービスのRAMロールの作成RAMロールへの権限の付与を参照してください。

        RAMロールを作成する際は、「信頼できるエンティティを選択」パラメータにAlibaba Cloudサービス、「ロールタイプ」パラメータに標準サービスロール、「信頼できるサービスを選択」パラメータにElastic Compute Serviceを選択します。RAMロールに権限を付与する際は、AliyunOSSFullAccessポリシーをRAMロールにアタッチします。

      • akId: AccessKeyペアを使用して権限を付与する場合に使用するAccessKey ID。詳細については、AccessKey ペアの作成を参照してください。

      • akSecret: AccessKeyペアを使用して権限を付与する場合に使用するAccessKeyシークレット。詳細については、AccessKey ペアの作成を参照してください。

      SNAPSHOT

      スナップショット

      snapshotId: スナップショットのID。

    • netConfig

      • securityGroupId: 生成された弾性コンテナインスタンスが属するセキュリティグループのID。

      • vSwitchId: 生成された弾性コンテナインスタンスが接続されているvSwitchのID。

      インターネット経由でデータをプルする場合、vSwitchにソースNAT(SNAT)ゲートウェイが構成されていない場合は、弾性コンテナインスタンスに弾性IPアドレス(EIP)を関連付けることができます。この場合、netConfigセクションにEIP関連のパラメータを追加できます。

      netConfig: 
        eipInstanceId: eip-2zey74a7zienoxf*****  # eipInstanceIdまたはeipCreateParamを指定します。
        eipCreateParam:  # eipInstanceIdまたはeipCreateParamを指定します。
          bandwidth: 5
          commonBandwidthPackage:  cbwp-2zeukbj916scmj5******
          internetChargeType:  PayByTraffic
          publicIpAddressPoolId: pippool-bp187arfugi543y1s****
          ISP: BGP
      • eipInstanceId: EIP ID。指定されたvSwitchにSNATゲートウェイが構成されていない場合、既存のEIPを弾性コンテナインスタンスに関連付けて、インターネット経由でデータをプルできます。

      • eipCreateParam: 指定されたvSwitchにSNATゲートウェイが構成されておらず、既存のEIPが存在しない場合、次のパラメータを構成してEIPを作成し、EIPを弾性コンテナインスタンスに関連付けることができます。これにより、インターネット経由でデータをプルできます。

        • bandwidth: EIPの帯域幅。単位:Mbit/s。デフォルト値:5。

        • commonBandwidthPackage: EIPにバインドされている既存のEIP帯域幅プラン。詳細については、インターネット共有帯域幅とはを参照してください。

        • internetChargeType: EIPの課金方法。有効な値:PayByBandwidth(帯域幅による課金)とPayByTraffic(データ転送による課金)。詳細については、課金概要トピックの「課金方法」セクションを参照してください。

        • publicIpAddressPoolId: パブリックIPアドレスプールのID。EIPはIPアドレスプールから割り当てられます。デフォルトでは、IPアドレスプール機能を使用できません。この機能を使用するには、クォータセンターコンソールで権限を申請する必要があります。詳細については、IPアドレスプールの作成と管理を参照してください。

        • ISP: EIPの回線タイプ。有効な値:BGPとBGP_PRO。デフォルト値:BGP。詳細については、EIPとはトピックの「回線タイプ」セクションを参照してください。

構成例

YAML構成ファイルを作成し、kubectlコマンドを実行してDataCacheを作成します。YAML構成ファイルの名前はdatacache.yamlとします。

  • 新しいDataCacheを作成します。

    kubectl create -f datacache.yaml
  • DataCacheを更新します。

    kubectl apply -f datacache.yaml

DataCacheのYAML構成ファイル:

URL

  • URLからデータをプルします。

    apiVersion: eci.aliyun.com/v1alpha1
    kind: DataCache
    metadata:
      name: test-url-1
    spec:
      path: /demo/url
      dataSource:
        type: URL 
        options:
          url: https://www.example.com
      netConfig:                
        securityGroupId: sg-2ze63v3jtm8e6sy******
        vSwitchId: vsw-2ze94pjtfuj9vaym******

  • HuggingFaceからモデルをプルします。

    apiVersion: eci.aliyun.com/v1alpha1
    kind: DataCache
    metadata:
      name: test-url-2
    spec:
      path: /demo/url
      dataSource:
        type: URL 
        options:
          repoSource: "HuggingFace/Model"        
          repoId: "decapoda-research/llama-7b-hf"
      netConfig: 
        securityGroupId: sg-2ze63v3jtm8e6sy******
        vSwitchId: vsw-2ze94pjtfuj9vaym******

NAS

apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
  name: test-nas
spec:
  path: /demo/nas
  dataSource:
    type: NAS 
    options:
      server: "0389a***-nh**.cn-beijing.extreme.nas.aliyuncs.com"
      path: "/"
      vers: "3"
      options: "nolock,tcp,noresvport"
  netConfig: 
    securityGroupId: sg-2ze63v3jtm8e6sy******
    vSwitchId: vsw-2ze94pjtfuj9vaym******

OSS

apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
  name: test-oss
spec:
  path: /demo/oss
  dataSource:
    type: OSS 
    options:
      bucket: "oss-***"
      url: "oss-cn-beijing-internal.aliyuncs.com"
      path: "/test"
      otherOpts: "-o max_stat_cache_size=0 -o allow_other"
      ramRole: "<your RAM Role Name>"  //お客様のRAMロール名
  netConfig: 
    securityGroupId: sg-2ze63v3jtm8e6sy******
    vSwitchId: vsw-2ze94pjtfuj9vaym******

SNAPSHOT

apiVersion: eci.aliyun.com/v1alpha1
kind: DataCache
metadata:
  name: test-snapshot
spec:
  path: /demo/snapshot
  dataSource:
    type: SNAPSHOT 
    options:
      snapshotId: s-uf6j98q2tvfcjz******
  netConfig: 
    securityGroupId: sg-2ze63v3jtm8e6sy******
    vSwitchId: vsw-2ze94pjtfuj9vaym***

DataCacheの管理

説明

DataCacheをクエリまたは削除する際に、次のいずれかの名前をリソースタイプ名として使用できます。

  • edc

  • datacache

  • datacaches

  • datacaches.eci.aliyun.com

DataCacheのクエリ

DataCacheを作成した後、クラスター内のすべてのDataCacheをクエリしたり、DataCacheの詳細を表示したりできます。

  • クラスター内のすべてのDataCacheをクエリします。

    kubectl get edc 

    次の例は出力を示しています。Available状態は、DataCacheが使用できる状態であることを示します。

    get edc.png

  • DataCacheの詳細を表示します。

    kubectl describe edc <edc-name>

    次の出力は、DataCacheの基本情報、メタデータ、構成、ステータス、およびイベント情報を示しています。

    describe edc.png

DataCacheの削除

重要

各DataCacheはスナップショットに対応しています。スナップショットを保持するには、スナップショットのストレージ料金を支払う必要があります。使用しなくなったDataCacheは削除することをお勧めします。

DataCacheを削除するには、次のコマンドを実行します。

kubectl delete edc <edc-name>