Amazon Web Services(AWS)

Amazon Simple Storage Service(S3)

What is an Amazon S3 bucket?

Amazon S3 is a cloud based web service interface that you can used to store and retrieve any amount of data. To upload your data, first you need to create an S3 bucket in one of the Amazon regions.

Creating a Bucket

S3 provides an API for creating and managing buckets. You can create a maximum of 100 buckets from your AWS console. When you create a bucket, you need to provide a name and AWS region where you want to create the bucket. In each bucket, you can store any number of objects. You can use your AWS account root credentials to create a bucket, but it is not recommended. Instead  just create an IAM user and add full permission to that user on S3 bucket. You can access your S3 bucket from your Amazon S3 console.

Please follow the below steps to mount s3 bucket on your server.

Steps to Mount Amazon S3 bucket in CentOS/Red Hat
############################################

Remove Existing Packages

Before installing any package, first you need to check if you have any existing fuse or S3FS on your server. If it is already existing, then remove it from your server to avoid further conflicts. Use the following command to check if you have any existing fuse or S3FS on your server

CentOS users:
------------------

$ yum remove fuse fuse-s3fs

#####################
Make Yum & Install Packages

make file:
#vim /etc/yum.repos.d/adhoc.repo

##############
& Write:
baseurl=http://mirror.centos.org/centos/7/os/x86_64/
gpgcheck=0

##########################################################################
Install all dependency packages for fuse and s3cmd using the below command.

$ yum install gcc libstdc++-devel gcc-c++ curl-devel libxml2-devel openssl-devel mailcap -y

$ yum install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config -y

$ yum install libxml* libcurl* fuse* -y

################################
Download and Compile Fuse

Move to /usr/src then download and compile fuse source code.
After compiling, add fuse to kernel. In my case the latest version of fuse is fuse-3.0.0

$ cd /usr/src/

$ wget https://github.com/libfuse/libfuse/releases/download/fuse-3.0.0/fuse-3.0.0.tar.gz

$ tar xzf fuse-3.0.0.tar.gz

$ cd fuse-3.0.0

$ ./configure --prefix=/usr/local

$ make && make install

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

$ ldconfig

$ modprobe fuse

$ ln -s /usr/local/bin/fusermount /usr/bin/fusermount

########################3
Download and compile S3FS

Navigate to /usr/src, Download and compile s3fs source code.

$ cd /usr/src/

$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git

$ cd s3fs-fuse

$ ./autogen.sh

$ ./configure

$ make

$ make install

#####################
Setup Access Key

Both access key and secret key of your s3 AWS account is required for configuring S3FS.
Replace the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY with your actual key values.

$ vi /etc/passwd-s3fs

AWS_ACCESS_KEY_ID:AWS_SECRET_ACCESS_KEY

#############################################
Make sure that the file has proper permission

$ chmod 600 /etc/passwd-s3fs

#########################

Mount S3 Bucket

#################
make mount point

$ mkdir /mnt/s3

###########################
You can run the below command to mount s3fs.

$ s3fs mybucket /mnt/s3/ -o passwd_file=/etc/passwd-s3fs

##############
see the mounted s3 by

$ df -H

Comments

Post a Comment

Popular posts from this blog

DevOps Interview Questions

Calico Certified Operator: AWS Expert Questions & Answers

CKAD Certification Exam Preparation Guide and Tips