OSS、NAS、データセット、コードセット、またはモデルを EAS サービスにマウントすることで、インスタンス間でデータを共有し、イメージを再構築することなくコンテンツを更新できます。
ストレージソリューションの選択
ストレージマウントを設定するには、まず基盤となるストレージタイプを選択し、次にマウント方法を選択します。
1. 基盤となるストレージタイプの選択
データ特性とパフォーマンス要件に基づいてストレージタイプを選択します。
|
ストレージタイプ |
ファイル特性 |
読み書きパターン |
パフォーマンス特性 |
一般的なユースケース |
|
OSS |
大量の大きなファイル |
読み取り中心 |
高スループット、低コスト |
モデルファイルのストレージ、静的アセット管理 |
|
汎用 NAS |
中規模から大規模のファイル |
混合読み書き、複数インスタンス間の共有 |
中程度の IOPS、中程度のレイテンシー |
複数インスタンスの共有ディレクトリ、設定ファイルの管理 |
|
エクストリーム NAS |
多数の小さなファイル |
高頻度、低レイテンシーの読み書き操作 |
低レイテンシー、高 IOPS |
AI トレーニング、ハイパフォーマンスコンピューティング |
|
CPFS |
超大規模ファイル |
大規模な並列読み書き |
極めて低いレイテンシー、極めて高いスループット |
分散トレーニング、大規模並列計算 |
推奨事項:
-
コスト重視のアプリケーションの場合:OSS はストレージコストが最も低く、パフォーマンスが重要でない大容量データに適しています。
-
パフォーマンス重視のアプリケーションの場合:パフォーマンスは、CPFS > エクストリーム NAS > 汎用 NAS > OSS の順になります。予算とパフォーマンスのニーズに合ったタイプを選択してください。
-
組み合わせの使用:複数のストレージタイプを同時にマウントします。たとえば、大規模モデルには OSS を使用し、共有設定ファイルには汎用 NAS を使用します。
-
移行パス:迅速な検証のために OSS から始め、パフォーマンス要件と予算に基づいて本番環境用に NAS または CPFS にアップグレードします。
-
CPFS ファイルシステムは、Lingjun コンピューティングリソースクォータを使用して EAS サービスをデプロイする場合にのみマウントできます。
-
内部ネットワーク経由で NAS ストレージにアクセスするには、EAS サービスが NAS マウントターゲットと同じ VPC にある必要があります。ネットワーク設定の詳細については、「EAS からパブリックリソースまたは内部リソースへのアクセス」をご参照ください。
2. マウント方法の選択
ストレージタイプを選択した後、マウント方法を選択します。
|
マウント方法 |
ユースケース |
主な利点 |
説明 |
|
ストレージパスを直接マウント |
迅速な検証、一時的な使用 |
簡単な設定、オンデマンド使用 |
OSS または NAS パスを直接指定 |
|
PAI データセットをマウント |
データバージョン管理、チームコラボレーション |
バージョン管理、アセットの再利用 |
OSS または NAS パスをデータセットとして登録 |
|
Git からマウント |
アプリケーションコードとスクリプトのデプロイ |
コードのバージョン管理 |
Git リポジトリからプル、読み取り専用マウント |
|
PAI コードセットをマウント |
企業コードアセット管理 |
標準化された管理、監査とトレーサビリティ |
Git リポジトリをコードセットとして登録 |
|
PAI モデルをマウント |
モデルバージョン管理 |
モデルの反復、チームコラボレーション |
モデルを PAI AI アセットとして登録 |
基本的なストレージマウント
OSS マウント
ユースケース
-
大規模なモデルファイル (GB レベル以上) を保存します。
-
イメージ、ビデオ、設定ファイルなど、推論に必要な静的アセットを保存します。
-
データ読み取りが主な操作である読み取り中心のワークロード。
-
低コストのストレージを必要とするコスト重視のアプリケーション。
設定
OSS マウントは最も一般的な方法です。次の図は、コンソールの設定ページを示しています。

