Are you looking to learn more about Amazon S3?
If so, this video is for you. Please subscribe and hit the bell to be informed
of new videos about cloud computing. We make new videos every Wednesday.
Hi, I'm Michael Gibbs, and I've been in technology for over 25 years.
I've worked in networking, I've worked in security and I've worked in cloud computing.
And I created this channel to take complicated cloud computing topics
and make them simple. Today we're going to be discussing Amazon S3.
So to begin, let's first examine what is Amazon S3? Amazon S3, known as Amazon Simple Storage,
is object storage on the Amazon cloud platform. And it's a very interesting kind of storage
and it's used in a wide range of use cases throughout the AWS platform, and we'll talk
about some of them in a minute, but the first thing to remember is S3 is object storage.
And the way object storage works is you have a file, which is broken down into
little pieces called objects, and each object is going to have a unique ID.
So the systems can rapidly access information by their object ID. But what you have to remember
is S3 is object storage, and therefore, it cannot house an operating system.
So this is going to be shared storage you're going to use on the AWS cloud platform.
And you have to remember that this is high availability. And what I mean by high availability
is it's going to be there 99.99% of the time when you need it, but the durability of the storage,
meaning that the storage won't be destroyed, is actually 11 nines,
which means 99.99, all the way to nine more places. So this is really high durability storage.
So let's talk about some use cases. S3 is used across the platform for backup and archival of
instances. So you can back up an instance into a snapshot, which is going to be stored on S3.
You're going to back up an EBS volume, which is going to be stored into a snapshot on S3,
databases because their EBS volumes could be backed up onto S3 in the form of a snapshot. And
that's just one of the many types of backups. And additionally, you could just back up your
data and then place it onto S3, even from your organization's customer premise data center.
S3 is great for static website hosting, but for dynamic website hosting, you're going
to need something different. It's terrific for distribution of content or software or media.
And with regards to disaster recovery, because you can create images and you can move them around
to different regions, but also know that it's 11 nines durable. It's fantastic
and it's lower cost storage, and it's great for storage and disaster recovery.
Now, Amazon S3 is also integrated into their big data platforms,
so you can create data lakes using that, along with Redshift
and other things. So S3 is used for a wide variety of reasons on the AWS cloud.
Like many things in cloud computing, there's an option for different tiers of service.
S3 is no different. So S3 has multiple storage classes and we're going to discuss some.
There's your traditional S3, there's your S3 infrequent access,
there's an S3 infrequent access one-zone, there's an S3 intelligent tiering, and then
there's going to be Amazon S3 Glacier, and we're going to cover them all today.
So you can look at it this way. Amazon S3 standard is high availability, high durability,
high performance storage, and you're going to use that for frequently accessed data.
Now, let's say you have data that you don't need to access frequently, but you
still need the reliability and availability and durability and performance of S3, then you can
use something called S3 infrequent access. And S3 infrequent access is really just reduced pricing,
but you pay for data retrieval. So while it's instantly available and it has great performance,
it's going to be very cost-effective if you don't retrieve your data very frequently, but if you do
retrieve your data very frequently, it's going to be more expensive than using S3 standard.
Now, Amazon has an option called S3 standard infrequent access in one-zone, and what that
is is that's reduced availability storage. So it still has high durability and it still has
high performance, but it's going to be there less frequently than S3 infrequent access. And
it obviously has reduced pricing because you're getting less availability, but it's used for the
same use cases as traditional S3 infrequent access, data that you don't need that often.
Now, let's talk about a newer one option and that's S3 intelligent tiering. And what happens is
AWS monitors your usage of your data. And for data that's frequently accessed, it stays on Amazon S3,
for data that's less frequently accessed, it might move it to something like S3 IA. And what
it's doing is it's looking at your needs and it's automatically adjusting things for you.
And theoretically, that can offer you some really good pricing benefits,
especially if you're not really good at managing your data and moving it around.
So now, let's talk about the last case of Amazon S3, and that's actually Glacier.
And Glacier is really used for data archival purposes. And in a regulatory environment,
you might also need to keep your data in an immutable fashion, meaning it can't be changed.
And with a vault lock on Amazon Glacier, you can ensure compliance requirements by making sure your
data is immutable and not open to change. So if you needed to keep data for a regulatory agency,
this is your option. And with Amazon Glacier, it's very low cost, but you do pay for data retrieval.
And if you need your data very quickly, you're going to have to pay for expedited data retrieval.
But typically speaking, when you need to retrieve your data, it's about three to five hours.
Now that you know the storage classes available on the AWS platform,
let's talk about how we can optimize cost structures.
So this begins with S3 lifecycle management. Most organizations have new, fresh data that they need
to access very frequently for a period of time, and then moderately frequently for a period of
time, and then, at some point, almost never. So S3 gives you the options to work with that.
For example, let's say you have data that's frequently accessed every day for 30 days.
You could store that data in Amazon S3. And let's say for example that after that 30 days,
that content isn't that fresh and probably doesn't need to be used more than maybe once a month,
you can have S3 moved that automatically to S3 infrequent access. And then let's say after those
30 days have passed, for the most part, it's never accessed again, but you want to keep that data for
archival purposes or potentially data science purposes in the future,
then you can move that data to Glacier, which is the lowest cost option.
Because at that point, even if it takes you three to five hours to retrieve
data that you're only maintaining for archival purposes, you want to have the cheapest option.
So let's talk a little bit about organizing your data in S3.
Remember, S3 is not traditional storage. In fact, S3 is more of a database than it
actually is your typical file storage system. And all these objects are stored in flat storage in a
bucket, and basically, in a database-like structure, there's a pointer to the data.
So when you set up your Amazon S3 environments,
you can use a delimiter like a forward slash or a backslash to make it look and feel like a folder,
but realize it's flat storage with a database that's pointed to it, which because it's
organized like a database, you can actually run SQL queries on data that's stored in S3.
So let's talk a little bit about protecting data that's stored on S3.
There's an option to set up something called S3 versioning, and what happens there is
there's multiple versions. Every time you make a revision, that revision is stored.
And for example, if one of the revisions gets corrupted, you can go back to previous
versions. So that's really if you want to maintain extreme durability of your data and protect
your data against accidental or malicious changes, S3 versioning is a great option.
And you also want to really protect your data from deletion. There's times when you really do want
to delete data and you need to, but S3 has the option for multi-factor authentication delete.
And how that works, as you attempt to delete something, you're sent a challenge,
and then you respond to the challenge and then the object is deleted.
But at least by doing it that way, it's a sanity check and it's an extra step along
the way to make sure you don't delete data that's critical to an organization's success.
Let's begin by discussing securing your data in S3. So when you secure your data,
you realistically have two means, and one is with a bucket policy, and the others with an access
control list. And whenever possible, you're really going to want to use a bucket policy because,
first, it's the preferred method, it's extremely granular to allowing users what they can actually
access, what they can read, write, and much more than the permissions you would typically get,
and it can be based upon an IAM role. So it's going to scale very well. Alternatively, you
can use an access list, but you're really limited to read, write, or full control and nothing else.
Now, because you're securing data on S3, and you want to protect that data,
it's best to use encryption to protect sensitive data. And encryption, realistically speaking,
makes the data unusable without the encryption key to decrypt it. And you can encrypt your data on
the client side, or you can encrypt your data on the server side. And you have that option.
So realistically speaking, there's three ways you can actually deal with the keys for encryption
on the AWS platform. You can have a customer managed key, and it's referred to as SSE-KMS,
using the Amazon Key Management System. And this is a complete key management system,
which makes it much easier on you. But basically what happens is the user manages the key
and the key management system manages the data key. And the key management system
provides an audit trail of how, when and whom actually used the key to access data.
Now, the other alternative is the SSE-S3, which is AWS Managed Keys,
and that's a complete key management solution, but in this case, Amazon manages all the keys
and performs automatic key rotation, and every object is encrypted with a unique key.
And your last option with regards to encryption keys is a complete autonomy
over the keys by maintaining them yourselves. And if you maintain the key themselves,
Amazon refers to that as SSE-C. And because it's a customer provided key, you provide
full autonomy, but you have to manage the keys, rotate them, distribute them and the such.
So there are your three options for securing data, or at least encrypting data on Amazon S3.
Please like this video and subscribe to our channel for more free videos on cloud computing.
Please let us know in the comments section below something you'd like to know more about,
and please remember to download the free AWS Certified Solutions
Architect Professional Practice exam. The link is in the description below.
Thank you so much for watching this video on Amazon S3. We look forward to seeing you next
Wednesday with another video on cloud computing. Thank you so much. Look forward to seeing you.