All volumes are deleted when EC2 intance is deleted via terraform I am using a terraform template to create AWS resources.
My count is 2, everything gets created as per plan, and, I am attaching a 2nd EBS volume of 1 GB to both machines, which is also happening well.
However, the only issue is when I try to delete one EC2 instance using the command below, both of the 2nd EBS volumes of 1 GB are getting destroyed. I checked they are connected on separate instances.
$ terraform destroy -target=aws_instance.jumpserver[1]
aws_vpc.main_vpc: Refreshing state... (ID: vpc-06b59734024ad6adc)
aws_key_pair.ProdKeypair: Refreshing state... (ID: ProdKeypair)
aws_security_group.sg_internet_facing: Refreshing state... (ID: sg-05a2739733f4f8a32)
aws_subnet.public_subnet: Refreshing state... (ID: subnet-0a8c6ea2718a44224)
aws_instance.jumpserver[1]: Refreshing state... (ID: i-05646d53baa34a988)

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  - aws_ebs_volume.vol_generic_data[0]

  - aws_ebs_volume.vol_generic_data[1]

  - aws_instance.jumpserver[1]

  - aws_volume_attachment.generic_data_vol_att[0]

  - aws_volume_attachment.generic_data_vol_att[1]

This is the main.tf:
    # Define webserver inside the public subnets 
    resource &quot;aws_instance&quot; &quot;jumpserver&quot; {
      count                       = &quot;${var.num_of_instances}&quot;
      ami                         = &quot;${var.ami}&quot;
      instance_type               = &quot;t2.micro&quot;
      key_name                    = &quot;${aws_key_pair.ProdKeypair.id}&quot;
      subnet_id                   = &quot;${aws_subnet.public_subnet.id}&quot;
      vpc_security_group_ids      = [&quot;${aws_security_group.sg_internet_facing.id}&quot;]
      associate_public_ip_address = true
      source_dest_check           = false
      #   user_data = &quot;${file(&quot;install.sh&quot;)}&quot;
    
      root_block_device = {
        volume_type           = &quot;gp2&quot;
        volume_size           =  &quot;8&quot;  
        delete_on_termination = &quot;${var.delete_on_termincation}&quot;
      }
    
      tags {
        Name = &quot;${format(&quot;jump-%01d&quot;,count.index+1)}&quot;
      }
    
      provisioner &quot;remote-exec&quot; {
        inline = [&quot;sudo apt-get  -y install python&quot;]
    
        connection {
          type        = &quot;ssh&quot;
          user        = &quot;ubuntu&quot;
          private_key = &quot;${file(var.private_key_path)}&quot;
        }
      }
    }
    
    resource &quot;aws_ebs_volume&quot; &quot;vol_generic_data&quot; {
      size              = &quot;1&quot;
      count             = &quot;${var.num_of_instances}&quot;
      type              = &quot;gp2&quot;
      availability_zone = &quot;${element(aws_instance.jumpserver.*.availability_zone, count.index)}&quot;
    
     tags = {
        Name = &quot;${format(&quot;jump-%01d&quot;,count.index+1)}&quot;
      }
    }
    
    
    resource &quot;aws_volume_attachment&quot; &quot;generic_data_vol_att&quot; {
      device_name = &quot;/dev/xvdf&quot;
      volume_id   = &quot;${element(aws_ebs_volume.vol_generic_data.*.id, count.index)}&quot;
      instance_id = &quot;${element(aws_instance.jumpserver.*.id, count.index)}&quot;
      count       = &quot;${var.num_of_instances}&quot;
    }
    
    
    # Define webserver inside the private subnet
    resource &quot;aws_instance&quot; &quot;backendserver&quot; {
      ami                         = &quot;${var.ami}&quot;
      instance_type               = &quot;t2.micro&quot;
      key_name                    = &quot;${aws_key_pair.ProdKeypair.id}&quot;
      subnet_id                   = &quot;${aws_subnet.private_subnet.id}&quot;
      vpc_security_group_ids      = [&quot;${aws_security_group.sg_backend.id}&quot;]
      associate_public_ip_address = false
      source_dest_check           = false
      user_data                   = &quot;${file(&quot;install.sh&quot;)}&quot;
    
      tags {
        Name = &quot;backendserver&quot;
      }
    }
I could see some spelling mistakes in the below mentioned line, rest all are fine i think.

delete_on_termination = "${var.delete_on_termincation}"


Better you could avoid this line, This might be deleting the EBS when u terminating the ec2 instance. Skip this option and check.