Como excluir o balde S3 usando a AWS CLI

Como excluir o balde S3 usando a AWS CLI
S3 (serviço de armazenamento simples) é um serviço de armazenamento fornecido pela AWS para armazenar dados na forma de objetos. O tamanho de um único objeto pode ser de até 5 TB e é carregado para S3 usando upload de várias partes. No S3, existem baldes que são usados ​​para armazenar dados. Bucket é como uma pasta ou diretório no sistema, e seu nome deve ser universalmente único (i.e., Você não pode criar um balde com o nome que já existe em outra conta da AWS). Os baldes são criados em uma região específica e você pode obter todos os baldes de todas as regiões do console S3 sem especificar nenhuma região. A AWS fornece APIs para executar ações diferentes no S3, como criar ou excluir os baldes ou enviar os dados em baldes S3 etc. Este blog usará a interface da linha de comando da AWS para excluir o balde S3 na AWS. A seguir, o esboço, que será seguido ao longo do blog.
  • Instalação awscli pacote em um sistema local
  • Atribuir permissões ao usuário
  • Gerar e configurar o ID da chave de acesso e a chave de acesso secreto
  • Exclua o balde S3 usando CLI

Instalando o pacote AWSCLI no sistema local

A primeira etapa para executar algumas tarefas na AWS usando a interface da linha de comando é instalar o awscli Pacote, usado para enviar chamadas de API para a AWS de uma máquina local. No Ubuntu, use o seguinte comando para instalar o awscli pacote.

ubuntu@ubuntu: ~ $ sudo apt update -y
ubuntu@ubuntu: ~ $ curl "https: // awscli.Amazonaws.COM/AWSCLI-OXE-Linux-X86_64.zip "-o" awscliv2.fecho eclair"

O comando acima baixará os binários do awscli pacote. Descompactar e instalar o pacote usando os seguintes comandos.

ubuntu@ubuntu: ~ $ descompacto awscliv2.fecho eclair
ubuntu@ubuntu: ~ $ sudo ./AWS/instalação

Atribuir permissões ao usuário

A AWS fornece funções e políticas do IAM para limitar o acesso ao usuário aos diferentes recursos da AWS. Antes de executar qualquer ação na AWS, sua conta de usuário deve ter permissões específicas anexadas. Esta seção atribuirá permissões à conta de usuário necessária para executar tarefas diferentes no S3. Primeiro, faça login no console de gerenciamento da AWS e vá para o serviço IAM.

Do painel no lado esquerdo do console do IAM, clique em Usuários.

Na lista de usuários, clique no nome de usuário.

De Permissões guia, clique no Adicionar política embutida.

De Editor visual guia, selecione S3 como serviço, Todas as ações S3 como ações e Todos os recursos como recursos e clique no Política de revisão botão no canto inferior direito da página.

Na página de revisão, insira o nome da política e clique em Criar política botão no canto inferior direito da página para criar a política.

Gerar e configurar o ID da chave de acesso e a chave de acesso secreto

Para usar a interface da linha de comando da AWS em sua máquina local, você deve ter algumas credenciais para autorizar seus pedidos. Para a interface da linha de comando da AWS, AWS ID da chave de acesso e Chave de acesso secreto são usados ​​como credenciais. Nesta seção, geraremos e configuraremos essas credenciais em nosso sistema local. Do console do IAM, vá para o Usuários e depois clique no nome de usuário.

Mude para o Credenciais de segurança aba.

Role para baixo até o Chaves de acesso seção e clique no Crie a chave de acesso botão.

Irá gerar o ID da chave de acesso e Chave de acesso secreto. Clique no Download .Arquivo CSV botão, e ele baixará as credenciais do seu sistema.

Depois de gerar e baixar as credenciais da linha de comando da AWS, agora use o terminal no seu sistema local para configurá-los. Use o AWS Configurar comando para configurar as credenciais.

ubuntu@ubuntu: ~ $ AWS Configurar

O comando acima solicitará o ID da chave de acesso e a chave de acesso secreto.

Exclua o balde S3 usando CLI

Até agora, atribuímos permissões específicas à conta de usuário e geramos e configuramos as credenciais da linha de comando da AWS no sistema local; Agora, usaremos a interface da linha de comando da AWS para excluir o balde S3. Primeiro, liste todos os baldes disponíveis usando a interface da linha de comando da AWS em seu sistema local.

ubuntu@ubuntu: ~ $ aws s3 ls

O comando acima listará todos os baldes disponíveis no S3. Para excluir o balde, primeiro, esvazie o balde removendo todos os arquivos e pastas dentro dele.

OBSERVAÇÃO: Antes de remover arquivos do balde, verifique se você tem um backup dos dados, pois depois de remover os dados, você não poderá recuperá -los novamente. Além disso, removendo dados usando a AWS CLI, ele não solicita confirmação.

Use o seguinte comando para remover cada arquivo e pasta recursivamente.

ubuntu@ubuntu: ~ $ AWS S3 RM -Recursivo

Depois de remover todos os dados do balde S3, agora remova o balde usando o seguinte comando.

ubuntu@ubuntu: ~ $ aws s3 rb

OBSERVAÇÃO: Buckets S3 com versão ativada não pode ser excluída usando a interface da linha de comando da AWS. A AWS fornece apenas SDK (BOTO3 para Python), API REST e acesso ao console para excluir o balde S3 com a versão ativada. Visite a documentação da AWS para saber mais sobre como excluir o balde S3 com a versão ativada (https: // docs.AWS.Amazonas.com/amazons3/mais recente/userGuide/deletingObjectversions.html).

Depois de excluir o balde S3, agora liste todos os baldes novamente para verificar se o balde foi excluído.

Para verificar se o balde é excluído ou não do console, o primeiro log no console de gerenciamento da AWS e vá para o serviço S3.

No painel lateral esquerdo, selecione o Baldes, E ele exibirá todos os baldes S3 lá.

Verifique se o seu balde excluído não está lá.

Conclusão

O awscli O pacote é usado para executar tarefas diferentes usando a interface da linha de comando no seu sistema local. Uma interface de linha de comando é uma ferramenta poderosa enquanto automatiza e agendando tarefas diferentes na AWS escrevendo scripts. Este blog descreve etapas diferentes, como instalar o awscli pacote, atribuindo permissões ao usuário do IAM e gerando ID de chave de acesso e chave de acesso secreto para excluir um balde S3 usando a interface da linha de comando.