Em um mundo cada vez mais digital e dependente de tecnologia, as aplicações desempenham um papel fundamental para empresas, organizações e até mesmo para usuários individuais. Elas armazenam informações críticas, processam dados essenciais e fornecem funcionalidades vitais para o funcionamento diário de diversos setores. Diante desse cenário, é de extrema importância garantir a segurança e disponibilidade dessas aplicações, e uma das medidas essenciais nesse sentido é a realização de backups.
O backup de aplicações é uma medida essencial para garantir a segurança e disponibilidade dos dados vitais em um mundo digitalizado. Diante de ameaças como falhas técnicas, ataques cibernéticos e erros humanos, a perda de informações pode ser desastrosa para empresas e indivíduos. Realizar backups regularmente protege contra tais situações, permitindo a recuperação rápida e eficiente dos dados. Além disso, backups são fundamentais para garantir a continuidade dos negócios, minimizar prejuízos financeiros e evitar danos à reputação.
A Amazon Web Services (AWS) oferece uma solução de backup chamada AWS Backup, que fornece uma maneira centralizada de gerenciar backups em vários serviços e contas da AWS. O AWS Backup permite que as empresas criem, automatizem e gerenciem backups de seus dados, aplicativos e recursos.
No cenário abaixo, irei explicar como configurar o AWS Backup para realizar backups de suas instâncias EC2 em uma região específica e como configurar ele para enviar os backups para outra conta da AWS (Backup Cross-Account).
O backup entre contas oferece suporte apenas a CMKs gerenciadas pelo cliente. Ele não oferece suporte a cofres de backup criptografados usando CMKs gerenciadas pela AWS, incluindo cofres padrão, as CMKs gerenciadas pela AWS não devem ser compartilhadas entre contas, por isso precisamos criar nossa própria chave.
O cenário abaixo também funciona para volumes que estão criptografados com a CMK gerenciada pelo cliente.
Pré-requisito:
- Duas contas AWS, a conta A (origem) será nossa conta de aplicação onde está rodando nossa instância EC2 e a conta B (destino) será nossa conta de gerencia onde iremos armazenar a cópia do Backup.
- Precisamos configurar o AWS Organizations em nossa conta B e ingressar a conta A no Organization (não entrarei em detalhes de como realizar a criação do AWS Organizations).
Etapa 01 - Ativar o Cross-Account Backup (Conta B)
1) Acesse a console AWS e procure pelo serviço "AWS Backup".
2) No menu lateral a esquerda, clique em "Settings".
3) Procure o campo "Cross-account management" e habilite as funções "Backup policies", "Cross-account monitoring" e "Cross-account backup", clicando no botão "Turn on", o status deverá mudar de "Off" para "On".
Etapa 02 - Criar chave KMS na conta de destino (Conta B)
1) Acesse a console AWS e procure pelo serviço "Key Management Service".
2) No menu lateral a esquerda, clique em "Customer managed keys".
3) Clique em "Create key".
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".
6) Em "Define key administrative permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".
7) Em "Define key usage permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".
8) Revise as informações e clique em "Finish" para criar a chave KMS.
Etapa 03 - Criar o Backup Vault na conta de destino (Conta B)
1) Acesse a console AWS e procure pelo serviço "AWS Backup".
2) No menu lateral a esquerda, clique em "Backup vaults".
3) Clique no botão "Create backup vault".
4) Defina um nome de sua escolha para o Backup Vault, em seguida selecione a "Encrypt key" criada na etapa 02 "arn:aws:kms:us-east-1:XXXXXXXXXXXX:alias/AWS-Backup-Dest" e clique em "Create backup vault".
5) Agora precisamos definir uma política permitindo a conta A de enviar backups para o Vault criado. Clique em "Edit access policy" e adicione o seguinte JSON (substituindo o "AccountSrcID" para o ID da conta A de origem), clique em "Save policy".
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow AccountSrcID to copy into DestMyBackupVault",
"Effect": "Allow",
"Action": "backup:CopyIntoBackupVault",
"Resource": "*",
"Principal": {
"AWS": "arn:aws:iam::AccountSrcID:root"
}
}
]
}
6) Copie o ARN do Vault para utilizarmos na próxima etapa.
Etapa 04 - Criar chave KMS na conta de origem (Conta A)
1) Acesse a console AWS e procure pelo serviço "Key Management Service".
2) No menu lateral a esquerda, clique em "Customer managed keys".
3) Clique em "Create key".
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".
6) Em "Define key administrative permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".
7) Em "Define key usage permissions" selecione a role "AWSServiceRoleForBackup", em "Other AWS accounts" clique em "Add another AWS account" e digite o ID da conta de destino (conta B) e clique em "Next".
8) Revise as informações e clique em "Finish" para criar a chave KMS.
Etapa 05 - Configurar o AWS Backup (Conta A)
1) Acesse a console AWS e procure pelo serviço "AWS Backup".
2) No menu lateral a esquerda, clique em "Backup vaults".
3) Clique no botão "Create backup vault".
4) Defina um nome de sua escolha para o Backup Vault, em seguida selecione a "Encrypt key" criada na etapa 04 "arn:aws:kms:us-east-1:XXXXXXXXXXXX:alias/AWS-Backup" e clique em "Create backup vault".
5) No menu lateral a esquerda, clique em "Backup plans".
6) Clique no botão "Create backup plan".
7) Em "Start options", defina "Build a new plan", em seguida defina um nome de sua escolha para o Backup Plan.
8) Em "Backup rule configuration", defina um nome de sua escolha para o Backup Rule, em "Backup vault" selecione o Vault criado anteriormente, em "Backup frequency" defina a frequência de backup desejada (nesse exemplo a frequência será diária), em "Backup window" definimos qual será o horário que a regra de backup será executada (nesse exemplo será as 03:00 AM UTC. Obs: 00:00 horário de brasília), em "Retention period" definimos o tempo de retenção do backup (nesse exemplo a retenção será de 1 semana).
9) Em "Copy to destination" definimos para qual região/conta iremos enviar a cópia do backup (nesse exemplo iremos enviar para a região US East (N. Virginia) e para o Vault da conta B), em "External vault ARN" adicionamos o ARN do Vault criado na etapa 03 Ex: arn:aws:backup:us-east-1:XXXXXXXXXXXX:backup-vault:DestMyBackupVault (irá aparecer uma mensagem falando que será necessário adicionar permissão de acesso da conta B no vault da conta A) clique no botão "Allow" para adicionar a permissão.
10) Em "Retention period" definimos qual será a retenção dos backups na conta B (nesse exemplo a retenção da conta B será de 3 dias). Clique em "Create plan".
11) Agora definimos qual será os recursos que iremos fazer Backup (nesse exemplo vamos realizar o backup das instâncias EC2 que possuem a TAG "Backup = True"). Em "General" defina um nome de sua escolha para o Assign Resources, mantenha a "IAM role" como "Default role".
12) Em "Resource selection", marque a opção "Include specific resource types", em "Select specific resource types" selecione "EC2", em "Refine selection using tags" adicione a TAG "Key" = Backup o "Condition for value" = Equals e o "Value" = True. Clique em "Assign resources".
13) Clique em "Continue".
Etapa 06 - Adicionar a TAG de Backup = True em todas as instâncias que você deseja realizar o Backup (Conta A)
1) Acesse a console AWS e procure pelo serviço "EC2".
2) No menu lateral a esquerda, clique em "Instances".
3) Selecione a instância desejada, clique em "Actions" > "Instance settings" > "Manage tags".
4) Clique em "Add new tag", em "Key" digite Backup e em "Value" digite True. Clique em Save.
Etapa 07 - Verificar backups realizados (Conta A)
1) Acesse a console AWS e procure pelo serviço "AWS Backup".
2) No menu lateral a esquerda, clique em "Jobs".
3) Em "Backup jobs" podemos ver os backups realizados na conta de origem (Conta A).
4) Em "Copy jobs" podemos ver os backups copiados para a conta de destino (Conta B).
Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em deixar um comentário.
Top comments (0)