X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dfb9598282b677ead60f91c14f5e96405735d42f..09cbdc3074b3f1e69c9c537875146f6da0a6ed8f:/doc/install/configure-s3-object-storage.html.textile.liquid diff --git a/doc/install/configure-s3-object-storage.html.textile.liquid b/doc/install/configure-s3-object-storage.html.textile.liquid index 9708ea5cd1..746c1d4023 100644 --- a/doc/install/configure-s3-object-storage.html.textile.liquid +++ b/doc/install/configure-s3-object-storage.html.textile.liquid @@ -25,8 +25,8 @@ Volumes are configured in the @Volumes@ section of the cluster configuration fil # If the AccessViaHosts section is empty or omitted, all # keepstore servers will have read/write access to the # volume. - "http://keep0.ClusterID.example.com:25107/": {} - "http://keep1.ClusterID.example.com:25107/": {ReadOnly: true} + "http://keep0.ClusterID.example.com:25107": {} + "http://keep1.ClusterID.example.com:25107": {ReadOnly: true} Driver: S3 DriverParameters: @@ -43,12 +43,13 @@ Volumes are configured in the @Volumes@ section of the cluster configuration fil # If you are not using an IAM role for authentication, # specify access credentials here instead. - AccessKey: "" - SecretKey: "" + AccessKeyID: "" + SecretAccessKey: "" - # Storage provider region. For Google Cloud Storage, use "" - # or omit. - Region: us-east-1a + # Storage provider region. If Endpoint is specified, the + # region determines the request signing method, and defaults + # to "us-east-1". + Region: us-east-1 # Storage provider endpoint. For Amazon S3, use "" or # omit. For Google Cloud Storage, use @@ -59,6 +60,31 @@ Volumes are configured in the @Volumes@ section of the cluster configuration fil # declaration. LocationConstraint: false + # Use V2 signatures instead of the default V4. Amazon S3 + # supports V4 signatures in all regions, but this option + # might be needed for other S3-compatible services. + V2Signature: false + + # Use the AWS S3 v2 Go driver instead of the goamz driver. + UseAWSS3v2Driver: false + + # By default keepstore stores data using the MD5 checksum + # (32 hexadecimal characters) as the object name, e.g., + # "0123456abc...". Setting PrefixLength to 3 changes this + # naming scheme to "012/0123456abc...". This can improve + # performance, depending on the S3 service being used. For + # example, PrefixLength 3 is recommended to avoid AWS + # limitations on the number of read/write operations per + # second per prefix (see + # https://aws.amazon.com/premiumsupport/knowledge-center/s3-request-limit-avoid-throttling/). + # + # Note that changing PrefixLength on an existing volume is + # not currently supported. Once you have started using a + # bucket as an Arvados volume, you should not change its + # configured PrefixLength, or configure another volume using + # the same bucket and a different PrefixLength. + PrefixLength: 0 + # Requested page size for "list bucket contents" requests. IndexPageSize: 1000 @@ -89,3 +115,9 @@ Volumes are configured in the @Volumes@ section of the cluster configuration fil # classes" in the "Admin" section of doc.arvados.org. StorageClasses: null + +Two S3 drivers are available. Historically, Arvados has used the @goamz@ driver to talk to S3-compatible services. More recently, support for the @aws-sdk-go-v2@ driver was added. This driver can be activated by setting the @UseAWSS3v2Driver@ flag to @true@. + +The @aws-sdk-go-v2@ does not support the old S3 v2 signing algorithm. This will not affect interacting with AWS S3, but it might be an issue when Keep is backed by a very old version of a third party S3-compatible service. + +The @aws-sdk-go-v2@ driver can improve read performance by 50-100% over the @goamz@ driver, but it has not had as much production use. See the "wiki":https://dev.arvados.org/projects/arvados/wiki/Keep_real_world_performance_numbers for details.