2012-07-11 13 views
9

Estoy utilizando lo siguiente para eliminar los registros de route53. No recibo mensajes de errorBoto - Cómo eliminar un conjunto de registros de la ruta 53 -Retiró para eliminar el conjunto de registros de recursos pero no se encontró

conn = Route53Connection(aws_access_key_id, aws_secret_access_key) 
changes = ResourceRecordSets(conn, zone_id) 
change = changes.add_change("DELETE",sub_domain, "A", 60,weight=weight,identifier=identifier) 
change.add_value(ip_old) 
changes.commit() 

todos los campos requeridos están presentes y que match..weight, identificador, TTL = 60 etc. \

por ejemplo

test.com. A 111.111.111.111 60 1 id1 
test.com. A 111.111.111.222 60 1 id2 

Quiero eliminar 111.111.111.222 y el conjunto de registros.

Entonces, ¿cuál es la forma correcta de eliminar un conjunto de registros?

Para un conjunto de registros, tendré varios valores que se distinguen por un identificador único. Cuando una dirección IP se vuelve activa quiero para eliminar de route53. Estoy usando un equilibrio de carga pobre.

Here is the meta of the record want to delete. 
{'alias_dns_name': None, 
    'alias_hosted_zone_id': None, 
    'identifier': u'15754-1', 
    'name': u'hui.com.', 
    'resource_records': [u'103.4.xxx.xxx'], 
    'ttl': u'60', 
    'type': u'A', 
    'weight': u'1'} 



Traceback (most recent call last): 
    File "/home/ubuntu/workspace/rtbopsConfig/classes/redis_ha.py", line 353, in <module> 
    deleteRedisSubDomains(aws_access_key_id, aws_secret_access_key,platform=platform,sub_domain=sub_domain,redis_domain=redis_domain,zone_id=zone_id,ip_address=ip_address,weight=1,identifier=identifier) 
    File "/home/ubuntu/workspace/rtbopsConfig/classes/redis_ha.py", line 341, in deleteRedisSubDomains 
    changes.commit() 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.3.0-py2.7.egg/boto/route53/record.py", line 131, in commit 
    return self.connection.change_rrsets(self.hosted_zone_id, self.to_xml()) 
    File "/usr/local/lib/python2.7/dist-packages/boto-2.3.0-py2.7.egg/boto/route53/connection.py", line 291, in change_rrsets 
    body) 
boto.route53.exception.DNSServerError: DNSServerError: 400 Bad Request 
<?xml version="1.0"?> 
<ErrorResponse xmlns="https://route53.amazonaws.com/doc/2011-05-05/"><Error><Type>Sender</Type><Code>InvalidChangeBatch</Code><Message>Tried to delete resource record set hui.com., type A, SetIdentifier 15754-1 but it was not found</Message></Error><RequestId>9972af89-cb69-11e1-803b-7bde5b9c457d</RequestId></ErrorResponse> 

Gracias

Respuesta

1

¿Estás seguro de que necesita todos esos parámetros para add_change?

Look at add_change here.

Los parámetros por defecto se dan a la función, por lo que puede ser sobre-especificar proporcionando peso y TTL.

Intente dejar el peso y el TTL (es posible que deba conservar el identificador). This blog proporciona un ejemplo simple de eliminación de registros:

Además, no puedo ver los valores de los parámetros que está pasando, pero asegure su integridad y trate de incluir un '.' al final de su subdominio

1

Intenté un ejemplo similar y tuve que especificar todos los campos, incluyendo weight y ttl para una eliminación exitosa. (Al mantenerlo predeterminado, no funcionó). No se pudo generar el problema original con un registro DNS ponderado y pasado explícitamente ttl.

Cuestiones relacionadas