What is Amazon S3?
S3 is short for Simple Storage Service, and Amazon S3 is the most supported storage platform available.
It is a virtual drive where we are able to store data and use it for scalability on a massive scale.
S3 is object storage that can store and retrieve any amount of data from anywhere. Despite that versatility, it is practically unlimited as well as cost-effective because it is storage available on demand.
In addition to these benefits, it offers unprecedented levels of durability and availability. Amazon S3 helps to manage data for cost optimization, access control, and compliance.
What are the benefits of AWS Simple Storage Service?
- Durability: It gives 99.999999999 percent SLA.
- Cheaper: It supports a variety of storage classes. They range from those files that need to be accessed more frequently, like caching, to files that rarely change, like snapshots.
- Scalability: Storage resources can be easily scaled up or down based on your organization’s needs.
- Availability: The availability of objects on S3 is 99.99 percent
- Security: It offers a robust suite of tools for access management and encryption that provide enhanced security.
- Flexibility: The Simple Storage Service is perfect for a wide range of uses, including data storage, backups, software delivery, archiving, disaster recovery, hosting websites, mobile applications, IoT devices, and much more.
What is an Object in AWS S3?
An object is a file and any metadata that describes the file. A bucket is a container for objects. To store your data in Amazon S3, you first create a bucket and specify a bucket name and AWS Region. Then, you upload your data to that bucket as objects in Amazon S3.
What is Key in AWS S3?
Keys are unique identifiers of objects within a bucket. Each bucket has exactly one key. An object is uniquely identified by its bucket, object key, and optionally, version ID (if Simple Storage Service Versioning is enabled for the bucket). As a result, you can think of Amazon Simple Storage Service as a basic mapping between “bucket + key + version” and the actual object.
How large can a Simple Storage Service bucket be?
An infinite amount of data can be stored in buckets. There is no limit on the number of objects that can be uploaded and each object can contain up to 5 TB of data. Buckets can be managed with the S3 Management Console, using the AWS SDK, or with the Amazon S3 REST API.
What is Bucket Policy?
Bucket policies allow you to grant access permissions to objects within your bucket by using AWS IAM policies. A bucket policy can only be associated with the bucket owner. An owner of a bucket can assign permissions to any object in the bucket that is attached to the bucket.
Explain the Lifecycle Policy in S3.
Lifecycle Policy in S3 is an offering from AWS for storage cost optimization. It actually allows one to define the data retention rule for S3 Objects in a bucket. One can safely handle his data and define rules such that data dynamically transitions through various object classes and gets deleted once it is no longer needed.
Lifecycle policies are defined at the level of the bucket with a maximum limit of 1000 policies per bucket. Different policies can be used to apply on a collection of objects filtered with an option of ‘Prefix’.
Explain the Object Lock feature in AWS S3.
S3 object lock allows us to store objects using the WORM model (write-once-read-many). The feature allows an S3 user to protect his data from being over-written or deleted for a certain amount of time or indefinitely. S3 object lock is often implemented by various organizations to meet regulatory requirements that need WORM storage.
What are the retention options offered by the S3 object lock?
S3 object lock offers mainly two methods for object retention:
Retention Period: This method allows a user to define a retention period in days, months, or years, for an object uploaded in an S3 bucket. During this period, one cannot overwrite or delete a protected object.
Legal Holds: This method is like the Retention Period, but there’s no duration defining the term for which the object will be locked in the bucket. Legal Hold configuration stays enabled until a user explicitly disabled it.
What are the steps to encrypt a file in S3?
It’s easy to encrypt a file in an S3 bucket. While uploading a file using the S3 management console, one can simply expand the property option and choose if the AWS Managed key should be used or the Customer Managed key is to be used for file encryption. Consider if the file is already uploaded, one can easily navigate to the properties of the file and enable encryption.
What is Static Website Hosting in S3?
A static website is a simple HTML, CSS, or javascript document stored in an AWS S3 bucket. An S3 bucket can function as a web server to host this website. AWS has other services to host dynamic websites.
To host a static website from an AWS S3 bucket, one needs to upload an HTML document in an S3 bucket. In the bucket properties, you can easily find the ‘Static Website Hosting option. Choose Enable option and mention the index document that was uploaded to S3. Remember the index document should be uploaded to the root of the S3 bucket to keep things simple.
What are the steps for uploading a file in S3 Bucket?
Navigate to the bucket where you want to upload the file. Click on the upload button to start the ‘upload file’ wizard. Next click on the ‘Add Files’ button and select the file to be uploaded. Once the file got selected, other settings such as permissions and object storage class can be chosen. Finally, we can click the ‘upload’ button to upload the file. Also please note, files larger than 160GB cannot be uploaded through the console. For files larger than 160GB, AWS CLI, AWS REST API, or AWS SDK can be used.
What is an object URL and how is it constructed?
Any file uploaded in S3 is referred to as an ‘object’ in AWS terminology. Every object stored in the S3 bucket has a unique URL assigned to it. This URL is simply the address of the object, and it can be used to access the object if it is public, over the internet.
Object URL is constructed with ‘HTTPS://’ and the bucket name, then ‘s3-’ region API name and then ‘.amazonaws.com/’ then the file name with extension, and then ‘?versionId=’ the Version ID followed.
https://vivektests.s3.amazonaws.com/2_EC2_aws.docx
What is the maximum size of S3 bucket?
In S3 bucket you can store an unlimited volume of data and a number of objects. A single Amazon S3 object can range from 0 bytes to 5 terabytes. In a single upload request, You can put an object of around 5 GB but you must have to enable the Multipart Upload capability.
Can you mount an s3 bucket to an instance, if yes then how?
Yes, we can mount an s3 bucket to an instance. Mounting an Amazon S3 bucket as a file system means that you can use all your existing tools and applications to interact with the Amazon S3 bucket to perform read/write operations on files and folders.
There are a few different ways for mounting Amazon S3 as a local drive on linux-based systems, which also support setups where you have Amazon S3 mount EC2.
- S3FS-FUSE: This is a free, open-source FUSE plugin and an easy-to-use utility which supports major Linux distributions & MacOS. S3FS also takes care of caching files locally to improve performance. This plugin simply shows the Amazon S3 bucket as a drive on your system.
- ObjectiveFS: ObjectiveFS is a commercial FUSE plugin which supports Amazon S3 and Google Cloud Storage backends. It claims to offer a full POSIX-compliant file system interface, which means that appends don’t need to rewrite entire files. It also promises performance comparable to a local drive.
- RioFS: RioFS is a lightweight utility written using C language. It is comparable to S3FS but has a few limitations: RioFS doesn’t support appending to file, doesn’t support fully POSIX-compliant file system interface, and it can’t rename folders.
Explain S3 Versioning. What are the benefits of using versioning in S3?
Versioning allows us to keep multiple variants of an object in a bucket. Versioning helps us to restore an object to a previous or specific version of an object. You can take advantage of versioning to recover a deleted or mistakenly overwritten object.
How to Configure Versioning on a Bucket?
Versioning helps you to keep multiple versions of an object in one bucket. Here are simple steps to enable versioning on an S3 bucket.
- Step1: Login to your AWS console.
- Step2: From services choose S3.
- Step3: Select a bucket for which you want to enable versioning.
- Step4: Click on the properties tab.
- Step5: Choose versioning from properties.
- Step6: Choose to enable versioning and click on the Ok button.
What are the Storage Classes available in Amazon S3?
Storage Classes available with Amazon S3 are:
- Amazon S3 Standard
- Amazon S3 Standard-Infrequent Access
- Amazon S3 Reduced Redundancy Storage
- Amazon Glacier –
S3 Standard- It is by and large the default storage class. In cases where no specification about the storage class is provided while uploading the object, Amazon S3 assigns the S3 Standard storage class by default.
Reduced Redundancy– It is assigned when non-critical, reproducible data needs to be stored. The Reduced Redundancy Storage class is designed in a way that the above data categories can be stored with less redundancy.
What is Amazon S3 Glacier?
It is a storage class built for data archiving, which helps retrieve data with high flexibility and performance. So, data can be accessed faster in milliseconds, and S3 Glacier offers a low-cost service. There are three S3 glacier storage classes – Glacier instant retrieval storage, S3 Glacier flexible retrieval, and S3 Glacier deep archive.
What is SnowBall?
To transfer terabytes of data outside and inside of the AWS environment, a small application called SnowBall is used.
Data transferring using SnowBall is done in the following ways:
- A job is created.
- The SnowBall application is connected.
- The data is copied into the SnowBall application.
- Data is then moved to the AWS S3.
If you would like to transfer vast amounts of data, which is the best option among Snowball, Snowball Edge, and Snowmobile?
AWS Snowball is basically a data transport solution for moving high volumes of data into and out of a specified AWS region. On the other hand, AWS Snowball Edge adds additional computing functions apart from providing a data transport solution.
The snowmobile is an exabyte-scale migration service that allows you to transfer data up to 100 PB.
How many buckets can you create in AWS by default?
By default, you can create up to 100 buckets in each of your AWS accounts.
Which one of the storage solutions offered by AWS would you use if you need extremely low pricing and data archiving?
AWS Glacier is an extremely low-cost storage service offered by Amazon that is used for data archiving and backup purposes. The longer you store data in Glacier, the lesser it will cost you.
What are the ways to manage access for Amazon S3 buckets?
- IAM helps manage Users, Groups, and Roles.
- ACL helps manage objects via access control lists.
- S3 Access Points Helps manage data sets using access points specific to each application.
- Bucket policies help in managing resources and permissions.
How can you send a request to Amazon S3?
Amazon S3 is a REST Service, and you can send a request by using the REST API or the AWS SDK wrapper libraries that wrap the underlying Amazon S3 REST API
Is there a way to upload a file that is greater than 100 Megabytes in Amazon S3?
Yes, it is possible by using the Multipart Upload Utility from AWS. With the Multipart Upload Utility, larger files can be uploaded in multiple parts that are uploaded independently. You can also decrease upload time by uploading these parts in parallel. After the upload is done, the parts are merged into a single object or file to create the original file from which the parts were created.
What is AWS S3 Replication
Amazon Simple Storage Service (S3) Replication is an elastic, fully managed, low cost feature that replicates objects between buckets. S3 Replication offers the most flexibility and functionality in cloud storage, giving you the controls, you need to meet your data sovereignty and other business needs.
With Amazon S3 Replication, you can configure Amazon S3 to automatically replicate S3 objects across different AWS Regions by using S3 Cross-Region Replication (CRR) or between buckets in the same AWS Region by using S3 Same-Region Replication (SRR). S3 Replication offers the flexibility of replicating to multiple destination buckets in the same, or different AWS Regions. S3 Replication supports two-way replication between two or more buckets in the same or different AWS Regions.
How will you configure an Amazon S3 bucket to serve static assets for your public web application?
By configuring the bucket policy to provide public read access to all objects
Which Amazon solution will you use if you want to accelerate moving petabytes of data in and out of AWS, using storage devices that are designed to be secure for data transfer?
Amazon Snowball. AWS Snowball is the data transport solution for large amounts of data that need to be moved into and out of AWS using physical storage devices.
What would I have to do if I want to access Amazon Simple Storage buckets and use the information for access audits?
AWS CloudTrail can be used in this case as it is designed for logging and tracking API calls, and it has also been made available for storage solutions.
I created a key in North Virginia region to encrypt my data in Oregon region. I also added three users to the key and an external AWS account. Then, to encrypt an object in S3, when I tried to use the same key, it was not listed. Where did I go wrong?
The data and the key should be in the same region. That is, the data that has to be encrypted should be in the same region as the one in which the key was created. In this case, the data is in Oregon region, whereas the key is created in North Virginia region.
Which of the following options will you use if you have to move data over long distances using the Internet, from instances that are spread across countries to your Amazon S3 bucket?
– Amazon CloudFront
– Amazon Transfer Acceleration
– Amazon Snowball
– Amazon Glacier
Amazon Transfer Acceleration. It throttles the data transfer up to 300 percent using optimized network paths and Amazon Content Delivery Network. Snowball cannot be used here as this service does not support cross-region data transfer.
Which of the following services is a data storage system that also has REST API interface and uses secure HMAC-SHA1 authentication keys?
- Amazon Elastic Block Store
- Amazon Snapshot
- Amazon S3
Amazon S3. It gets various requests from applications, and it has to identify which requests are to be allowed and which are to be denied. Amazon S3 REST API uses a custom HTTP scheme based on a keyed HMAC for the authentication of requests.