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 apareceu primeiro em Let's Code And Drink Coffe.
Top comments (0)