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

Elastic Container Instance:NAS ボリュームをエラスティックコンテナインスタンスにマウントする

最終更新日:Mar 11, 2025

ファイルストレージ NAS (NAS) は、Alibaba Cloud が提供する分散ファイルシステムです。NAS は共有アクセスと自動スケーリングをサポートしています。NAS は高信頼性と高パフォーマンスを特長としています。このトピックでは、NAS ボリュームをエラスティックコンテナインスタンスにマウントする方法について説明します。

注意事項

  • NAS ファイルシステムは使用量に基づいて課金され、従量課金制、リソースプラン、ストレージ容量ユニット (SCU) 課金方式をサポートしています。NAS の課金の詳細については、課金概要 を参照してください。

  • NAS ファイルシステムと、NAS ファイルシステムがマウントされるエラスティックコンテナインスタンスは、同じ仮想プライベートクラウド (VPC) 内にある必要があります。

  • NAS は共有ストレージサービスです。NAS ファイルシステムは複数のインスタンスにマウントできます。NAS ファイルシステムが複数のインスタンスにマウントされている場合、ファイルシステム内のデータはインスタンス間で共有されます。この場合、複数のインスタンスでデータが変更されたときに、アプリケーションはインスタンス間でデータを同期できる必要があります。

  • NAS ファイルシステムをアンマウントする前に、マウントターゲットを削除しないでください。マウントターゲットを削除すると、オペレーティングシステムがハングする可能性があります。

準備

Alibaba Cloud ファイルストレージ NAS ファイルシステムをボリュームとしてエラスティックコンテナインスタンスにマウントする前に、NAS ファイルシステムとマウントターゲットを作成します。詳細については、ファイルシステムの作成 および マウントターゲットの管理 を参照してください。

構成の説明 (API モード)

CreateContainerGroup API オペレーションを呼び出してエラスティックコンテナインスタンスを作成するときに、ボリューム関連のパラメータを使用してボリュームを指定し、Container.VolumeMount 関連のパラメータを使用してボリュームをコンテナにマウントできます。以下の部分では、関連するパラメータについて説明します。詳細については、CreateContainerGroupを参照してください。

マウントするボリュームの指定

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

NAS ボリュームを指定するには、次のボリュームタイプを指定できます。

  • NFS ボリューム

    パラメータ

    タイプ

    説明

    Volume.N.Name

    String

    nas-demo

    ボリューム N の名前。

    Volume.N.Type

    String

    NFSVolume

    値を NFSVolume に設定します。この値は NFS ボリュームを指定します。

    Volume.N.NFSVolume.Server

    String

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

    Volume.N.Type パラメータを NFSVolume に設定した場合のサーバーのエンドポイント。

    Alibaba Cloud ファイルストレージ NAS ファイルシステムをマウントする場合は、値を NAS ファイルシステムのマウントターゲットのドメイン名に設定します。

    Volume.N.NFSVolume.Path

    String

    /share

    NFS ボリュームへのパス。

    Volume.N.NFSVolume.ReadOnly

    Boolean

    false

    NFS ボリューム N の権限を読み取り専用にするかどうかを指定します。有効な値:

    • true: NFS ボリューム N の権限は読み取り専用です。

    • false: NFS ボリューム N の権限は読み取りと書き込みです。

    デフォルト値: false。

  • FlexVolume プラグインを使用してマウントされるボリューム

    パラメータ

    タイプ

    説明

    Volume.N.Name

    String

    nas-demo

    ボリューム N の名前。

    Volume.N.Type

    String

    FlexVolume

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

    Volume.N.FlexVolume.Driver

    String

    alicloud/nas

    FlexVolume プラグインを使用してボリュームをマウントする場合のドライバタイプ。alicloud/nas の値は、Alibaba Cloud ファイルストレージ NAS ファイルシステムをマウントすることを指定します。

    Volume.N.FlexVolume.Options

    String

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

    Volume.N.Type パラメータを FlexVolume に設定した場合のオプション。各オプションは JSON 文字列のキーと値のペアです。

    FlexVolume プラグインを使用して NAS ファイルシステムをボリュームとしてエラスティックコンテナインスタンスにマウントする場合、このパラメータは NAS ボリュームの構成パラメータを表します。次のパラメータを構成できます。

    • server: NAS ボリュームのマウントターゲットのドメイン名。

    • path: NAS ファイルシステムのサブディレクトリ。値はスラッシュ / で始まる必要があります。

      • NAS ファイルシステムの既存のサブディレクトリを入力します。指定されたサブディレクトリが存在しない場合、システムは NAS ボリュームをサブディレクトリにマウントする前に、自動的にサブディレクトリを作成します。

      • Extreme NAS の場合、指定されたパスは /share で始まる必要があります。

      • このパラメータを設定しない場合、NAS ファイルシステムはルートディレクトリにマウントされます。

    • vers: NAS ファイルシステムのマウントに使用される NFS プロトコルのバージョン番号。NFS v3 を使用することをお勧めします。Extreme NAS は NFS 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

ボリューム N がマウントされるディレクトリ。

このディレクトリの下のデータは、ボリューム上のデータによって上書きされます。この値が正しいことを確認してください。

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 つのコンテナにマウントされているボリュームを、同じエラスティックコンテナインスタンス内の他のコンテナ、または同じホスト上の他のエラスティックコンテナインスタンスに共有できます。有効な値:

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

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

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

デフォルト値: None。

説明

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

構成の説明 (コンソールモード)

エラスティックコンテナインスタンスの購入ページ でエラスティックコンテナインスタンスを作成するときに、コンテナグループの構成 セクションでボリュームを指定し、コンテナの構成 セクションでボリュームをコンテナにマウントできます。

マウントするボリュームの指定

  1. コンテナグループの作成ウィザードの基本設定ステップの コンテナグループの構成 セクションで、詳細設定 をクリックします。

  2. ストレージ セクションで、NAS 永続性 タブをクリックし、追加 をクリックします。

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

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

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

    • パス: NAS ファイルシステムへのパス。

    • 読み取り専用: NAS ファイルシステム内のデータに対する読み取りおよび書き込み権限。デフォルトでは、NAS ファイルシステムからデータを読み取り、NAS ファイルシステムに書き込むことができます。ビジネス要件に基づいて読み取り専用を選択できます。

    nas

ボリュームのマウント

  1. コンテナグループの作成ウィザードの基本設定ステップの コンテナの構成 セクションで、コンテナを選択し、コンテナの詳細設定をクリックします。

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

    コンテナグループの構成セクションで指定したボリュームのみを追加できます。

    nas2

説明

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

構成例

  1. エラスティックコンテナインスタンス A (インスタンス A) を作成し、NAS ボリュームをインスタンス A にマウントします。

    次の例は、CreateContainerGroup API オペレーションを呼び出してインスタンス 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 に接続し、マウントディレクトリにファイルを追加します。

    詳細については、エラスティックコンテナインスタンスへの接続 を参照してください。

    nas3

  3. インスタンス A を削除します。

  4. エラスティックコンテナインスタンス B (インスタンス B) を作成し、同じ NAS ボリュームをインスタンス B にマウントします。

    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 の NAS ボリュームのマウントディレクトリ内のファイルと同じであるかどうかを確認します。

    インスタンス A とインスタンス B は同じ NAS ボリュームを共有し、NAS ボリュームは永続ストレージです。インスタンス A が削除された後、インスタンス B を使用して、インスタンス A を使用して NAS ボリュームに追加したファイルを取得できます。

    nas4