Terraform AWS ドキュメント翻訳

aws_volume_attachment

AWS EBS ボリュームアタッチメントを提供します

リソース: aws_volume_attachment

AWS インスタンスからボリュームをアタッチおよびデタッチするためのトップレベルリソースとして、AWS EBS ボリュームアタッチメントを提供します。

EBS ブロックデバイスに関する注意: aws_instanceebs_block_device を使用する場合、Terraform はインスタンスの非ルート EBS ブロックデバイス全体の管理を引き受け、追加のブロックデバイスをドリフトとして扱います。このため、特定のインスタンスに対して ebs_block_device を外部の aws_ebs_volume + aws_volume_attachment リソースと混在させることはできません。

使用例

resource "aws_volume_attachment" "ebs_att" {
  device_name = "/dev/sdh"
  volume_id   = aws_ebs_volume.example.id
  instance_id = aws_instance.web.id
}

resource "aws_instance" "web" {
  ami               = "ami-21f78e11"
  availability_zone = "us-west-2a"
  instance_type     = "t2.micro"

  tags = {
    Name = "HelloWorld"
  }
}

resource "aws_ebs_volume" "example" {
  availability_zone = "us-west-2a"
  size              = 1
}

引数リファレンス

このリソースは以下の引数をサポートします:

  • region - (オプション) このリソースが管理されるリージョン。デフォルトはプロバイダー設定で設定されたリージョンです。
  • device_name - (必須) インスタンスに公開するデバイス名(例: /dev/sdh または xvdh)。詳細は Linux インスタンスのデバイス命名 および Windows インスタンスのデバイス命名 を参照してください。
  • instance_id - (必須) アタッチするインスタンスの ID
  • volume_id - (必須) アタッチされるボリュームの ID
  • force_detach - (オプション, ブール値) ボリュームを強制的にデタッチしたい場合は true に設定します。以前の試行が失敗した場合に便利ですが、データ損失を招く可能性があるため、最終手段としてのみ使用してください。詳細は Amazon EBS ボリュームをインスタンスからデタッチする を参照してください。
  • skip_destroy - (オプション, ブール値) デストロイ時にアタッチされているインスタンスからボリュームをデタッチせず、Terraform の状態からアタッチメントを削除するだけにしたい場合はこれを true に設定します。他の手段で作成されたボリュームがアタッチされているインスタンスを破棄する際に便利です。
  • stop_instance_before_detaching - (オプション, ブール値) ボリュームをデタッチする前にターゲットインスタンスが停止していることを確認するためにこれを true に設定します。インスタンスが既に停止していない場合、インスタンスを停止します。

属性リファレンス

このリソースは、上記の引数に加えて以下の属性をエクスポートします:

  • device_name - インスタンスに公開されたデバイス名
  • instance_id - インスタンスの ID
  • volume_id - ボリュームの ID

インポート

Terraform v1.5.0 以降では、import ブロックを使用して DEVICE_NAME:VOLUME_ID:INSTANCE_ID を使用して EBS ボリュームアタッチメントをインポートします。例:

import {
  to = aws_volume_attachment.example
  id = "/dev/sdh:vol-049df61146c4d7901:i-12345678"
}

terraform import を使用して、DEVICE_NAME:VOLUME_ID:INSTANCE_ID を使用して EBS ボリュームアタッチメントをインポートします。例:

% terraform import aws_volume_attachment.example /dev/sdh:vol-049df61146c4d7901:i-12345678