Ir ao conteúdo

Tag: Cloud

Adicionando repositório S3 da OCI no Elasticsearch

Esses dias eu tive um problema que trocamos toda infraestrutura da empresa para outra nuvem, para constar eu mesmo fiz essa migração “OK”, mas agora sem brincadeiras, dai tivemos o problema de migrar os dados da AWS para OCI e pensei em usar um Bucket da OCI.

Imaginem a primeira coisa que fiz foi procurar no Google se alguém já havia feito, e claro encontrei um artigo na própria OCI, mas era para Elasticsearch 5, isso foi um problema pois não estava funcionando na versão 8 mas, porque o Bucket S3 da OCI ele tem uma peculiaridade em sua, URL.

Sem mais de longas… Vamos ao que interessa!

Primeiramente precisamos começar acessando cada nó do nosso Elasticsearch para configurar.

1 – Configurando nossas AccessKey e SecretKey

Agora iremos configurar o AccessKey e SecretKey do Bucket S3 em cada nó do servidor de elasticsearch. Para isto temos duas opções de comando um mais automático e outro que você insere esses dados ou o que já passa como variável que é mais simples e automatizado.

1 – Configurar AccessKey

Para configurar basta digitar o comando abaixo

bin/elasticsearch-keystore add s3.client.default.access_key

2 – Configurando SecretKey

Utilize o esse comando abaixo

bin/elasticsearch-keystore add s3.client.default.secret_key

3 – Forma automatizada

Para forma automatiza usaremos o script que ira aparecer logo abaixo, mas antes para explicar precisa-se substituir as variáveis pelas suas chaves de acesso ACCESS_KEY e SECRET_KEY para ele configurar corretamente

ACCESS_KEY=<SUA ACCESKEY AQUI>
SECRET_KEY=<SUA SECRETKEY AQUI>
echo $ACCESS_KEY | sudo /usr/share/elasticsearch/bin/elasticsearch-keystore add s3.client.default.access_key
echo $SECRET_KEY | sudo /usr/share/elasticsearch/bin/elasticsearch-keystore add s3.client.default.secret_key

2 – Recarregar as configurações de segurança do cluster

Você tem dois caminhos para fazer isso pelo Kibana no DevTools que usará esse comando

POST _nodes/reload_secure_settings

Ou essa outra opção utilizando CURL

curl -X POST "$(hostname -i):9200/_nodes/reload_secure_settings"

3 – Configurando o Repositório no Elasticsearch

Para isso você terá de me pagar 100 mil reais, brincadeira, mas para isso tem de prestar a atenção e substituir corretamente os campos, utilize o DevTools do Kibana para executar esse comando

PUT _snapshot/{nome_para_identificar_o_repo_s3}
{
  "type": "s3",
  "settings": {
    "bucket": "{nome_do_bucket}",
    "client": "default",
    "region": "{regiao}",
    "endpoint": "https://{namespace}.compat.objectstorage.{regiao}.oraclecloud.com/",
    "path_style_access": true
  }
}

Basicamente nesse código você está definindo o tipo de repositório de snapshot vai ser configurado, em bucket é o nome do próprio bucket, em client deixe em default, em region coloque a região da OCI que está seu bucket, em endpoint temos de colocar o namespace do bucket a região do bucket novamente e só isso, o último campo path_style_access manter em true.

Para ter um exemplo irei mostrar um exemplo de como ficou o meu

PUT _snapshot/oci-bucket-s3
{
  "type": "s3",
  "settings": {
    "bucket": "meu-bucket-de-snapshots",
    "client": "default",
    "region": "sa-saopaulo-1",
    "endpoint": "https://gredciaac9ma.compat.objectstorage.sa-saopaulo-1.oraclecloud.com/",
    "path_style_access": true
  }
}

E pronto agora pode fazer seus snapshots para o bucket da OCI sem nenhum problema!

Se vemos na próxima!

Deixe um comentário