Skip to content

[BUG] Automatic S3 endpoint routing #19900

@magersh

Description

@magersh

Describe the bug

Endpoints: As of 11/5/25, OpenSearch supports a single S3 endpoint format style of s3.region.amazonaws.com that matches S3 general purpose bucket format. However, all other other S3 bucket types (directory buckets, outposts buckets) use alternate endpoint formats including s3express-control.region.amazonaws.com and s3-outposts.region.amazonaws.com respectively.

Request: Remove the existing single format style, and update to support multi formats. One method could be using a SDK version for endpoint routing that's at or higher than 3/31/2025. It constructs the endpoint format based on the bucket name provided and routes (based on bucket name or access point name or alias)

AWS SDK References
aws/aws-sdk-js-v3@7f2cfea (3/31/25 for access points or higher )

OpenSearch References
https://github.com/opensearch-project/OpenSearch/blob/main/plugins/repository-s3/src/main/java/org/opensearch/repositories/s3/S3ClientSettings.java

https://github.com/opensearch-project/OpenSearch/blob/main/plugins/repository-s3/src/main/java/org/opensearch/repositories/s3/S3Repository.java

https://github.com/opensearch-project/OpenSearch/blob/main/plugins/repository-s3/src/main/java/org/opensearch/repositories/s3/S3Service.java

Related component

No response

To Reproduce

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

more than 1 S3 endpoint is supported

Additional Details

Plugins
Please list all plugins currently enabled.

Screenshots
If applicable, add screenshots to help explain your problem.

Host/Environment (please complete the following information):

  • OS: [e.g. iOS]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions