Al igual que muchas otras tareas, Terraform se puede usar para crear y administrar un cubo AWS S3. Versiones significa mantener varias versiones, o simplemente puede llamarlos variantes de un archivo. Los versiones en AWS S3 se pueden usar para mantener y restaurar diferentes variantes del objeto almacenado dentro de él. Esto tiene muchos beneficios. Por ejemplo, podemos restaurar los elementos eliminados accidentalmente.
¿Qué cubriremos??
En esta guía, veremos cómo habilitar el versiones en un cubo S3 usando Terraform. Estamos trabajando en el Ubuntu 20.04 Sistema para este tutorial. Empecemos ahora.
Que necesitarás?
Creando un cubo AWS S3 usando Terraform
Ahora que hemos visto un poco sobre Terraform y, con suerte, lo habría instalado en nuestra máquina local, podemos continuar nuestra tarea de trabajar con S3. Como se mencionó anteriormente, Terraform utiliza varios archivos de configuración para aprovisionar los recursos, y cada uno de estos archivos debe residir en su respectiva carpeta/directorio de trabajo. Creemos un directorio para este propósito.
Paso 1. Comience creando una carpeta que contenga todos los archivos de configuración y luego cambie su directorio de terminal a lo siguiente:
$ mkdir linuxhint-teraform && cd linuxhint-terraform
Paso 2. Permítanos crear nuestro primer archivo de configuración, "Variables.tf ", que contendrá la información sobre nuestra región de AWS y el tipo de instancia que queremos usar:
$ nano variables.TF
Ahora, coloque el siguiente texto dentro y guarde el archivo:
variable "aws_region"
descripción = "La región de AWS para crear el cubo S3 en."
predeterminado = "us-east-1"
variable "bucket_name"
descripción = "Un nombre único para el balde"
predeterminado = "tecofers-4"
"Tecofers-4" es el nombre de nuestro cubo, y puedes usar tu propio nombre aquí.
Paso 3. Hacer una "principal.tf " archivo que contendrá la definición de nuestra infraestructura.
$ nano principal.TF
Ahora, coloque la siguiente configuración dentro:
TerraformCambiar el "Su nombre de usuario" al nombre de usuario de su sistema. Veamos los parámetros utilizados en los archivos anteriores:
balde: Es un parámetro opcional cuando se especifica crea un nuevo cubo. Si este argumento no está presente, el Terraform le dará al balde un nombre aleatorio y único. El nombre del cubo debe estar en minúsculas, con la longitud que no exceda de 63 caracteres.
Shared_credentials_file: Es la ruta del archivo que contiene las credenciales de los usuarios de AWS.
Perfil: Especifica el perfil del usuario para crear el cubo S3.
El recurso "AWS_S3_Bucket" y "AWS_S3_BUCKET_ACL" Proporciona un cubo y un recurso de ACL (configuración de ACL) para el cubo. El "ACL" El argumento es opcional y proporciona un conjunto de subvenciones predefinidas diseñadas por Amazon.
Del mismo modo, el recurso "AWS_S3_BUCKET_VERSIONing" Proporciona un recurso para el control de versiones en un cubo S3. El bloque de Versioning_Configuration definido en este bloque contiene la configuración requerida para este propósito. El argumento de estado es obligatorio y puede contener un valor único entre: habilitado, deshabilitado y suspendido.
Inicializando el directorio de Terraform
Para descargar e instalar el proveedor, definimos en nuestra configuración y otros archivos. Necesitamos inicializar el directorio que contiene este archivo:
$ Terraform init
Construyendo la infraestructura
Ahora que hemos preparado nuestros archivos de configuración, podemos aplicar los cambios utilizando el siguiente comando:
$ Terraform se aplica
Ingresar "Sí" en la terminal cuando se le solicita. Cuando el Terraform termina su trabajo, aparece el siguiente mensaje:
Verificar el procedimiento
Ahora, verifiquemos si se crea el cubo S3 deseado. Dirígete a la consola S3 y verifica los cubos disponibles:
Dado que nuestro cubo se creó con éxito, ahora podemos cargar archivos y crear nuevas carpetas aquí.
Elimine los recursos que creó cuando no los necesita. Esto lo salvará de cargos no deseados en AWS:
$ Terraform Destro
Conclusión
En esta guía, hemos aprendido acerca de habilitar el versgo en un cubo S3 usando Terraform. Creamos un cubo y aplicamos versiones. Hay tantas cosas que podemos hacer usando Terraform para simplificar nuestra implementación de infraestructura.