Esta es la segunda versión de la Guía para desarrolladores de AWS CDK. La primera versión del CDK pasó a la etapa de mantenimiento el 1.° de junio de 2022 y no cuenta con soporte desde el 1.° de junio de 2023.
cdk drift
Detecte desviaciones en la configuración de los recursos que defina, gestione e implemente mediante el AWS Cloud Development Kit (AWS CDK). La desviación se produce cuando la configuración real de una pila difiere de la configuración esperada, lo que ocurre cuando los recursos se modifican fuera de AWS CloudFormation.
Este comando identifica los recursos que se han modificado (por ejemplo, mediante la consola de AWS o la AWS CLI) comparando su estado actual con la configuración esperada. Estas modificaciones pueden provocar un comportamiento inesperado en la infraestructura.
Durante la detección de desviaciones, la CLI de CDK generará indicadores de progreso y resultados, que muestran lo siguiente:
-
Recursos que se desviaron de la configuración esperada.
-
Número total de recursos con desviación.
-
Un resumen que indica si se detectó una desviación en la pila.
importante
Los comandos cdk drift y cdk diff funcionan de forma diferente:
-
cdk driftllama a la operación de detección de desviaciones de CloudFormation para comparar el estado real de los recursos AWS (“realidad”) con su configuración esperada en CloudFormation. No todos los recursos de AWS admiten la detección de desviaciones. Para ver la lista de recursos de admitidos, consulte Tipo de recursos admitidos en la Guía del usuario de AWS CloudFormation. -
cdk diffcompara la plantilla de CloudFormation sintetizada a partir del código CDK local con la plantilla de la pila de CloudFormation implementada.
Utilice cdk drift cuando necesite comprobar si los recursos se han modificado fuera de CloudFormation (por ejemplo, mediante la consola de AWS o la AWS CLI). Útilice cdk diff cuando desee obtener una vista previa de cómo afectarían los cambios en el código local a su infraestructura antes de la implementación.
Uso
$ cdk drift <arguments> <options>
Argumentos
- Nombre de pila
-
El nombre de la pila que desea comprobar si hay desviación. La pila debe implementarse previamente en CloudFormation para realizar la detección de desviaciones.
Tipo: cadena
Obligatorio: no
Si no se especifica ninguna pila, la detección de desviaciones se realizará en todas las pilas definidas en la aplicación de CDK.
Opciones
Para obtener una lista de las opciones globales que funcionan con todos los comandos de la CLI de CDK, consulte Opciones globales.
-
--fail <BOOLEAN> -
Si detecta una desviación, regrese con el código de salida 1.
Valor predeterminado:
false
-
--help, -h <BOOLEAN> -
Muestra la información de referencia del comando
cdk drift.
Ejemplos
Compruebe la desviación de una pila específica
$ cdk drift MyStackName
El comando generará resultados similares a los siguientes:
Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function 1 resource has drifted from their expected configuration ✨ Number of resources with drift: 1
Compruebe la desviación cuando se hayan eliminado los recursos
El siguiente ejemplo muestra cómo se ve el resultado cuando los recursos se modificaron y eliminaron:
Stack MyStackName Modified Resources [~] AWS::Lambda::Function MyFunction MyLambdaFunc1234ABCD └─ [~] /Description ├─ [-] My original hello world Lambda function └─ [+] My drifted hello world Lambda function Deleted Resources [-] AWS::CloudWatch::Alarm MyAlarm MyCWAlarmABCD1234 2 resources have drifted from their expected configuration ✨ Number of resources with drift: 2
Compruebe la desviación con el código de salida
Para que el comando devuelva un código de salida distinto a cero si detecta desviación:
$ cdk drift MyStackName --fail
Esto resulta útil en las canalizaciones de CI/CD para detectar y responder de forma automática a las desviaciones de la infraestructura.