Configuring S3-Compatible Storage

      +
      You can set up Couchbase Enterprise Analytics to use an S3-Compatible storage solution. While AWS S3 is fully supported, third-party storage systems that implement the S3 API may also work with Enterprise Analytics. However, compatibility is not guaranteed for all S3-compatible solutions, as they must properly implement all required S3 operations.

      To be compatible with Enterprise Analytics, S3-compatible object storage must have strong and global consistency for bucket updates and support the following operations:

      Enterprise Analytics has been certified with NetApp StorageGRID v11.9.0.6 or later.

      Enterprise Analytics supports the following S3-compatible storage providers. Select your storage provider to view the configuration steps.

      • NetApp StorageGRID

      • OCI Object Storage

      To use Enterprise Analytics with NetApp StorageGRID, you must:

      Create a NetApp StorageGRID bucket

      To create a bucket in StorageGRID that Enterprise Analytics uses for storing data:

      1. Click Create Bucket in the StorageGRID UI.

      2. Enter a name for the bucket, for example, samplebucket.

      3. Select region us-east-1 or the region you want to use.

      4. Click Continue to create the bucket.

      5. Click Create bucket.

      6. In Bucket options tab, select All, this provides the highest guarantee of consistency.

      Configure NetApp StorageGRID credentials

      Create the Access key ID and Secret access key for the bucket in StorageGRID. For more information about creating access keys, see the NetApp StorageGRID documentation. Enterprise Analytics uses these credentials to connect to the bucket.

      1. In the Create access key page, Do not set an expiration time is selected by default.

      2. Click Create access key to generate the access key.

      Configure S3 Access Credentials

      You should place the credentials file in the .aws directory in the Couchbase user’s home directory. For example, /home/couchbase/.aws/credentials & chmod’d to 600 as a security best practice. Make sure to enter the credentials under the default profile. For more information about how to set configuration and credential files in the AWS command-line tool, see the AWS documentation. You can verify that each node was properly configured using the AWS CLI:

      aws s3 ls s3://bucket/prefix/ --endpoint-url https://storagegrid-endpoint.com

      If your credentials have not been properly configured, the AWS CLI returns:

      $ aws s3 ls s3://bucket/prefix/ --endpoint-url https://storagegrid-endpoint.com
      
      Unable to locate credentials.
      You can configure credentials by running "aws configure".

      If the credentials are incorrect:

      $ aws s3 ls s3://bucket/prefix/ --endpoint-url https://storagegrid-endpoint.com
      
      An error occurred (InvalidAccessKeyId) when calling the ListObjectsV2 operation.
      The AWS Access Key Id you provided does not exist in our records.

      If you have properly configured your credentials, you should see:

      $ aws s3 ls s3://bucket/prefix/ --endpoint-url https://storagegrid-endpoint.com
                                 PRE subdir/

      Configure Enterprise Analytics

      Use the Couchbase CLI or REST API to configure each Enterprise Analytics node to use the StorageGRID bucket as its object storage. Copy the Access key ID and Secret access key to the credentials file.

      1. From the UI, choose S3-Compatible Storage.

      2. Specify the following:

        • StorageGrid Endpoint: for example, http://mystoragegrid.example.com

        • Bucket Name: samplebucket

        • Bucket Region: us-east-1

        • (Optional) Bucket Path Prefix: for example, sampleprefix/

      3. Make sure to select Force Path Style.

      4. Click Save & Finish to save the configuration.

      To use Enterprise Analytics with Oracle Cloud Infrastructure (OCI) Object Storage, you must:

      Create an OCI bucket

      To create a bucket in OCI that Enterprise Analytics uses for storing data:

      1. Go to Storage section of OCI, and select Buckets from the navigation pane.

      2. Click Create Bucket. For more information, see the OCI documentation.

      3. Enter a name for the bucket, for example, samplebucket.

      4. Select Standard in Default storage tier.

      5. Click Create bucket.

      This creates the bucket in the currently selected region.

      Configure OCI customer-generated keys

      For more information, see the OCI S3 compatibility documentation.

      1. Click the profile.

      2. Go to User settings.

      3. Select the Token and keys tab.

      4. Navigate to Customer secret keys.

      5. Click Generate secret key.

      6. Enter the name of the key and press Generate secret key to generate the secret key.

      7. Once copied, click Close to complete the secret generation.

      8. The generated key is the S3 equivalent of Secret access key.

      9. After creation, you can see a list of keys with Access key as a column.

      10. Copy the Access key — this is the S3 equivalent of Access Key.

      Make sure the group users belong to has the required permissions. For more information, see the OCI permissions documentation.

      Configure Access Credentials

      Place the credentials file in the .aws directory in the Couchbase user’s home directory. For example, /home/couchbase/.aws/credentials & chmod’d to 600 as a security best practice. Make sure to enter the credentials under the default profile. For more information about how to set configuration and credential files in the AWS CLI, see the AWS documentation.

      Since OCI uses a separate S3 compatible endpoint, you must supply it explicitly via --endpoint-url when verifying your credentials with the AWS CLI. Following is the format for the endpoint:

      https://<namespace>.compat.objectstorage.<region>.oci.customer-oci.com

      To find the namespace of the bucket, go to the bucket section and click the bucket name. This displays the bucket details.

      You can verify that each node was properly configured using the AWS CLI:

      aws s3 ls \
        --endpoint-url https://iduq5wp7nui.compat.objectstorage.us-ashburn-1.oraclecloud.com \
        --region us-east-1

      If your credentials have not been properly configured, the CLI returns:

      $ aws s3 ls \
        --endpoint-url https://iduq5wp7nui.compat.objectstorage.us-ashburn-1.oraclecloud.com \
        --region us-east-1
      
      An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The secret key required to complete authentication could not be found.
      The region must be specified if this is not the home region for the tenancy.

      If the credentials are incorrect:

      $ aws s3 ls \
        --endpoint-url https://iduq5wp7nui.compat.objectstorage.us-ashburn-1.oraclecloud.com \
        --region us-east-1
      
      An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The required information to complete authentication was not provided.

      If you have properly configured your credentials, you should see:

      $ aws s3 ls \
        --endpoint-url https://iduq5wp7nui.compat.objectstorage.us-ashburn-1.oraclecloud.com \
        --region us-east-1
                                 PRE subdir/

      Configure Enterprise Analytics

      Use the Couchbase CLI or REST API to configure each Enterprise Analytics node to use the OCI bucket as its object storage. Copy the Access key ID and Secret access key to the credentials file.

      1. From the UI, choose S3-Compatible Storage.

      2. Specify the following:

      3. Make sure to select Force Path Style.

      4. Click Save & Finish to save the configuration.