Restaurando instantâneo do banco de dados RDS

Restaurando instantâneo do banco de dados RDS

O que é Amazon RDS?

Amazon RDS é um banco de dados relacional e um serviço baseado na Web. O que o torna diferente dos bancos de dados tradicionais é que é muito simples de configurar, gerenciar e, o mais importante, é escalável e fornece alta disponibilidade. A Amazon oferece várias opções de mecanismo de banco de dados para usar o RDS, e.g., Pode -se escolher entre os bancos de dados do Amazon Aurora, PostgreSQL, MySQL, Mariadb, Oracle e SQL Server. Isso é bom para as pessoas que pensam em migrar para a nuvem com seus aplicativos originais. A Amazon RDS foi projetada para dar o mesmo ambiente de trabalho na nuvem que você tem em seu ambiente local. Isso significa que, se você tiver um aplicativo executando o software MySQL on -prys, o mesmo aplicativo será executado sem problemas depois de migrá-lo para um banco de dados MySQL baseado em RDS, baseado em RDS.

Tipos de AWS RDS

A Amazon tem diferentes tipos de instâncias de banco de dados ou instâncias de banco de dados para executar o RDS. O banco de dados RDS em execução nessas instâncias de banco de dados, como mencionado anteriormente, é apoiado por mecanismos de banco de dados como PostgreSQL, MySQL, Mariadb etc. Pode -se usar o AWS Management Console, Amazon RDS APIs ou AWS CLI versão para criar uma instância RDS. Por enquanto, usaremos a abordagem da linha de comando para criar uma instância RDS.

O que vamos explorar aqui?

Este guia mostrará como restaurar um instantâneo de instância do MySQL RDS DB usando a AWS CLI. Estamos usando a abordagem da AWS CLI da perspectiva do usuário do IAM; No entanto, usamos o console de gerenciamento da conta de usuário raiz na AWS para criar o usuário do IAM e atribuí -lo as políticas necessárias. Usaremos esta conta de usuário do IAM com privilégios limitados. O mesmo tutorial também pode ser realizado usando o console de gerenciamento. Vamos agora seguir em frente com o usuário do AWS IAM.

Criando um usuário do IAM

Os provedores de serviços em nuvem geralmente oferecem um recurso de gerenciamento de identidade ou identidade e acesso para dar segurança extra a uma conta raiz do usuário. Em um ambiente de trabalho, dando a cada usuário acesso a uma conta raiz ou gerenciando serviços diretamente da raiz, a conta é vulnerável a ameaças de segurança. Em vez disso, podemos criar usuários com permissões específicas para evitar problemas de escalada de privilégios. Isso é semelhante à criação de usuários no Linux com acesso limitado a arquivos do sistema e outros recursos. Portanto, neste laboratório prático, criaremos um usuário do IAM com direitos mínimos de acesso necessário para executar operações de banco de dados RDS. O usuário poderá executar as operações abaixo:

1. Crie e exclua instantâneo de banco de dados

2. Restaure instantâneo de banco de dados

Para criar o usuário do IAM para as operações acima, siga as instruções abaixo:

Passo 1. Vá para o console do AWS IAM e clique no botão 'Adicionar usuários'.

Passo 2. Dê um nome adequado ao seu usuário e atribua uma senha. Como estamos interagindo com o usuário usando a AWS CLI, verificamos a caixa de carrapatos 'chave de acesso'. Além disso, também damos acesso ao console de gerenciamento a este usuário.

etapa 3. Nas etapas adicionais, também podemos adicionar esse usuário a um grupo, mas ignoramos isso por enquanto. Agora clique em 'Avançar: Tags' para continuar:

Passo 4. (Opcional), podemos adicionar tags (par de valores-chave) para organizar nosso usuário.

Etapa 5. Na próxima tela, revise as configurações do seu usuário:

Etapa 6. Ao clicar no botão 'Criar usuário', você será solicitado a baixar suas teclas de acesso. Mantenha essas chaves em segredo e coloque -as em algum lugar seguro, pois estão disponíveis para baixar apenas uma vez. Seu usuário agora estará disponível na seção de usuários do IAM:

Etapa 7. Agora, adicionaremos uma política embutida para esse usuário através do qual ele executará as operações de banco de dados acima especificadas. Na seção Usuários do IAM, clique em seu nome de usuário. Na nova tela, clique no rótulo 'Adicionar política embutida' na guia 'Permissões':

Um novo assistente nomeado como 'Create Policy' aparecerá onde você deve selecionar a guia JSON e colar o código abaixo:


"Versão": "2012-10-17",
"Declaração": [

"Efeito": "permitir",
"Ação": [
"EC2: descreva*",
"RDS: CreateDBParameterGroup",
"RDS: CreatedBsnapshot",
"RDS: DeletedBsnapshot",
"RDS: descreva*",
"RDS: DownloadDblogFilePoration",
"RDS: List*",
"RDS: ModifyDbInstance",
"RDS: ModifyDBParameterGroup",
"RDS: ModifyOptionGroup",
"RDS: rebootdbinStance",
"RDS: RestaoredBInstanceFromdbsnapshot",
"RDS: RestaoredBinStanceTopointIntime"
],
"Recurso": "*"

]

Observação: Você pode modificar esta política para permitir que o usuário execute outras operações baseadas em RDS.

Etapa 8. Agora clique no botão 'Política de revisão' na parte inferior:

Etapa 9. Dê um nome adequado à sua política e clique no botão "Criar política":

A política embutida acima agora pode ser vista no console de usuários do IAM:

Introdução à AWS CLI

Agora que criamos um usuário do IAM, podemos continuar com o AWS CLI. A interface da AWS CLI pode ser instalada no seu computador local. Instalamos a AWS CLI em nosso Ubuntu 20.04 Máquina. Agora vamos nos conectar à nossa conta do AWS IAM usando as credenciais do usuário que baixamos anteriormente ao criar esse usuário. O arquivo de credenciais, nomeado como 'new_user_credentials.CSV ', contém o' ID da chave de acesso ',' chave de acesso secreto ',' Link de login do console ', como mostrado abaixo:

Agora vamos configurar nosso terminal de máquina local para usá -lo com AWS. Abra um novo terminal e tipo:

$ AWS Configurar

Ele solicitará o ID da chave de acesso, a chave de acesso secreto, o nome da sua região preferida e o formato de saída (JSON, YAML, texto ou tabela). Digite suas credenciais e preferências aqui. Na figura abaixo, você pode ver quais valores selecionamos para esses parâmetros:

Tudo isso está configurando a AWS CLI para o nosso usuário do IAM.

Nós é uma instância de banco de dados com a seguinte configuração:

motor = mysql
DB-Instance-Identifier = DB-Linuxhint
DB-Instance-Class = dB.T2.micro
armazenamento alocado = 20
Mestre-Username = Demo
Pass-Password mestre-usuário = 12345678
backup-retenção-period = 0

Depois que a instância do banco de dados mostra um status disponível no console de gerenciamento do usuário do IAM:

Para demonstrar este guia, primeiro precisamos de um instantâneo antes de restaurá -lo. Atualmente, não temos nenhum instantâneo para nossa instância de banco de dados:

Vamos criar um instantâneo da nossa instância de banco de dados usando a AWS CLI:

$ AWS RDS CREATE-D-DB-SNAPSHOT-DB-Instance-Identifier db-linuxhint-db-snapshot-identificador db-snappy

A opção '-DB-Instance-Identifier' especifica o nome da nossa instância de DB. A opção '-db-snapshot-identificador' especifica o nome do instantâneo a ser criado (aqui é 'DB-SNAPKY').

Dentro da seção RDS Snapshots, o instantâneo agora estará disponível:

Restaurando instantâneo do banco de dados RDS

Podemos optar por excluir a instância real do banco de dados e restaurá -la do instantâneo que criamos nas etapas acima ou criar uma nova instância de banco de dados usando este instantâneo. Vamos nos mover com a abordagem posterior. Na sua AWS CLI, execute o comando:

$ AWS RDS RESTORE-DB-ISTANCE-DA-DB-SNAPSHOT \
--DB-Instance-Identificador DB-SNAP Restado \
--DB-SNAPSHOT-IDEDIDOR DB-SNAPKY \
--DB-Instance-Class DB.T2.micro \
--não público-acessível

Aqui, '-DB-Instance-Identifier' especifica o nome (restaurado a DB-SNAP) da nova instância de banco de dados restaurada do instantâneo. '-db-snapshot-identificador' especifica o nome (db-snappy) do instantâneo usado para restaurar a instância do banco de dados. No console de gerenciamento do IAM User, podemos ver a nova instância de banco de dados que restauramos do instantâneo:

Nota final: Não se esqueça de limpar os recursos que não estão em uso para evitar cobranças inesperadas.

Conclusão

É tudo por agora. Restaurado com sucesso uma instância do MySQL RDS DB usando a AWS CLI. Muitas pessoas e tutoriais on -line usam a conta de usuário root para gerenciar os recursos da AWS como RDS, EC2 etc. Mas não usamos a conta raiz; Em vez disso, usamos uma conta de usuário do IAM para trabalhar com esta instância do banco de dados, que é uma prática bastante boa do ponto de vista de segurança. Além disso, fornecemos a este usuário do IAM as permissões mínimas necessárias para um usuário executar as operações básicas do RDS.