Restaurando o Backup de Boot/Block Volume de um tenancy para outro na Oracle Cloud (Admit e Endorse “AssumeRole”)

Quando temos um único tenancy no ambiente Oracle Cloud a divisão de permissões de IAM é baseada em compartimentos, o que facilita e permite que os acessos e permissões de aplicativos sejam realizadas de forma lógica.

Isso auxilia para organizar os acessos aos recursos estruturados por departamento ou tipo de ambiente, a fim de garantir que cada equipe tenha seus recursos e também permissões organizadas por funções.

Porém em alguns casos é necessário permitir que outro tenancy tenha acesso aos recursos de seu tenancy, para gestão e manutenção dos recursos.

Esse tipo de acesso delegado, para quem já usou a AWS se chama AssumeRole, onde você delega permissões para que usuários de outra conta obtenha acesso baseados em função.

Na Oracle utilizamos a abordagem de Admit Endorse, onde criamos políticas de tenancy, dando capacidades de acesso e gerenciamento de recursos para tenancy de parceiros ou secundários.

Nesse artigo iremos mostrar como fazer a movimentação de uma instância, através da restauração de um backup entre tenancy.

Abaixo exemplo do fluxo de operação entre tenancy

Antes de começar:

Para esse artigo estamos considerando que você já possua o grupo que deseja delegar a permissão do tenancy, os backups de boot e block volume executados.

Para isso iremos usar 2 domínios:

Domínio 1: Origem Objeto (Backup) – Chamado de ORIGEM <TenancyB>

Esse tenancy  de ORIGEM do Objeto <TenancyB> irá possibilitar com que o DESTINO <TenancyA> faça a cópia de um boot/block volume para ele

Domínio 2: Destino Objeto – Chamado de DESTINO <TenancyA>

Esse tenancy <TenancyA> irá receber o boot volume do <TenancyB>

Passo 1: Criando as políticas de permissionamento

Colete o ocid de cada tenancy e ocid do grupo que irá ter permissão para executar a restauração do backup

Colete o ocid do TenancyB (Origem)
Colete o ocid do TenancyA (Destino)
Crie um Grupo no TenancyA e copie o ocid.

Crie as políticas de permissão baseado no modelo abaixo

  • <TenancyB> Origem do Objeto: Crie a seguinte política no root, substituindo os valores pelas informações coletadas anteriormente

Define tenancy <TenancyA> as <TenancyA-Ocid>

Define group <Grupo-TenancyA> as <Grupo-TenancyA-ocid>

Admit group <Grupo-TenancyA> of tenancy <TenancyA> to manage volume-family IN TENANCY

Exemplo de política para referência:

Define tenancy TenancyA as ocid1.tenancy.oc1..Tenancy.Destino.XPTO
Define group G-Operacoes as ocid1.group.oc1..Grupo.Destino.XPTO
Admit group G-Operacoes of tenancy TenancyA to manage volume-family IN TENANCY
  • Crie também a política no <TenancyA> Destino do Objeto

Define tenancy <TenancyB> as <TenancyB-ocid>

Endorse group <GrupoLocal> to manage volume-family in tenancy <TenancyB>

Exemplo de política para referência:

Define tenancy TenancyB as ocid1.tenancy.oc1..Tenancy.Origem.XPTO
Endorse group G-Operacoes to manage volume-family IN TENANCY TenancyB 

Execução da restauração:

No tenancyB (origem) temos um website em Apache rodando normalmente, pelo IP http://129.213.83.43/, conforme imagem abaixo

Já fizemos o backup do boot volume na Origem

Iremos levar o backup do boot volume para o outro tenancy, dessa forma precisamos coletar mais 3 informações;

1 – ocid do backup

2 – ocid do compartimento de destino

3 – Availability Domain do destino

Iremos criar um boot volume no TenancyA (Destino) a partir de um backup realizado no TenancyB (Origem), com o comando abaixo, iremos executar esse comando via Cloud Shell no TenancyA (Destino)

Se você for restaurar a partir de um Backup de Boot Volume o comando é o abaixo:

oci bv boot-volume create --boot-volume-backup-id <backup-ipd-do-boot-volume> --availability-domain <AV do TenancyA> -c <ocid-compartimento-TenancyA>

Se você for restaurar a partir de um Backup de um Block Volume o comando é o abaixo:

oci bv volume create --volume-backup-id <backup-ipd-do-block-volume> --availability-domain <AV do TenancyA> -c <ocid-compartimento-TenancyA>

A mensagem de PROVISIONING irá aparecer, conforme exemplo abaixo

E o disco irá ser provisionado no TenancyA (Destino)

Se você for no disco, irá ver que ele foi restaurado a partir de um backup

Validando o cenário:

Iremos subir a VM e verificar se está igual ao que tínhamos no TenancyB (Origem)

Ao acessar o IP Público gerado no novo Tenancy, vemos que a instância está identica a origem, ou seja, nosso site está funcional.

Muito obrigado!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *