¿Cómo puedo resolver los errores de detección de desviaciones en CloudFormation con mi regla gestionada por AWS «cloudformation-stack-drift-detection-check» para AWS Config?

4 minutos de lectura
0

Quiero resolver los errores de detección de desviaciones en AWS CloudFormation con mi regla administrada de AWS cloudformation-stack-drift-detection-check para AWS Config.

Descripción corta

Puede recibir los siguientes errores incluso si el estado de desviación de su pila aparece como IN_SYNC en la consola de CloudFormation:

  • "AWS CloudFormation failed to detect drift, defaulting to NON_COMPLIANT. Re-evaluate the rule and try again. If the problem persists contact AWS CloudFormation support." (AWS CloudFormation no pudo detectar la desviación y el valor predeterminado es NON_COMPLIANT. Vuelva a evaluar la regla e inténtelo de nuevo. Si el problema persiste, póngase en contacto con el servicio de soporte de AWS CloudFormation).
  • "Your stack drift detection operation for the specific stack has failed. Check your existing AWS CloudFormation role permissions and add the missing permissions." (Su operación de detección de desviaciones de pila para la pila específica ha fallado. Compruebe sus permisos de rol de AWS CloudFormation actuales y añada los permisos que faltan)

Según el error que reciba, seleccione una de las siguientes opciones:

  • Si recibe el error NON-COMPLIANT (No compatible), complete los pasos indicados en la sección Actualice sus reglas de AWS Config.
  • Si recibe el error de permisos, siga los pasos indicados en la sección Configure los permisos adecuados.

Nota: La regla administrada de AWS cloudformation-stack-drift-detection-check comprueba si las pilas de CloudFormation detectan desviaciones mediante la API DetectStackDrift. Esta regla tiene un tipo de desencadenador de cambios periódicos y de configuración. Aparece un mensaje de error si se produce un error en la detección de desviaciones.

Resolución

Actualice sus reglas de AWS Config

Puede recibir un mensaje de error NON_COMPLIANT en la consola de AWS Config por los siguientes motivos:

  • Los recursos de su paquete de CloudFormation no admiten la detección de desviaciones. Recibe un error como anotación en el recurso NON_COMPLIANT de su regla de AWS Config. Por ejemplo, aparece el error "Drift detection is not supported for ResourceType" (ResourceType no admite la detección de desviaciones) en el registro de AWS CloudTrail.
  • Su regla de AWS Config depende de la disponibilidad de DetectStackDrift. Aparece un error de limitación o de «velocidad superada» porque AWS Config establece de forma predeterminada la regla en NON_COMPLIANT cuando se produce la limitación.

Para resolver el error provocado por la falta de compatibilidad con la detección de desviaciones:

Ignore la pila de CloudFormation en estado NON_COMPLIANT. El error es un falso positivo en este escenario. Para obtener más información, consulte Evaluating Your Resources (Evaluación de recursos).

-o-

Cree una regla de AWS Config personalizada que incluya una disposición para excluir sus pilas de las evaluaciones. Para ver ejemplos de reglas de AWS Config, consulte Repositorio de reglas de AWS Config y RDKLib.

Para resolver el error resultante de la disponibilidad de DetectStackDrift:

1.    Vuelva a evaluar su regla de AWS Config.

Nota: Por ejemplo, puede adjuntar los permisos de confianza de config.amazonaws.com y los permisos de la política ReadOnlyAccess (AWS Managed) para el nombre de recurso de Amazon (ARN) del rol, que se proporciona en el parámetro obligatorio de la regla cloudformationRoleArn. Para obtener más información, consulte Considerations when detecting drift (Consideraciones que hay que tener en cuenta al detectar desviaciones).

2.    Detecte las desviaciones en sus pilas de CloudFormation.

3.    Ejecute la evaluación mediante su regla de AWS Config.

Configure los permisos adecuados

Aparece un error de permisos cuando la función de AWS Identity and Access Management (IAM) para el parámetro cloudformationRoleArn requerido no tiene la API DetectStackDrift, la API DetectStackResourceDrift ni otros permisos de servicio necesarios.

Para resolver este error, edite la política de confianza de su rol de IAM. Debe adjuntar los permisos config.amazonaws.com y ReadOnlyAccess (AWS Managed) para cloudformationRoleArn.

Información relacionada

Taller de CloudFormation: Drift detection lab (laboratorio de detección de desviaciones)


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años