# Elasticsearch OCI bucket

**URL:** <https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006>\
**Category:** Elasticsearch\
**Tags:** snapshot-and-restore\
**Created:** [November 2, 2022, 2:55pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006 "2022-11-02T14:55:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Walter\_Hiranpat1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/walter_hiranpat1/32/112337_2.png) [@Walter\_Hiranpat1](https://discuss.elastic.co/u/Walter_Hiranpat1)\
**Post date:** [November 2, 2022, 2:55pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006/1 "2022-11-02T14:55:16Z")

</div>

Has there been any support for using the oci (oracle cloud infrastructure) bucket to perform snapshot and restore? I thought oci bucket uses similar s3 configuration and would be compatible to use with the aws s3 plugin but it doesn't seem to work for me.

I have generated access and security keys and store on the elasticsearch nodes. I was able to curl the bucket from the elasticsearch instances so they are reachable.

When I try to use verification status on the kibana page, it looks like it is going to "sdk\_client\_exception: The requested metadata is not found at http://_ **.** _,_ **.** _/latest/meta-data/iam/security-credentials/" which looks like it might be referring to AWS endpoint.

I am assuming that the aws s3 plugin isn't compatible with the oci bucket configuration, is that correct? Is there a solution to allow me to snapshot to an oci bucket storage?

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [November 2, 2022, 3:07pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006/2 "2022-11-02T15:07:46Z")

</div>

Are you using Elasticsearch on Elastic Cloud or self-hosted?

If I'm not wrong, Elasticsearch on Elastic Cloud only supports AWS S3, but the self-hosted version supports [S3-compatible services](https://www.elastic.co/guide/en/elasticsearch/reference/current/repository-s3.html#repository-s3-compatible-services).

Never used OCI buckets and I'm not sure if it is compatible with S3, but if they are, you will need to change the `endpoint` setting while creating the repository and pass the endpoint of the bucket API in OCI.

From the documentation:

> There are a number of storage systems that provide an S3-compatible API, and the `repository-s3` type allows you to use these systems in place of AWS S3. To do so, you should set the `s3.client.CLIENT_NAME.endpoint` setting to the system’s endpoint.

---

<div class="post-metadata">

**Author:** ![Walter\_Hiranpat1](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/walter_hiranpat1/32/112337_2.png) [@Walter\_Hiranpat1](https://discuss.elastic.co/u/Walter_Hiranpat1)\
**Post date:** [November 8, 2022, 8:25pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006/3 "2022-11-08T20:25:33Z")

</div>

We are using self-hosted version of elasticsearch and I try configuring it through the kibana ui.

I have also configured these field in elasticsearch.yml: `s3.client.default.endpoint,` `s3.client.default.protocol`

In one the error message reason says that:

> `<base path>` is not accessible on master node

As I look lower in the error message there is a reason field:

> "amazon\_s3\_exception: Unauthorized (Service: Amazon S3; Status Code: 401; Error Code: 401 Unauthorized; Request ID: null; S3 Extended Request ID: null)"

But I have set the access\_key, secret\_key and session\_token through the

> elasticsearch-keystore add `<commands>`

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [November 8, 2022, 9:02pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006/4 "2022-11-08T21:02:22Z")

</div>

What endpoint did you add?

In `elasticsearch.yml` you just need to add `s3.client.default.endpoint`, there is no need to add `s3.client.default.protocol` because the default is already `https`.

From [Oracle documentation](https://docs.oracle.com/en-us/iaas/api/#/en/s3objectstorage/20160918/) the endpoint will be something like:

```auto
<object_storage_namespace>.compat.objectstorage.<location>.oraclecloud.com

```

You will need to check how to get the `object_storage_namespace` value for your account and the `location` will also depend on your account, this needed to be check within Oracle documentation.

After you set it in all your nodes and restart them, you may then add the repository and the values in the keystore.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 6, 2022, 9:02pm UTC](https://discuss.elastic.co/t/elasticsearch-oci-bucket/318006/5 "2022-12-06T21:02:53Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
