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

Elastic Container Instance:エラスティックコンテナインスタンスへのディスクボリュームのマウント

最終更新日:Mar 11, 2025

ディスクは、Alibaba Cloudが提供するブロックレベルのストレージ製品です。ディスクは、低レイテンシ、高パフォーマンス、高耐久性、高信頼性を備えています。FlexVolumeプラグインを使用して、ディスクをボリュームとしてエラスティックコンテナインスタンスにマウントできます。このトピックでは、ディスクボリュームをエラスティックコンテナインスタンスにマウントする方法について説明します。

注意事項

  • 従量課金制ディスクのみマウントできます。詳細については、EBSデバイスを参照してください。

  • ディスクは共有できません。ディスクは1つのインスタンスにのみマウントできます。

  • エラスティックコンテナインスタンスには最大6つのディスクボリュームをマウントできます。

  • ディスクがマウントされるインスタンスは、ディスクと同じゾーンに存在する必要があります。

  • マルチマウント機能が有効になっているNVMeディスクは、エラスティックコンテナインスタンスにマウントできません。

  • パーティションを持つディスクはマウントできません。

構成の説明

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

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

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

パラメータ

タイプ

説明

Volume.N.Name

String

disk-demo

ボリュームNの名前。

Volume.N.Type

String

FlexVolume

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

Volume.N.FlexVolume.Driver

String

alicloud/disk

FlexVolumeプラグインを使用してボリュームをマウントする際のドライバタイプ。値をalicloud/diskに設定します。これは、Alibaba Cloudディスクをマウントすることを指定します。

Volume.N.FlexVolume.FsType

String

ext4

ファイルシステムのタイプ。ディスクのファイルシステムタイプを選択します。有効な値:ext4、ext3、xfs、vfat。デフォルト値:ext4。

Volume.N.FlexVolume.Options

String

{"volumeSize":"50","tags":"test:eci"}

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

FlexVolumeプラグインを使用してディスクをマウントする場合、このパラメータはディスクボリュームの構成パラメータを表します。以下のパラメータを構成できます。

重要

volumeIdパラメータを指定しない場合は、volumeSizeパラメータを指定する必要があります。volumeIdパラメータを指定した場合、volumeSizeなどのディスクの属性パラメータの値は無視されます。

  • (静的に)既存のディスクを指定する

    • volumeId:ディスクのID。

  • (動的に)新しいディスクを作成する

    • volumeSize:ディスクのサイズ。有効な値:20~32768。単位:GiB。

      説明

      マウントされるディスクがスナップショットに基づいて作成される場合(snapshotIdパラメータを使用してスナップショットを指定する場合)、作成されるディスクの実際のサイズは、次の2つの値の大きい方になります。

      • volumeSizeパラメータの値

      • スナップショットに基づいて作成されるディスクのサイズ。

    • performanceLevel:ディスクのパフォーマンスレベル。システムは自動的に拡張SSD(ESSD)をボリュームとして使用します。ディスクのカテゴリを指定することはできません。詳細については、ESSDを参照してください。

    • deleteWithInstance:エラスティックコンテナインスタンスが解放されたときにディスクを解放するかどうかを指定します。デフォルト値:true。

    • encrypted:ディスクを暗号化するかどうかを指定します。デフォルト値:false。詳細については、暗号化の概要を参照してください。

    • kmsKeyId:ディスクの暗号化に使用されるKey Management Service(KMS)キーのID。

    • tags:ディスクにバインドされるタグ。最大20個のタグをバインドできます。形式:"tagkey1:tagvalue1,tagkey2:tagvalue2"

    • snapshotId:スナップショットのID。スナップショットは、特定の時点におけるディスクの状態データファイルです。スナップショットに基づいて作成されたディスク上のデータを取得できます。スナップショットの詳細については、概要を参照してください。

      説明

      スナップショットに基づいて作成されたディスクにパーティションがある場合、そのディスクをエラスティックコンテナインスタンスにマウントすることはできません。

ボリュームのマウント

ボリュームを指定した後、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に変更するだけです。

構成例

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

  • 例1:(静的に)既存のディスクを指定する

    ContainerGroupName=test-disk1
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # マウントするボリュームを指定します。
    Volume.1.Name=disk-demo
    Volume.1.Type=FlexVolume
    Volume.1.FlexVolume.Driver=alicloud/disk
    Volume.1.FlexVolume.FsType=ext4
    Volume.1.FlexVolume.Options={"volumeId":"d-2zebuamrpar7xnj****"}
    # ボリュームをコンテナにマウントします。
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=disk-demo
    Container.1.VolumeMount.1.MountPath=/data
    説明

    既存のディスクを静的に指定する場合、指定されたディスクはPending状態であり、エラスティックコンテナインスタンスと同じゾーンにある必要があります。

  • 例2:(動的に)新しいディスクを作成する

    ContainerGroupName=test-disk2
    # マウントするボリュームを指定します。
    Volume.1.Name=disk-demo
    Volume.1.Type=FlexVolume
    Volume.1.FlexVolume.Driver=alicloud/disk
    Volume.1.FlexVolume.FsType=ext4
    Volume.1.FlexVolume.Options={"volumeSize":"50","tags":"test:eci"}
    # ボリュームをコンテナにマウントします。
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=disk-demo
    Container.1.VolumeMount.1.MountPath=/data