次のコードは JSON 設定の例です:
{
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
パラメーター:
|
パラメーター (コンソール) |
パラメーター (JSON) |
説明 |
|
Uri |
oss.path |
ソース OSS バケットのパス。バケットの作成方法については、「クイックスタート」をご参照ください。 |
|
マウントパス |
mount_path |
サービスインスタンス内の宛先パス。このパスからソースファイルにアクセスします。例: |
|
読み取り専用 |
oss.readOnly |
ストレージを読み取り専用モードでマウントするかどうかを指定します。 |
NAS マウント
NAS マウントは、汎用 NAS、エクストリーム NAS、および CPFS をサポートしています。ネットワーク要件と使用制限については、「ストレージソリューションの選択」をご参照ください。
次の図は、コンソールの設定ページを示しています。

次のコードは JSON 設定の例です:
{
"storage": [
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/data/"
}
]
}
パラメーター:
|
パラメーター (コンソール) |
パラメーター (JSON) |
説明 |
|
ストレージ権限リソースグループ |
nfs.resourceGroup |
ファイルシステムを所有するリソースグループ。リソースグループによってファイルシステムをフィルタリングします。詳細については、「リソースグループ設計のベストプラクティス」をご参照ください。 [すべてのストレージ権限リソースグループ] を選択した場合、JSON ファイルでこのパラメーターを設定する必要はありません。 |
|
ファイルシステムの選択 |
N/A |
作成された NAS ファイルシステムの ID。この ID は、対応するリージョンの NAS コンソールで確認できます。 |
|
ファイルシステムのマウントターゲット |
nfs.server |
EAS がファイルシステムにアクセスするために使用する NAS マウントターゲットアドレス。アドレスを表示するには、「マウントターゲットアドレスの表示」をご参照ください。 説明
コンソールでマウントターゲットを選択すると、システムはマウントターゲットに関連付けられている VPC を自動的に選択します。 |
|
ファイルシステムパス |
nfs.path |
マウントする NAS ファイルシステム内のソースパス。これは NAS インスタンス内のパスで、 |
|
マウントパス |
mount_path |
マウント用のサービスインスタンス内の宛先パス。このパスからソースファイルまたはデータにアクセスできます。例: |
|
読み取り専用 |
nfs.readOnly |
ストレージを読み取り専用モードでマウントするかどうかを指定します。 |
Git マウント
次の図は、コンソールの設定ページを示しています。

次のコードは JSON 設定の例です:
{
"storage": [
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/data/"
}
]
}
パラメーター:
|
パラメーター (コンソール) |
パラメーター (JSON) |
説明 |
|
Git URL |
git.repo |
マウントする Git リポジトリの HTTPS URL。Git プロトコルはサポートされていません。 |
|
ブランチ |
git.branch |
プルする Git リポジトリのブランチ。デフォルト値:master。 |
|
コミット |
git.commit |
プルする Git リポジトリのコミット ID。 |
|
Git ユーザー名 |
git.username |
プライベート Git リポジトリにログインするためのユーザー名。 |
|
アクセストークン |
git.password |
プライベート Git リポジトリにログインするためのパスワードまたはアクセストークン。トークンの取得方法については、「付録:GitHub アカウントのトークンを取得する」をご参照ください。 |
|
マウントパス |
mount_path |
サービスインスタンスにおけるマウントの宛先パスです。このパスからソースファイルやデータにアクセスできます。例: |
プラットフォームアセットのマウント
PAI に AI アセットとして登録されたデータセット、コードセット、モデルをサービスインスタンスにマウントできます。これにより、アセットの一元管理と再利用が可能になります。
データセットマウント
データまたは設定ファイルから PAI データセットを作成し、パブリック AI アセットとして登録することで、サービスデプロイ全体でバージョン管理と再利用を統一できます。
OSS、汎用 NAS、エクストリーム NAS、および CPFS をバックエンドとするカスタムデータセットをマウントできます。
次の図は、コンソールの設定ページを示しています。

次のコードは JSON 設定の例です:
"storage": [
{
"dataset": {
"id": "d-pcsah1t86bm8******",
"version": "v1",
"read_only": false
},
"mount_path": "/mnt/data/"
}
]
パラメーター:
|
パラメーター (コンソール) |
パラメーター (JSON) |
説明 |
|
カスタムデータセット |
dataset.id |
登録済みのカスタムデータセット。カスタムデータセットの作成方法と ID の確認方法については、「データセットの作成と管理」をご参照ください。 |
|
バージョン |
version |
データセットのバージョン。例:v1。 |
|
読み取り専用 |
dataset.read_only |
データセットを読み取り専用モードでマウントするかどうかを指定します。 |
|
マウントパス |
mount_path |
マウント用のサービスインスタンス内の宛先パス。このパスからソースファイルまたはデータにアクセスできます。例: |
コードセットマウント
Git リポジトリから PAI コードセットを作成し、パブリック AI アセットとして登録します。コードセットは、読み取り専用モードでサービスインスタンスにマウントされます。
次の図は、コンソールの設定ページを示しています。

