メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::EC2::Volume

AWS::EC2::Volume タイプは、新しい Amazon Elastic Block Store (Amazon EBS) ボリュームを作成します。

重要

AWS CloudFormation を使用して IopsSize、または VolumeType を変更する Amazon EBS ボリュームを更新する場合、別のオペレーションの発生前にクールダウン期間があります。これにより、スタックが長時間 UPDATE_IN_PROGRESS、または UPDATE_ROLLBACK_IN_PROGRESS であるとレポートする可能性があります。

Amazon EBS のクールダウン期間が発生する場合の一般的なシナリオには以下のようなものが含まれます。

  • 正常に Amazon EBS ボリュームを更新し、更新が成功します。クールダウン期間内に別の更新を試みると、その更新はクールダウンの対象になります。

  • Amazon EBS ボリュームを正常に更新し、更新は成功するものの、update-stack 呼び出しの別の変更が失敗します。そのロールバックはクールダウンの対象となります。

クールダウン期間の詳細については、Amazon EBS 開発者ガイドEBS ボリュームの変更に関する考慮事項を参照してください。

スタックが削除されたときにそのボリュームが AWS CloudFormation によってどのように処理されるかは、ボリュームに削除ポリシーを設定することによって制御できます。ボリュームに関して、維持するか、削除するか、スナップショットを作成するかを選択できます。詳細については、「DeletionPolicy 属性」を参照してください。

注記

スナップショットを作成するように削除ポリシーを設定した場合、ボリューム上のすべてのタグがスナップショットに追加されます。

重要

Amazon EBS では Amazon EBS ボリュームのサイズダウンはサポートされていません。AWS CloudFormation はロールバック時に Amazon EBS ボリュームのサイズを縮小する変更は試みません。

注記

Amazon EBS は、マグネティックボリュームの変更をサポートしていません。詳細については、「EBS ボリュームの変更に関する考慮事項」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type":"AWS::EC2::Volume", "Properties" : { "AutoEnableIO" : Boolean, "AvailabilityZone" : String, "Encrypted" : Boolean, "Iops" : Number, "KmsKeyId" : String, "Size" : Integer, "SnapshotId" : String, "Tags" : [ Resource Tag, ... ], "VolumeType" : String } }

YAML

Copy
Type: "AWS::EC2::Volume" Properties: AutoEnableIO: Boolean AvailabilityZone: String Encrypted: Boolean Iops: Number KmsKeyId: String Size: Integer SnapshotId: String Tags: - Resource Tag VolumeType: String

プロパティ

AutoEnableIO

I/O オペレーションのボリュームが自動有効化されるかどうかを示します。デフォルトでは、ボリュームのデータが潜在的に不整合であると判断した場合、 Amazon EBS はアタッチされているすべての EC2 インスタンスからそのボリュームへの I/O を無効にします。ボリュームの整合性が問題とならない場合で、ボリュームで異常が発生した場合にすぐに利用可能にする必要がある場合、I/O が自動的に有効になるようにボリュームを設定できます。Linux インスタンス用 Amazon EC2 ユーザーガイドの「AutoEnableIO ボリューム属性の操作」を参照してください。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

AvailabilityZone

新しいボリュームの作成先となるアベイラビリティーゾーン。

Required: Yes

Type: String

[Update requires]: アップデートはサポートされていません。

Encrypted

ボリュームが暗号化されているかどうかを示します。暗号化された Amazon EBS ボリュームは、Amazon EBS 暗号化をサポートするインスタンスタイプにのみアタッチすることができます。暗号化されたスナップショットから作成されたボリュームは、自動的に暗号化されます。暗号化されていないスナップショットから暗号化されたボリュームを作成したり、暗号化されたボリュームから暗号化されていないスナップショットを作成したりすることはできません。暗号化されたボリュームを AMI に使用している場合、その AMI はサポートされているインスタンスタイプでしか起動できません。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EBS 暗号化」を参照してください。

Required: Conditional。KmsKeyId プロパティを指定した場合、暗号化を有効にする必要があります。

Type: Boolean

[Update requires]: アップデートはサポートされていません。

Iops

ボリュームがサポートする 1 秒あたりの I/O オペレーションの数 (IOPS)。各ボリュームタイプの有効なサイズの詳細については、Amazon EC2 API ReferenceCreateVolume アクションの Iops パラメーターを参照してください。

Required: Conditional。ボリュームタイプが io1 のときに必須となります。他のボリュームタイプでは使用されません。

Type: Number

更新に伴う要件: 中断はありません。

KmsKeyId

暗号化されたボリューム (arn:aws:kms:us-east-2:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef など) の作成に使用する AWS Key Management Service マスターキーの Amazon リソースネーム (ARN)。暗号化されたボリュームを作成し、このプロパティを指定しない場合、AWS CloudFormation はデフォルトのマスターキーを使用します。

Required: No

Type: String

[Update requires]: アップデートはサポートされていません。

Size

ボリュームのギビバイト (GiB) 単位のサイズ。各ボリュームタイプの有効なサイズの詳細については、Amazon EC2 API ReferenceCreateVolume アクションの Size パラメーターを参照してください。

SnapshotId プロパティを指定した場合、スナップショットのサイズと同じ、またはより大きなサイズを指定します。サイズを指定しない場合、EC2 はボリュームサイズとしてスナップショットのサイズを使用します。

Required: Conditional。SnapshotId プロパティの値を指定しない場合は、このプロパティを指定する必要があります。

Type: Integer

更新に伴う要件: 中断はありません。

SnapshotId

新しいボリュームの作成元になるスナップショット。

Required: No

Type: String

[Update requires]: アップデートはサポートされていません。

Tags

この値に対する任意のタグのセット (キーと値のペア)。

Required: No

Type: AWS CloudFormation Resource Tags

更新に伴う要件: 中断はありません。

VolumeType

ボリュームタイプ。io1 タイプに設定した場合、Iops プロパティも設定する必要があります。有効な値については、Amazon EC2 API ReferenceCreateValue アクションの VolumeType パラメーターを参照してください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

戻り値

参照番号

AWS::EC2::Volume 関数の引数として Ref タイプを指定すると、AWS CloudFormation からボリュームの物理 ID が返されます。例: vol-5cb85026

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

例 削除時にスナップショットを作成するように DeletionPolicy を設定した暗号化 Amazon EBS ボリューム

Copy
"NewVolume" : { "Type" : "AWS::EC2::Volume", "Properties" : { "Size" : "100", "Encrypted" : "true", "AvailabilityZone" : { "Fn::GetAtt" : [ "Ec2Instance", "AvailabilityZone" ] }, "Tags" : [ { "Key" : "MyTag", "Value" : "TagValue" } ] }, "DeletionPolicy" : "Snapshot" }

例 プロビジョンド IOPS を 100 に設定した Amazon EBS ボリューム

Copy
"NewVolume" : { "Type" : "AWS::EC2::Volume", "Properties" : { "Size" : "100", "VolumeType" : "io1", "Iops" : "100", "AvailabilityZone" : { "Fn::GetAtt" : [ "EC2Instance", "AvailabilityZone" ] } } }

詳細

このページの内容: