Adicionando repositório S3 da OCI no Elasticsearch
Tags: clouds, devops, infraestrutura, oci
Published: 2022-10-01 05:23:21


---
title: Adicionando repositório S3 da OCI no Elasticsearch
published: true
date: 2022-05-20 00:42:00 UTC
tags: Clouds,DevOPS,Infraestrutura,OCI
canonical_url: https://luisjustin.com.br/2022/05/19/adicionando-repositorio-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!

O post [Adicionando repositório S3 da OCI no Elasticsearch](https://luisjustin.com.br/2022/05/19/adicionando-repositorio-s3-da-oci-no-elasticsearch/) apareceu primeiro em [Let's Code And Drink Coffe](https://luisjustin.com.br).