mirror of
https://github.com/minio/minio.git
synced 2024-12-25 22:55:54 -05:00
104 lines
3.7 KiB
Markdown
104 lines
3.7 KiB
Markdown
# MinIO S3 Gateway [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io)
|
|
|
|
MinIO S3 Gateway adds MinIO features like MinIO Browser and disk caching to AWS S3 or any other AWS S3 compatible service.
|
|
|
|
## Run MinIO Gateway for AWS S3
|
|
As a prerequisite to run MinIO S3 gateway, you need valid AWS S3 access key and secret key by default. Optionally you can also set custom access/secret key, when you have rotating AWS IAM credentials or AWS credentials through environment variables (i.e. AWS_ACCESS_KEY_ID)
|
|
|
|
### Using Docker
|
|
```
|
|
docker run -p 9000:9000 --name minio-s3 \
|
|
-e "MINIO_ACCESS_KEY=aws_s3_access_key" \
|
|
-e "MINIO_SECRET_KEY=aws_s3_secret_key" \
|
|
minio/minio gateway s3
|
|
```
|
|
|
|
### Using Binary
|
|
```
|
|
export MINIO_ACCESS_KEY=aws_s3_access_key
|
|
export MINIO_SECRET_KEY=aws_s3_secret_key
|
|
minio gateway s3
|
|
```
|
|
|
|
### Using Binary in EC2
|
|
Using IAM rotating credentials for AWS S3
|
|
```
|
|
export MINIO_ACCESS_KEY=custom_access_key
|
|
export MINIO_SECRET_KEY=custom_secret_key
|
|
minio gateway s3
|
|
```
|
|
|
|
MinIO gateway will automatically look for list of credential styles in following order, if your backend URL is AWS S3.
|
|
|
|
- AWS env vars (i.e. AWS_ACCESS_KEY_ID)
|
|
- AWS creds file (i.e. AWS_SHARED_CREDENTIALS_FILE or ~/.aws/credentials)
|
|
- IAM profile based credentials. (performs an HTTP call to a pre-defined endpoint, only valid inside configured ec2 instances)
|
|
|
|
Minimum permissions required if you wish to provide restricted access with your AWS credentials, please make sure you have following IAM policies attached for your AWS user or roles.
|
|
|
|
```json
|
|
{
|
|
"Version": "2012-10-17",
|
|
"Statement": [
|
|
{
|
|
"Sid": "readonly",
|
|
"Effect": "Allow",
|
|
"Action": [
|
|
"s3:GetObject",
|
|
"s3:ListBucket"
|
|
],
|
|
"Resource": "arn:aws:s3:::testbucket"
|
|
},
|
|
{
|
|
"Sid": "readonly",
|
|
"Effect": "Allow",
|
|
"Action": "s3:HeadBucket",
|
|
"Resource": "arn:aws:s3:::testbucket"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## Run MinIO Gateway for AWS S3 compatible services
|
|
As a prerequisite to run MinIO S3 gateway on an AWS S3 compatible service, you need valid access key, secret key and service endpoint.
|
|
|
|
### Using Docker
|
|
```
|
|
docker run -p 9000:9000 --name minio-s3 \
|
|
-e "MINIO_ACCESS_KEY=access_key" \
|
|
-e "MINIO_SECRET_KEY=secret_key" \
|
|
minio/minio gateway s3 https://s3_compatible_service_endpoint:port
|
|
```
|
|
|
|
### Using Binary
|
|
```
|
|
export MINIO_ACCESS_KEY=access_key
|
|
export MINIO_SECRET_KEY=secret_key
|
|
minio gateway s3 https://s3_compatible_service_endpoint:port
|
|
```
|
|
|
|
## MinIO Caching
|
|
MinIO edge caching allows storing content closer to the applications. Frequently accessed objects are stored in a local disk based cache. Edge caching with MinIO gateway feature allows
|
|
|
|
- Dramatic improvements for time to first byte for any object.
|
|
- Avoid S3 [data transfer charges](https://aws.amazon.com/s3/pricing/).
|
|
|
|
Refer [this document](https://docs.min.io/docs/minio-disk-cache-guide.html) to get started with MinIO Caching.
|
|
|
|
## MinIO Browser
|
|
MinIO Gateway comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 to ensure that your server has started successfully.
|
|
|
|
![Screenshot](https://github.com/minio/minio/blob/master/docs/screenshots/minio-browser-gateway.png?raw=true)
|
|
|
|
With MinIO S3 gateway, you can use MinIO browser to explore AWS S3 based objects.
|
|
|
|
### Known limitations
|
|
|
|
- Bucket notification APIs are not supported.
|
|
|
|
## Explore Further
|
|
|
|
- [`mc` command-line interface](https://docs.min.io/docs/minio-client-quickstart-guide)
|
|
- [`aws` command-line interface](https://docs.min.io/docs/aws-cli-with-minio)
|
|
- [`minio-go` Go SDK](https://docs.min.io/docs/golang-client-quickstart-guide)
|