次のコードは JSON 設定の例です:
"storage": [
{
"code": {
"id": "code-4d3b42a1152****"
},
"mount_path": "/mnt/data/"
}
]
パラメーター:
|
パラメーター (コンソール) |
パラメーター (JSON) |
説明 |
|
コード設定 |
code.id |
登録済みのコードセット。コードセットの作成方法と ID の確認方法については、「コード設定」をご参照ください。 |
|
マウントパス |
mount_path |
マウント用のサービスインスタンス内の宛先パス。このパスからソースファイルまたはデータにアクセスできます。例: |
PAI モデルマウント
モデルを PAI AI アセットとして登録し、バージョンとメタデータを一元管理できます。これらのモデルは、デプロイ時に読み取り専用モードでサービスインスタンスにマウントできます。詳細については、「モデルの登録と管理」をご参照ください。
次の図は、コンソールの設定ページを示しています。

パラメーター:
|
パラメーター (コンソール) |
説明 |
|
PAI モデル |
登録済みの PAI モデル。モデルの作成方法については、「モデルの登録と管理」をご参照ください。 |
|
マウントパス |
モデルがマウントされるサービスインスタンス内の宛先パス。例: |
高度なマウントオプション
EAS は、次の高度なマウント方法もサポートしています:
-
イメージマウント:Docker イメージ内の指定されたパスから一時的なローカルボリュームにファイルをコピーし、それをサービスインスタンスにマウントします。大きなディレクトリは大量のローカルストレージを消費し、起動時間を増加させます。必要な場合にのみ使用してください。
-
EmptyDir マウント:実行中のインスタンスに一時的なローカルストレージを提供します。インスタンスが予期せず再起動しても、コンテンツは保持されます。ローカルキャッシュや一時ファイルの保存に適しています。
イメージマウント
この機能は JSON ファイルを使用してのみ設定できます:
{
"storage": [
{
"image": {
"image": "registry-vpc.cn-xxxx.aliyuncs.com/eas/image_name:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
}
]
}
イメージは、同じリージョン内の内部ネットワークアドレスからのみマウントできます。プライベートイメージの場合は、dockerAuth パラメーターを使用して認証情報を提供します。dockerAuth の詳細については、「カスタムイメージの使用」をご参照ください。
パラメーター:
|
パラメーター (JSON) |
説明 |
|
image.image |
マウントするイメージリポジトリの内部ネットワークアドレス。 |
|
image.path |
ファイルをコピーするイメージ内のソースパス。 |
|
mount_path |
コピーされたファイルがマウントされるサービスインスタンス内の宛先パス。例: |
EmptyDir マウント
この機能は JSON ファイルを使用してのみ設定できます:
{
"storage": [
{
"empty_dir": {},
"mount_path": "/mnt/temp"
}
]
}
パラメーター:
|
パラメーター (JSON) |
説明 |
|
mount_path |
サービスインスタンス内の宛先パス。 |
|
empty_dir |
空のマップ値を持つ EmptyDir タイプ。データをローカルディスクに保存します。他のプロパティはサポートされていません。 |
共有メモリの設定
より高いストレージパフォーマンスを得るには、次の設定を使用して共有メモリボリューム (tmpfs) をマウントします。
{
"storage": [
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
}
]
}
パラメーター:
|
パラメーター (JSON) |
説明 |
|
medium |
このパラメーターを memory に設定します。 |
|
mount_path |
このパラメーターを |
|
size_limit |
メモリサイズの制限 (GB)。 |
JSON 設定例
次のコードは、完全な設定例です。詳細については、「JSON を使用したサービスのデプロイ」をご参照ください。
{
"name": "service_name",
"model_path": "http://path/to/model",
"processor": "pmml",
"storage": [
{
"oss": {
"path": "oss://bucket/path/",
"readOnly": false
},
"mount_path": "/mnt/oss_data/"
},
{
"nfs": {
"path": "/",
"server": "06ba74****-a****.cn-hangzhou.nas.aliyuncs.com",
"readOnly": false
},
"mount_path": "/mnt/nfs_data/"
},
{
"image": {
"image": "registry-vpc.cn-shanghai.aliyuncs.com/eas/test_image:v1",
"path": "/path/to/mount/"
},
"mount_path": "/data_image"
},
{
"empty_dir": {
"medium": "memory",
"size_limit": 20
},
"mount_path": "/dev/shm"
},
{
"git": {
"repo": "https://codeup.aliyun.com/xxx/eas/aitest.git",
"branch": "master",
"commit": "xxx",
"username": "username",
"password": "password or access token"
},
"mount_path": "/mnt/git_code/"
}
],
"metadata": {
"cpu": 1,
"instance": 1,
"resource": "eas-r-xxx"
}
}
よくある質問
-
OSS バケットをマウントした後に「file not found」エラーが発生するのはなぜですか?
このエラーは通常、パスが正しくないことが原因です。マウント設定とアクセスパスを確認してください。
たとえば、
oss://my-bucket/を/mnt/dataにマウントした場合、OSS 内のoss://my-bucket/subfolder/myfile.txtにあるファイルには、コンテナ内の/mnt/data/myfile.txtではなく、/mnt/data/subfolder/myfile.txtパスからアクセスする必要があります。 -
ネットワーク接続の問題で NAS マウントが失敗した場合はどうすればよいですか?
NAS マウントには、EAS サービスと NAS マウントターゲットが同じ VPC にある必要があります。次の項目を確認してください:
-
VPC の一貫性:EAS サービスと NAS マウントターゲットの両方で VPC ID が同じであることを確認してください。
-
ネットワーク設定:NAS にアクセスするには、「EAS からパブリックリソースまたは内部リソースへのアクセス」の指示に従ってネットワークを設定してください。
-
マウントターゲットのステータス:NAS マウントターゲットが存在し、
Available状態であることを確認してください。
-
-
認証エラーで Git マウントが失敗した場合はどうすればよいですか?
次の設定を確認してください:
-
アクセストークンの有効性:Git アクセストークンが期限切れでなく、リポジトリに対する読み取り権限があることを確認してください。
-
リポジトリの権限:プライベートリポジトリの場合、ユーザー名とパスワードまたはトークンが正しく、読み取り権限があることを確認してください。
-
リポジトリのアドレス形式:HTTPS プロトコルを使用してください (例:
https://github.com/user/repo.git)。Git プロトコルはサポートされていません。 -
ブランチ/コミットの存在:指定されたブランチ名またはコミット ID がリポジトリに存在することを確認してください。
-
-
マウントパスの競合によりサービスが起動しない場合はどうすればよいですか?
マウントパスの競合は、次の理由で発生する可能性があります:
-
マウントパスの重複:同じサービス内で、複数のストレージ設定が同じマウントパスを使用しています。各ストレージの
mount_pathが一意であることを確認してください。 -
システムディレクトリの競合:マウントパスは、
/bin、/etc、/usr、/libなどの重要なシステムディレクトリにすることはできません。/mntまたは/data以下のパスを使用してください。 -
不正なパス形式:マウントパスは、スラッシュ (
/) で始まる絶対パスである必要があります。
-
-
FTP または SSH ツールを使用してインスタンスに接続し、ファイルをアップロードまたはダウンロードできますか?
いいえ。EAS インスタンスは FTP または SSH アクセスを提供していません。
-
EAS サービスとは異なるリージョンにある OSS バケットをマウントできますか?
いいえ。EAS はリージョンをまたいで OSS バケットをマウントすることはできません。OSS のクロスリージョンレプリケーション機能を使用して、EAS サービスと同じリージョン内の OSS バケットにデータを同期してください。
-
ストレージがマウントされていない場合、インスタンスにダウンロードしたファイルはどこに保存されますか?
ファイルはインスタンスの一時的なシステムディスクに保存されます。システムディスク上のデータは、インスタンスが再起動または更新されると失われます。データを永続化するには、外部ストレージをマウントしてください。