Precaución
Este repositorio de aws-nuke ya no se mantiene activamente. Recomendamos a los usuarios que cambien a la bifurcación mantenida activamente de este proyecto en ekristen/aws-nuke. Agradecemos todo el apoyo y contribuciones que hemos recibido a lo largo de la vida de este proyecto. Creemos que la bifurcación seguirá brindando la funcionalidad y el soporte que espera de aws-nuke. Tenga en cuenta que esta desaprobación significa que no abordaremos problemas, no aceptaremos solicitudes de extracción ni realizaremos versiones futuras desde este repositorio. Gracias por su comprensión y apoyo.
Elimine todos los recursos de una cuenta de AWS.
El estado de desarrollo de AWS-Nuke es estable, pero es probable que no todos los recursos de AWS estén cubiertos. Anímate a agregar los recursos que faltan y crear una solicitud de extracción o crear un problema.
Tenga en cuenta que aws-nuke es una herramienta muy destructiva, por lo que debe tener mucho cuidado al utilizarla. De lo contrario, podría eliminar datos de producción.
Le recomendamos encarecidamente que no ejecute esta aplicación en ninguna cuenta de AWS, donde no puede permitirse el lujo de perder todos los recursos.
Para reducir el radio de explosión de los accidentes, existen algunas precauciones de seguridad:
--no-dry-run
para eliminar recursos.prod
. Esta cadena está codificada y se recomienda agregarla a cada cuenta de producción real (por ejemplo, mycompany-production-ecr
).No dude en crear un problema si tiene alguna idea para mejorar los procedimientos de seguridad.
Por lo general, lanzamos una nueva versión una vez que se han reunido suficientes cambios y se han probado durante un tiempo.
Puede encontrar archivos binarios de Linux, macOS y Windows en la página de lanzamientos, pero también ofrecemos versiones en contenedores en quay.io/rebuy/aws-nuke y docker.io/rebuy/aws-nuke. Ambos están disponibles para múltiples arquitecturas (amd64, arm64 y armv7).
Al principio necesitas crear un archivo de configuración para aws-nuke . Este es mínimo:
regions :
- eu-west-1
- global
account-blocklist :
- " 999999999999 " # production
accounts :
" 000000000000 " : {} # aws-nuke-example
Con esta configuración podemos ejecutar aws-nuke :
$ aws-nuke -c config/nuke-config.yml --profile aws-nuke-example
aws-nuke version v1.0.39.gc2f318f - Fri Jul 28 16:26:41 CEST 2017 - c2f318f37b7d2dec0e646da3d4d05ab5296d5bce
Do you really want to nuke the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - would remove
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - would remove
eu-west-1 - EC2KeyPair - 'test' - would remove
eu-west-1 - EC2NetworkACL - 'acl-6482a303' - cannot delete default VPC
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - would remove
eu-west-1 - EC2SecurityGroup - 'sg-220e945a' - cannot delete group 'default'
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - would remove
eu-west-1 - EC2Subnet - 'subnet-154d844e' - would remove
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - would remove
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - would remove
eu-west-1 - IAMUserAccessKey - 'my-user -> ABCDEFGHIJKLMNOPQRST' - would remove
eu-west-1 - IAMUserPolicyAttachment - 'my-user -> AdministratorAccess' - [UserName: "my-user", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
eu-west-1 - IAMUser - 'my-user' - would remove
Scan complete: 13 total, 11 nukeable, 2 filtered.
Would delete these resources. Provide --no-dry-run to actually destroy resources.
Como vemos, aws-nuke solo enumera todos los recursos y salidas encontrados. Esto se debe a que falta el indicador --no-dry-run
. También quiere eliminar al administrador. No queremos hacer esto porque utilizamos este usuario para acceder a nuestra cuenta. Por lo tanto tenemos que extender la configuración para que ignore a este usuario:
regions :
- eu-west-1
account-blocklist :
- " 999999999999 " # production
accounts :
" 000000000000 " : # aws-nuke-example
filters :
IAMUser :
- " my-user "
IAMUserPolicyAttachment :
- " my-user -> AdministratorAccess "
IAMUserAccessKey :
- " my-user -> ABCDEFGHIJKLMNOPQRST "
$ aws-nuke -c config/nuke-config.yml --profile aws-nuke-example --no-dry-run
aws-nuke version v1.0.39.gc2f318f - Fri Jul 28 16:26:41 CEST 2017 - c2f318f37b7d2dec0e646da3d4d05ab5296d5bce
Do you really want to nuke the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - would remove
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - would remove
eu-west-1 - EC2KeyPair - 'test' - would remove
eu-west-1 - EC2NetworkACL - 'acl-6482a303' - cannot delete default VPC
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - would remove
eu-west-1 - EC2SecurityGroup - 'sg-220e945a' - cannot delete group 'default'
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - would remove
eu-west-1 - EC2Subnet - 'subnet-154d844e' - would remove
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - would remove
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - would remove
eu-west-1 - IAMUserAccessKey - 'my-user -> ABCDEFGHIJKLMNOPQRST' - filtered by config
eu-west-1 - IAMUserPolicyAttachment - 'my-user -> AdministratorAccess' - [UserName: "my-user", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
eu-west-1 - IAMUser - 'my-user' - filtered by config
Scan complete: 13 total, 8 nukeable, 5 filtered.
Do you really want to nuke these resources on the account with the ID 000000000000 and the alias 'aws-nuke-example'?
Do you want to continue? Enter account alias to continue.
> aws-nuke-example
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - failed
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - triggered remove
eu-west-1 - EC2KeyPair - 'test' - triggered remove
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - failed
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - failed
eu-west-1 - EC2Subnet - 'subnet-154d844e' - failed
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - failed
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - failed
eu-west-1 - S3Object - 's3://rebuy-terraform-state-138758637120/run-terraform.lock' - triggered remove
Removal requested: 2 waiting, 6 failed, 5 skipped, 0 finished
eu-west-1 - EC2DHCPOption - 'dopt-bf2ec3d8' - failed
eu-west-1 - EC2Instance - 'i-01b489457a60298dd' - waiting
eu-west-1 - EC2KeyPair - 'test' - removed
eu-west-1 - EC2RouteTable - 'rtb-ffe91e99' - failed
eu-west-1 - EC2SecurityGroup - 'sg-f20f958a' - failed
eu-west-1 - EC2Subnet - 'subnet-154d844e' - failed
eu-west-1 - EC2Volume - 'vol-0ddfb15461a00c3e2' - failed
eu-west-1 - EC2VPC - 'vpc-c6159fa1' - failed
Removal requested: 1 waiting, 6 failed, 5 skipped, 1 finished
--- truncating long output ---
Como puede ver, aws-nuke ahora intenta eliminar todos los recursos que no están filtrados, sin importar las dependencias entre ellos. Esto da como resultado errores de API que pueden ignorarse. Estos errores se muestran al final de la ejecución de aws-nuke , si siguen apareciendo.
aws-nuke vuelve a intentar eliminar todos los recursos hasta que se eliminen todos los especificados o hasta que solo queden recursos con errores.
Hay dos formas de autenticar aws-nuke . Hay credenciales y perfiles estáticos. El último se puede configurar en el archivo de credenciales compartido (es decir, ~/.aws/credentials
) o en el archivo de configuración compartido (es decir, ~/.aws/config
).
Para utilizar credenciales estáticas , se requieren los indicadores de línea de comando --access-key-id
y --secret-access-key
. La bandera --session-token
solo es necesaria para sesiones temporales.
Para utilizar perfiles compartidos, se requiere la marca de línea de comando --profile
. El perfil debe definirse con credenciales estáticas en el archivo de credenciales compartido o en un archivo de configuración compartido con una función asumida.
Es posible configurar aws-nuke para que se ejecute en puntos finales de AWS no predeterminados. Podría usarse para pruebas de integración que apunten a un punto final local, como un dispositivo S3 o un clúster Stratoscale, por ejemplo.
Para configurar aws-nuke para usar puntos finales personalizados, agregue las directivas de configuración como se muestra en el siguiente ejemplo:
regions :
- demo10
# inspired by https://www.terraform.io/docs/providers/aws/guides/custom-service-endpoints.html
endpoints :
- region : demo10
tls_insecure_skip_verify : true
services :
- service : ec2
url : https://10.16.145.115/api/v2/aws/ec2
- service : s3
url : https://10.16.145.115:1060
- service : rds
url : https://10.16.145.115/api/v2/aws/rds
- service : elbv2
url : https://10.16.145.115/api/v2/aws/elbv2
- service : efs
url : https://10.16.145.115/api/v2/aws/efs
- service : emr
url : https://10.16.145.115/api/v2/aws/emr
- service : autoscaling
url : https://10.16.145.115/api/v2/aws/autoscaling
- service : cloudwatch
url : https://10.16.145.115/api/v2/aws/cloudwatch
- service : sns
url : https://10.16.145.115/api/v2/aws/sns
- service : iam
url : https://10.16.145.115/api/v2/aws/iam
- service : acm
url : https://10.16.145.115/api/v2/aws/acm
account-blocklist :
- " account-id-of-custom-region-prod " # production
accounts :
" account-id-of-custom-region-demo10 " :
Luego esto se puede utilizar de la siguiente manera:
$ aws-nuke -c config/my.yaml --access-key-id --secret-access-key --default-region demo10
aws-nuke version v2.11.0.2.gf0ad3ac.dirty - Tue Nov 26 19:15:12 IST 2019 - f0ad3aca55eb66b93b88ce2375f8ad06a7ca856f
Do you really want to nuke the account with the ID account-id-of-custom-region-demo10 and the alias 'account-id-of-custom-region-demo10'?
Do you want to continue? Enter account alias to continue.
> account-id-of-custom-region-demo10
demo10 - EC2Volume - vol-099aa1bb08454fd5bc3499897f175fd8 - [tag:Name: "volume_of_5559b38e-0a56-4078-9a6f-eb446c21cadf"] - would remove
demo10 - EC2Volume - vol-11e9b09c71924354bcb4ee77e547e7db - [tag:Name: "volume_of_e4f8c806-0235-4578-8c08-dce45d4c2952"] - would remove
demo10 - EC2Volume - vol-1a10cb3f3119451997422c435abf4275 - [tag:Name: "volume-dd2e4c4a"] - would remove
demo10 - EC2Volume - vol-1a2e649df1ef449686ef8771a078bb4e - [tag:Name: "web-server-5"] - would remove
demo10 - EC2Volume - vol-481d09bbeb334ec481c12beee6f3012e - [tag:Name: "volume_of_15b606ce-9dcd-4573-b7b1-4329bc236726"] - would remove
demo10 - EC2Volume - vol-48f6bd2bebb945848b029c80b0f2de02 - [tag:Name: "Data volume for 555e9f8a"] - would remove
demo10 - EC2Volume - vol-49f0762d84f0439da805d11b6abc1fee - [tag:Name: "Data volume for acb7f3a5"] - would remove
demo10 - EC2Volume - vol-4c34656f823542b2837ac4eaff64762b - [tag:Name: "wpdb"] - would remove
demo10 - EC2Volume - vol-875f091078134fee8d1fe3b1156a4fce - [tag:Name: "volume-f1a7c95f"] - would remove
demo10 - EC2Volume - vol-8776a0d5bd4e4aefadfa8038425edb20 - [tag:Name: "web-server-6"] - would remove
demo10 - EC2Volume - vol-8ed468bfab0b42c3bc617479b8f33600 - [tag:Name: "web-server-3"] - would remove
demo10 - EC2Volume - vol-94e0370b6ab54f03822095d74b7934b2 - [tag:Name: "web-server-2"] - would remove
demo10 - EC2Volume - vol-9ece34dfa7f64dd583ab903a1273340c - [tag:Name: "volume-4ccafc2e"] - would remove
demo10 - EC2Volume - vol-a3fb3e8800c94452aff2fcec7f06c26b - [tag:Name: "web-server-0"] - would remove
demo10 - EC2Volume - vol-a53954e17cb749a283d030f26bbaf200 - [tag:Name: "volume-5484e330"] - would remove
demo10 - EC2Volume - vol-a7afe64f4d0f4965a6703cc0cfab2ba4 - [tag:Name: "Data volume for f1a7c95f"] - would remove
demo10 - EC2Volume - vol-d0bc3f2c887f4072a9fda0b8915d94c1 - [tag:Name: "physical_volume_of_39c29f53-eac4-4f02-9781-90512cc7c563"] - would remove
demo10 - EC2Volume - vol-d1f066d8dac54ae59d087d7e9947e8a9 - [tag:Name: "Data volume for 4ccafc2e"] - would remove
demo10 - EC2Volume - vol-d9adb3f084cd4d588baa08690349b1f9 - [tag:Name: "volume_of_84854c9b-98aa-4f5b-926a-38b3398c3ad2"] - would remove
demo10 - EC2Volume - vol-db42e471b19f42b7835442545214bc1a - [tag:Name: "lb-tf-lb-20191126090616258000000002"] - would remove
demo10 - EC2Volume - vol-db80932fb47243efa67c9dd34223c647 - [tag:Name: "web-server-5"] - would remove
demo10 - EC2Volume - vol-dbea1d1083654d30a43366807a125aed - [tag:Name: "volume-555e9f8a"] - would remove
--- truncating long output ---
aws-nuke elimina muchos recursos y es posible que se agreguen más en cualquier versión. Finalmente, todos los recursos deberían eliminarse. Es posible que desee restringir qué recursos eliminar. Hay varias formas de configurar esto.
Una forma son los filtros, que ya se mencionaron. Esto requiere conocer el identificador de cada recurso. También es posible evitar que se eliminen tipos completos de recursos (por ejemplo, S3Bucket
) con dos métodos.
--target
limita el ataque nuclear a los tipos de recursos especificados.--exclude
evita la destrucción de los tipos de recursos especificados.También es posible configurar los tipos de recursos en el archivo de configuración como en estos ejemplos:
---
regions:
- "eu-west-1"
account-blocklist:
- 1234567890
resource-types:
# only nuke these three resources
targets:
- S3Object
- S3Bucket
- IAMRole
accounts:
555133742: {}
---
regions:
- "eu-west-1"
account-blocklist:
- 1234567890
resource-types:
# don't nuke IAM users
excludes:
- IAMUser
accounts:
555133742: {}
Si los destinos se especifican en varios lugares (por ejemplo, CLI y cuenta específica), entonces se debe especificar un tipo de recurso en todos los lugares. Es decir cada configuración limita a las anteriores.
Si se utiliza una exclusión, no se eliminarán todos sus tipos de recursos.
Sugerencia: puede ver todos los tipos de recursos disponibles con este comando:
aws-nuke resource-types
Esta función aún no se ha lanzado y probablemente forme parte de
v2.18
.
aws-nuke admite la eliminación de recursos a través de la API de AWS Cloud Control. Al ejecutar aws-nuke, eliminará automáticamente un conjunto de recursos administrados manualmente a través de Cloud Control.
Solo se eliminará automáticamente un subconjunto de recursos compatibles con Cloud Control, porque es posible que haya recursos que ya se hayan implementado y agregarlos también omitiría los filtros existentes en las configuraciones de usuario, ya que Cloud Control tiene otro esquema de nombres y un conjunto diferente de propiedades. Además, hay algunos recursos de Cloud Control que necesitan un manejo especial que aún no es compatible con aws-nuke .
Aunque el subconjunto de recursos de Cloud Control admitidos automáticamente es limitado, puede configurar aws-nuke para que pruebe cualquier recurso adicional. Ya sea a través de indicadores de línea de comando o mediante el archivo de configuración.
Para el archivo de configuración, debe agregar el recurso a la lista resource-types.cloud-control
:
resource-types :
cloud-control :
- AWS::EC2::TransitGateway
- AWS::EC2::VPC
Si desea utilizar la línea de comando, debe agregar un indicador --cloud-control
para cada recurso que desee agregar:
aws-nuke
-c nuke-config.yaml
--cloud-control AWS::EC2::TransitGateway
--cloud-control AWS::EC2::VPC
Nota: Hay algunos recursos que son compatibles con Cloud Control y que ya están implementados de forma nativa por aws-nuke . Si configura para usar Cloud Control para esos recursos, no ejecutará el código implementado de forma nativa para este recurso. Por ejemplo, con --cloud-control AWS::EC2::VPC
no utilizará el recurso EC2VPC
.
Hay algunas características que son bastante obstinadas. Para que funcionen para todos, aws-nuke tiene indicadores para habilitar esas funciones manualmente. Estos se pueden configurar en el nivel raíz de la configuración, así:
---
feature-flags :
disable-deletion-protection :
RDSInstance : true
EC2Instance : true
CloudformationStack : true
force-delete-lightsail-addons : true
Es posible filtrar, esto es importante para no eliminar al usuario actual, por ejemplo, o para recursos como S3 Buckets que tienen un espacio de nombres compartido globalmente y pueden ser difíciles de recrear. Actualmente el filtrado se basa en el identificador del recurso. El identificador se imprimirá como primer paso de aws-nuke (por ejemplo, i-01b489457a60298dd
para una instancia EC2).
Nota: Incluso con filtros, no debe ejecutar aws-nuke en ninguna cuenta de AWS, donde no puede permitirse el lujo de perder todos los recursos. Es fácil cometer errores en la configuración del filtro. Además, dado que aws-nuke está en continuo desarrollo, siempre existe la posibilidad de introducir nuevos errores, sin importar cuán cuidadosos revisemos el código nuevo.
Los filtros son parte de la configuración específica de la cuenta y están agrupados por tipos de recursos. Este es un ejemplo de una configuración que elimina todos los recursos excepto el usuario admin
con sus permisos de acceso y dos claves de acceso:
---
regions :
- global
- eu-west-1
account-blocklist :
- 1234567890
accounts :
0987654321 :
filters :
IAMUser :
- " admin "
IAMUserPolicyAttachment :
- " admin -> AdministratorAccess "
IAMUserAccessKey :
- " admin -> AKSDAFRETERSDF "
- " admin -> AFGDSGRTEWSFEY "
Se omitirá cualquier recurso cuyo identificador de recurso coincida exactamente con cualquiera de los filtros de la lista. Estos se marcarán como "filtrados por configuración" en la ejecución de aws-nuke .
Algunos recursos admiten el filtrado mediante propiedades. Cuando un recurso admite estas propiedades, se enumerarán en el resultado como en este ejemplo:
global - IAMUserPolicyAttachment - 'admin -> AdministratorAccess' - [RoleName: "admin", PolicyArn: "arn:aws:iam::aws:policy/AdministratorAccess", PolicyName: "AdministratorAccess"] - would remove
Para utilizar propiedades, es necesario especificar un objeto con properties
y value
en lugar de una cadena simple.
Estos tipos se pueden utilizar para simplificar la configuración. Por ejemplo, es posible proteger todas las claves de acceso de un único usuario:
IAMUserAccessKey :
- property : UserName
value : " admin "
También existen tipos de comparación adicionales además de una coincidencia exacta:
exact
: el identificador debe coincidir exactamente con la cadena proporcionada. Este es el valor predeterminado.contains
: el identificador debe contener la cadena proporcionada.glob
: el identificador debe coincidir con el patrón global dado. Esto significa que la cadena puede contener comodines como *
y ?
. Tenga en cuenta que la globalización está diseñada para rutas de archivos, por lo que los comodines no coinciden con el separador de directorio ( /
). Los detalles sobre el patrón global se pueden encontrar en la documentación de la biblioteca.regex
: el identificador debe coincidir con la expresión regular dada. Los detalles sobre la sintaxis se pueden encontrar en la documentación de la biblioteca.dateOlderThan
: el identificador se analiza como una marca de tiempo. Después de agregarle el desplazamiento (especificado en el campo value
), la marca de tiempo resultante debe ser DESPUÉS de la hora actual. Los detalles sobre la sintaxis de desplazamiento se pueden encontrar en la documentación de la biblioteca. Los formatos de fecha admitidos son la época, 2006-01-02
, 2006/01/02
, 2006-01-02T15:04:05Z
, 2006-01-02T15:04:05.999999999Z07:00
y 2006-01-02T15:04:05Z07:00
. Para utilizar un tipo de comparación no predeterminado, es necesario especificar un objeto con type
y value
en lugar de la cadena simple.
Estos tipos se pueden utilizar para simplificar la configuración. Por ejemplo, es posible proteger todas las claves de acceso de un único usuario utilizando glob
:
IAMUserAccessKey :
- type : glob
value : " admin -> * "
También es posible utilizar propiedades de filtro y tipos de filtro juntos. Por ejemplo, para proteger todas las zonas alojadas de un TLD específico:
Route53HostedZone :
- property : Name
type : glob
value : " *.rebuy.cloud. "
Cualquier resultado del filtro se puede invertir usando invert: true
, por ejemplo:
CloudFormationStack :
- property : Name
value : " foo "
invert : true
En este caso se filtrarán todos los CloudFormationStack excepto los llamados "foo". Tenga en cuenta que aws-nuke toma internamente todos los recursos y les aplica todos los filtros. Si un filtro coincide, marca el nodo como filtrado.
Puede darse el caso de que algunos filtros sean los mismos en varias cuentas. Esto podría suceder especialmente si se utilizan herramientas de aprovisionamiento como Terraform o si los recursos de IAM siguen el mismo patrón.
En este caso, aws-nuke admite filtros preestablecidos, que se pueden aplicar en varias cuentas. Una configuración podría verse así:
---
regions :
- " global "
- " eu-west-1 "
account-blocklist :
- 1234567890
accounts :
555421337 :
presets :
- " common "
555133742 :
presets :
- " common "
- " terraform "
555134237 :
presets :
- " common "
- " terraform "
filters :
EC2KeyPair :
- " notebook "
presets :
terraform :
filters :
S3Bucket :
- type : glob
value : " my-statebucket-* "
DynamoDBTable :
- " terraform-lock "
common :
filters :
IAMRole :
- " OrganizationAccountAccessRole "
brew install aws-nuke
La forma más sencilla de instalarlo es descargar la última versión de GitHub.
Descargue y extraiga $ wget -c https://github.com/rebuy-de/aws-nuke/releases/download/v2.25.0/aws-nuke-v2.25.0-linux-amd64.tar.gz -O - | tar -xz -C $HOME/bin
Ejecute $ aws-nuke-v2.25.0-linux-amd64
Para compilar aws-nuke desde el código fuente, necesita un entorno de desarrollo Golang que funcione. Las fuentes deben clonarse en $GOPATH/src/github.com/rebuy-de/aws-nuke
.
También necesitas instalar golint y GNU Make.
Luego solo necesita ejecutar make build
para compilar un binario en el directorio del proyecto o make install
go install aws-nuke en $GOPATH/bin
. Con make xc
puedes realizar una compilación cruzada de aws-nuke para otras plataformas.
Puede ejecutar aws-nuke con Docker usando un comando como este:
$ docker run
--rm -it
-v /full-path/to/nuke-config.yml:/home/aws-nuke/config.yml
-v /home/user/.aws:/home/aws-nuke/.aws
quay.io/rebuy/aws-nuke:v2.25.0
--profile default
--config /home/aws-nuke/config.yml
Para que funcione, debe ajustar las rutas para la configuración de AWS y la configuración de aws-nuke .
También debe especificar el perfil de AWS correcto. En lugar de montar el directorio de AWS, puede utilizar los indicadores --access-key-id
y --secret-access-key
.
Asegúrese de utilizar la última versión en la etiqueta de imagen. Alternativamente, puedes usar main
para la última versión de desarrollo, pero ten en cuenta que es más probable que esto se rompa en cualquier momento.
Para realizar una prueba unitaria aws-nuke , algunas pruebas requieren la ejecución de gomock. Esto se ejecutará mediante go generate ./...
, pero se ejecuta automáticamente mediante make test
. Para ejecutar las pruebas unitarias:
make test
No dudes en crear un problema de GitHub para cualquier informe de error o solicitud de funciones. Utilice nuestra lista de correo si tiene preguntas: [email protected]. También puede buscar en el archivo de la lista de correo si alguien ya tuvo el mismo problema: https://groups.google.com/d/forum/aws-nuke
Puede contribuir a aws-nuke bifurcando este repositorio, realizando cambios y creando una solicitud de extracción en nuestro repositorio. Si no está seguro de cómo resolver un problema o tiene otras preguntas sobre las contribuciones, cree una incidencia en GitHub.