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

Elastic Container Instance:NAS ボリュームの ECI インスタンスへのマウント

最終更新日:Jun 22, 2026

NAS は、Alibaba Cloud が提供する、共有可能でスケーラブル、高信頼性、高性能な分散ファイルシステムです。このトピックでは、NAS ボリュームを Elastic Container Instance (ECI) にマウントする方法について説明します。

注意事項

  • NAS は使用量に基づいて課金され、従量課金、リソースプラン、SCU 課金方法をサポートしています。詳細については、「NAS の課金概要」をご参照ください。

  • NAS ファイルシステムは、インスタンスと同じ VPC 内に存在する必要があります。

  • NAS は共有ストレージを提供します。単一の NAS ファイルシステムを複数のインスタンスにマウントできます。複数のインスタンスが同時に同じデータを変更する場合、アプリケーション側でデータ同期を処理する必要があります。

  • NAS ボリュームをアンマウントする前に NAS マウントポイントを削除しないでください。削除すると、オペレーティングシステムが応答しなくなる可能性があります。

事前準備

Alibaba Cloud File Storage NAS をボリュームとして使用する前に、NAS ファイルシステムとマウントポイントを作成する必要があります。詳細については、「ファイルシステムの作成」および「マウントポイントの管理」をご参照ください。

設定の詳細 (OpenAPI)

CreateContainerGroup API オペレーションを呼び出して ECI インスタンスを作成する際に、Volume 関連のパラメーターを使用してボリュームを指定し、次に Container.VolumeMount 関連のパラメーターを使用してボリュームをコンテナにマウントできます。関連するパラメーターを以下に示します。詳細については、「CreateContainerGroup」をご参照ください。

ボリュームの宣言

Volume 関連のパラメーターを使用してボリュームを指定する場合、まずボリュームのタイプと名前を指定する必要があります。次に、`Volume.N.Type` パラメーターの値に基づいて、他の Volume 関連のパラメーターを設定する必要があります。

NAS ボリュームは、次の 2 つの方法のいずれかで宣言できます。

  • NFS タイプのボリュームのマウント

    名前

    タイプ

    値の例

    説明

    Volume.N.Name

    String

    nas-demo

    ボリューム名。

    Volume.N.Type

    String

    NFSVolume

    NFS タイプのボリュームを作成するには、NFSVolume に設定します。

    Volume.N.NFSVolume.Server

    String

    3f9cd4**-na*.cn-shanghai.nas.aliyuncs.com

    NFS サーバーアドレス。

    Alibaba Cloud File Storage NAS を使用する場合、これは NAS ファイルシステムのマウントポイントアドレスです。

    Volume.N.NFSVolume.Path

    String

    /share

    NFS ボリュームパス。

    Volume.N.NFSVolume.ReadOnly

    Boolean

    false

    NFS ボリュームの読み取り権限。有効値:

    • true:読み取り専用

    • false:読み取り/書き込み

    デフォルト値:false。

  • FlexVolume プラグインを使用したボリュームのマウント

    名前

    タイプ

    値の例

    説明

    Volume.N.Name

    String

    nas-demo

    ボリューム名。

    Volume.N.Type

    String

    FlexVolume

    FlexVolume プラグインを使用してボリュームをマウントするには、FlexVolume に設定します。

    Volume.N.FlexVolume.Driver

    String

    alicloud/nas

    FlexVolume プラグインを使用してボリュームをマウントする際のドライバータイプ。Alibaba Cloud File Storage NAS をマウントするには、alicloud/nas に設定します。

    Volume.N.FlexVolume.Options

    String

    {"server":"3f9cd4**-na*.cn-shanghai.nas.aliyuncs.com","path": "/share","vers":"3","options":"nolock,tcp,noresvport"}

    FlexVolume オブジェクトのキーと値のオプション。JSON 文字列として渡されます。

    FlexVolume を使用して NAS をマウントする場合、Options は NAS ボリュームの設定パラメーターを指定します。次のパラメーターを設定できます。

    • server:NAS ファイルシステムのマウントポイントアドレス。

    • path:NAS ファイルシステムパス以下のサブディレクトリ。/ で始まります。

      • NAS ファイルシステムに存在するサブディレクトリを入力します。ルートディレクトリ配下にサブディレクトリが存在しない場合は、マウント前に作成されます。

      • 超高速型 NAS ファイルシステムの場合、サブディレクトリは /share で始まる必要があります。

      • このパラメーターはオプションです。省略した場合、デフォルトで NAS ファイルシステムのルートディレクトリがマウントされます。

    • vers:NAS ファイルシステムのマウントに使用される NFS プロトコルバージョン。v3 の使用を推奨します。エクストリーム NAS は v3 のみをサポートします。

    • options:NAS のカスタムマウントオプション。「xxx,xxx,xxx」の形式で指定します (例:nolock,tcp,noresvport)。

ボリュームのマウント

ボリュームを指定した後、VolumeMount 関連のパラメーターを使用してボリュームをコンテナにマウントできます。

パラメーター

タイプ

説明

Container.N.VolumeMount.N.Name

String

test-volume

コンテナ N にマウントするボリューム N の名前。この値は Volume.N.Name の値です。

Container.N.VolumeMount.N.MountPath

String

/usr/share

ボリュームをマウントするコンテナ内のパス。このディレクトリ内のデータは、ボリューム上のデータによって上書きされます。

Container.N.VolumeMount.N.SubPath

String

/usr/sub

ボリュームのサブディレクトリ。このパラメーターは、インスタンスが同じボリュームの異なるサブディレクトリをコンテナの異なるサブディレクトリにマウントできるように指定します。

Container.N.VolumeMount.N.ReadOnly

Boolean

false

マウントディレクトリが読み取り専用かどうかを指定します。デフォルト値:false。

Container.N.VolumeMount.N.MountPropagation

String

None

ボリューム N のマウントプロパゲーション設定。マウントプロパゲーションを使用すると、1 つのコンテナにマウントされたボリュームを、同じ ECI インスタンス内の他のコンテナ、または同じホスト上の他の ECI インスタンスと共有できます。有効値:

  • None:ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされた後続のマウントを受け取りません。

  • HostToContainer:ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされた後続のマウントをすべて受け取ります。

  • Bidirectional:この値は HostToContainer と同様の効果があります。ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされた後続のマウントをすべて受け取ります。さらに、コンテナ N によって作成されたすべてのボリュームマウントは、ホストおよび同じボリュームを使用するすべての ECI インスタンスのすべてのコンテナに伝播されます。

デフォルト値:None。

説明

ボリュームは init コンテナにもマウントできます。必要なパラメーターは、前の表のパラメーターと似ています。Container を InitContainer に変更するだけです。

設定の詳細 (コンソール)

Elastic Container Instance 購入ページで Elastic Container Instance を作成する際に、[コンテナグループ設定] セクションでボリュームを指定し、[コンテナ設定] セクションでコンテナにボリュームをマウントできます。

ボリュームの宣言

  1. [コンテナグループ構成] セクションで、[詳細設定] を展開します。

  2. [ストレージ] で、[NAS 永続ストレージ] タブを選択し、[追加] をクリックします。

  3. NAS ボリュームのパラメーターを設定します。

    • 名前: NAS ボリュームの名前。

    • マウントポイント:NAS ファイルシステムのマウントポイント。

    • パス: マウントする NAS ファイルシステムのパス。

    • 読み取り専用: データの読み取り権限です。デフォルトでは、読み取りと書き込みが有効になっています。必要に応じて読み取り専用を選択してください。

ボリュームのマウント

  1. [コンテナ構成] セクションで、コンテナを選択してその詳細設定を展開します。

  2. [ストレージ] トグルをオンにして、[追加] をクリックします。

    利用可能なボリュームは、コンテナグループの設定時に宣言されたものです。

    [ストレージの選択] で、宣言したボリューム (例:nas-demo) を選択します。ストレージタイプを [NAS 永続ストレージ] に設定します。[コンテナ内のマウントパス]/data を、[サブディレクトリ] に /test を入力します。必要に応じて [読み取り専用] を選択します。

説明

複数のコンテナにボリュームをマウントする場合は、さらにコンテナを選択して上記の手順を繰り返します。

設定例

  1. ECI インスタンス A を作成し、NAS ボリュームをマウントします。

    次の例は、CreateContainerGroup オペレーションを呼び出してインスタンス A を作成するために使用されるパラメーターを示しています。詳細については、「CreateContainerGroup」をご参照ください。

    ContainerGroupName=test-nas-a
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # ボリュームの宣言
    Volume.1.Name=nas-demo
    Volume.1.Type=NFSVolume
    Volume.1.NFSVolume.Server=3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com
    Volume.1.NFSVolume.Path=/share
    # ボリュームをコンテナにマウント
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=nas-demo
    Container.1.VolumeMount.1.MountPath=/data-a
  2. インスタンス A に接続し、マウントディレクトリにファイルを作成します。

    ECI インスタンスへの接続については、「Workbench を使用して ECI インスタンスに接続する」をご参照ください。

    root@test-nas-a:/# cd data-a
    root@test-nas-a:/data-a# ls
    root@test-nas-a:/data-a# echo "hello" >test
    root@test-nas-a:/data-a# ls
    test
    root@test-nas-a:/data-a# cat test
    hello
  3. インスタンス A を削除します。

  4. ECI インスタンス B を作成し、同じ NAS ボリュームをマウントします。

    ContainerGroupName=test-nas-b
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # ボリュームの宣言
    Volume.1.Name=nas-demo
    Volume.1.Type=FlexVolume
    Volume.1.FlexVolume.Driver=alicloud/nas
    Volume.1.FlexVolume.Options={"server":"3f9cd4****-na***.cn-shanghai.nas.aliyuncs.com","path": "/share"}
    # ボリュームをコンテナにマウント
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=nas-demo
    Container.1.VolumeMount.1.MountPath=/data-b
  5. インスタンス B に接続し、マウントディレクトリ内のファイルを確認します。

    インスタンス A とインスタンス B の両方が同じ NAS ボリュームをマウントし、NAS が永続ストレージを提供するため、インスタンス A が削除された後も、インスタンス A によって作成されたファイルはインスタンス B を介してアクセスできます。

    root@test-nas-b:/# cd data-b
    root@test-nas-b:/data-b# ls
    test
    root@test-nas-b:/data-b# cat test
    hello