Como muitas outras tarefas, o Terraform pode ser usado para criar e gerenciar um balde da AWS S3. Versão significa manter várias versões, ou você pode simplesmente chamá -las de variantes de um arquivo. A versão no AWS S3 pode ser usada para manter e restaurar diferentes variantes do objeto armazenado dentro dele. Isso tem muitos benefícios. Por exemplo, podemos restaurar itens excluídos acidentalmente.
O que vamos cobrir?
Neste guia, veremos como ativar a versão em um balde S3 usando o Terraform. Estamos trabalhando no Ubuntu 20.04 Sistema para este tutorial. Vamos começar agora.
O que você precisará?
Criando o balde AWS S3 usando o Terraform
Agora que vimos um pouco sobre o Terraform e, esperançosamente, você o teria instalado em nossa máquina local, podemos continuar nossa tarefa de trabalhar com S3. Como mencionado anteriormente, o Terraform usa vários arquivos de configuração para o fornecimento de recursos, e cada um desses arquivos deve residir em sua respectiva pasta/diretório de trabalho. Vamos criar um diretório para esse fim.
Passo 1. Comece criando uma pasta que conterá todos os arquivos de configuração e alterará seu diretório de terminal para o seguinte:
$ mkdir linuxhint-terraform && CD Linuxhint-Terraform
Passo 2. Vamos criar nosso primeiro arquivo de configuração, “Variáveis.tf ”, Isso conterá as informações sobre nossa região da AWS e o tipo de instância que queremos usar:
$ nano variáveis.tf
Agora, coloque o seguinte texto dentro dele e salve o arquivo:
variável "aws_region"
Descrição = "A região da AWS para criar o balde S3 em."
default = "EUA-East-1"
variável "bucket_name"
Descrição = “Um nome único para o balde”
default = “tecofers-4”
"TECOFERS-4" é o nome do nosso balde, e você pode usar seu próprio nome aqui.
etapa 3. Fazer um "principal.tf ” arquivo que conterá a definição para nossa infraestrutura.
$ nano Main.tf
Agora, coloque a seguinte configuração dentro dele:
TerraformMudar o "Seu nome de usuário" para o nome de usuário do seu sistema. Vamos ver os parâmetros usados nos arquivos anteriores:
balde: É um parâmetro opcional quando especificado cria um novo balde. Se esse argumento não estiver presente, o Terraform dará ao balde um nome aleatório e único. O nome do balde precisa estar em minúsculas, com o comprimento não superior a 63 caracteres.
Shared_credentials_file: É o caminho do arquivo que contém as credenciais dos usuários da AWS.
Perfil: Ele especifica o perfil do usuário para criar o balde S3.
O recurso “AWS_S3_BUCKET” e “AWS_S3_BUCKET_ACL” Fornece um balde e um recurso ACL (configuração da ACL) para o balde. O "ACL" O argumento é opcional e fornece um conjunto de subsídios predefinidos projetados pela Amazon.
Da mesma forma, o recurso “AWS_S3_BUCKET_VERSIONING” Fornece um recurso para controle de versão em um balde S3. O bloco Versioning_Configuration definido neste bloco contém a configuração necessária para esse fim. O argumento do status é obrigatório e pode conter um único valor entre: ativado, desativado e suspenso.
Inicializando o diretório Terraform
Para baixar e instalar o provedor, definimos em nossa configuração e outros arquivos. Precisamos inicializar o diretório que contém este arquivo:
$ Terraform init
Construindo a infraestrutura
Agora que preparamos nossos arquivos de configuração, podemos aplicar as alterações usando o seguinte comando:
$ Terraform se aplica
Digitar "sim" no terminal quando solicitado. Quando o Terraform termina seu trabalho, a seguinte mensagem é exibida:
Verificando o procedimento
Agora, vamos verificar se o balde S3 desejado é criado. Vá para o console S3 e verifique os baldes disponíveis:
Como nosso balde foi criado com sucesso, agora podemos fazer upload de arquivos e criar novas pastas aqui.
Exclua os recursos que você criou quando não precisar deles. Isso o salvará de cobranças indesejadas na AWS:
$ Terraform Destruir
Conclusão
Neste guia, aprendemos sobre a ativação de versões em um balde S3 usando Terraform. Criamos um bucket e aplicou uma versão para ele. Há tantas coisas que podemos fazer usando o Terraform para simplificar nossa implantação de infraestrutura.