2017-03-14 1 views
0

je déploie un CentOS 7 à l'aide d'un AMI qui crée automatiquement un volume sur AWS, quand je retire la plate-forme à l'aide de la prochaine Terraform commandes:Comment supprimer un volume instance AWS en utilisant Terraform

terraform plan -destroy -var-file terraform.tfvars -out terraform.tfplan 
terraform apply terraform.tfplan 

Le volume doesn N'enlevez pas car il a été créé automatiquement avec l'AMI et terraform ne le crée pas. Est-il possible d'enlever avec terraform?

Mon exemple AWS est créé avec le prochain code terraform:

resource "aws_instance" "DCOS-master1" { 
    ami = "${var.aws_centos_ami}" 
    availability_zone = "eu-west-1b" 
    instance_type = "t2.medium" 
    key_name = "${var.aws_key_name}" 
    security_groups = ["${aws_security_group.bastion.id}"] 
    associate_public_ip_address = true 
    private_ip = "10.0.0.11" 
    source_dest_check = false 
    subnet_id = "${aws_subnet.eu-west-1b-public.id}" 

    tags { 
      Name = "master1" 
     } 
} 

Répondre

0

ajouter le code suivant pour obtenir des informations sur le volume EBS et de prendre son ID:

data "aws_ebs_volume" "ebs_volume" { 
    most_recent = true 

    filter { 
    name = "attachment.instance-id" 
    values = ["${aws_instance.DCOS-master1.id}"] 
    } 
} 

output "ebs_volume_id" { 
    value = "${data.aws_ebs_volume.ebs_volume.id}" 
} 

Ensuite, ayant l'ID de volume EBS I importer au plan de l'aide terraform:Enfin, lorsque j'exécute terraform destroy, toutes les instances et tous les volumes sont détruits.

0

si l'EBS est protégé, vous devez supprimer manuellement la protection de terminaison d'abord sur la console, vous pouvez détruire

+0

Mais je peux le supprimer manuellement, sur les volumes AWS. J'ai un déploiement entièrement automatisé et détruit de la plate-forme de données sur le nuage en utilisant terraform et ansible. Je dois l'enlever avec terraform automatiquement. Est-ce que ce n'est pas possible? –

+0

si vous ne protégez pas vos ebs c'est possible soyez prudent cependant –

+0

Mais si je ne protège pas il serait accessible de n'importe qui? Ou seulement il serait non protégé pour mon compte AWS? –