Безопасно удалить том EBS в стеке облачной информации
У меня есть стек облачной информации, где я создаю экземпляр с 2 томами EBS, 1 основным / корневым и 1, который содержит много тестовых данных. Единственная причина присоединения тестовых данных - это верхняя загрузка данных в hadoop в начале после создания стека. После этого у меня нет смысла хранить этот объем EBS и платить за него деньги. Но если я удалю его вручную или с помощью библиотеки boto3, не вызовет ли это позже проблемы со стеком облачной информации, если я попытаюсь обновить или удалить его? Как удаление не удалось, так как не удалось найти ресурсы, или если я попытаюсь обновить стек новым тегом, произойдет сбой, поскольку он обнаружит, что ресурс отсутствует. Любое руководство приветствуется.
Обновление: Похоже, облачная информация не создает ресурс для моего тома в ресурсах стека, потому что я не вижу его там. Однако, когда я нажимаю на экземпляр, у него есть / dev / sda1 для блочного устройства, и когда я наводю на него курсор, он показывает EBS ID тома, с которым я его создал, в моей облачной информации.
Мой шаблон облачной информации:
###################
### Master node ###
###################
MasterNode:
Type: AWS::EC2::Instance
Properties:
ImageId: !FindInMap [RegionMap, !Ref "AWS::Region", ami]
InstanceType: r3.large
KeyName: !FindInMap [RegionMap, !Ref "AWS::Region", key]
SubnetId: !FindInMap [RegionMap, !Ref "AWS::Region", subnet]
IamInstanceProfile: !Ref MasterNodeProfile
SecurityGroupIds:
- !Ref SecurityGroup
- !Ref InternalSecurityGroup
Tags:
-
Key: Name
Value: Master for XYZ
BlockDeviceMappings:
- DeviceName: /dev/sda1
Ebs:
VolumeSize: 20
DeleteOnTermination: True
VolumeType: gp2
UserData:
Fn::Base64: !Sub |
#!/bin/bash -xe
yum install epel-release -y
yum install python-pip -y
pip install awscli
2 ответа
Вы можете попробовать BlockDeviceMappings
на свойствах EC2, чтобы определить объем. Во-первых, вы хотите иметь два тома, вы можете добавить эти коды.
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sd1",
"Ebs": {
"VolumeSize": "50",
"DeleteOnTermination": true
}
}
]
Вам нужно только добавить еще один, потому что корень автоматически создается при создании экземпляра EC2. Затем, если вы хотите удалить его, удалите эту часть (код выше) и обновите экземпляр. Это удалит второй том (/dev/sd1).
Вместо того, чтобы удалять его вручную, обновите стек, который удалит ресурс. Обновление / удаление вашего стека завершится неудачей, если вы удалите его вручную, а не обновите стек.
От: Я вручную удалил ресурс, который был создан CloudFormation. Обновления моего стека теперь не работают - как я могу решить эту проблему?
Если ресурс был удален, потому что он вам больше не нужен, и вы хотите удалить его из стека, удалите ресурс и все ссылки на него из вашего шаблона, а затем выполните обновление стека.