- Before we finish up with all of our discussions
of S3 in general,
I want to talk about some enhanced features,
of the S3 solution within AWS.
These enhanced features give you
the ability to do things like,
locked down files, so they can't be modified,
even though people can view them.
The ability to perform automated operations
against objects that are stored in S3 buckets,
and, even the ability
to implement such things as,
automatic intelligent adjustment
of tiering or a class of storage.
So that you can save money in the end.
So these are all enhanced features of S3,
that AWS has added over the years
and we want to take a look at them now.
The first one, we're going to look at,
is the ability to do intelligent tiering.
Now if we go into the AWS Management Console,
and then choose S3,
you'll see if you go into any bucket
where you can do this intelligent tiering.
So we'll open up one of the buckets that we have,
and notice that,
when I go into the management of this bucket,
you come to this thing called,
lifecycle rules by default.
This is where you get into intelligent tiering.
So you use lifecycle rules,
in order to implement intelligent tiering.
So you see this concept intelligent tiering,
you might think you're going to come in here,
you're going to find something called that,
but it's actually the lifecycle management.
And with this, you will notice
that you can get automated transition,
to tiered storage.
Which is effectively what intelligent tiering promises us.
So if we simply click on get started,
then you can see that you can create a rule,
so if I say
my intelligent tier,
and we could give it a prefix as well if we want to,
we'll click on Next,
and then you choose your storage class transition.
That is to say, what are you wanting to transition
into a different tier?
Is it current versions or previous versions?
Or both, for that matter.
So we'll just go ahead and say the current version,
and then we add a transition.
We'll say that we want to transition to Glacier,
after, 90 days of creation.
So whatever we put in this bucket,
it's assumed that for the first 90 days it's used,
and then after 90 days,
it's just rarely rarely used.
So we can get by with putting it
in a lower cost storage tier.
Now notice it says transitioning small objects
to Glacier or Glacier Deep Archive,
will increase costs,
because there's a transaction cost,
and a cost based on the size of the file.
So when it's a small object,
every time you transition it,
you're actually incurring the transaction cost.
So that's something to keep in mind.
You'll want to watch out for that,
you can click learn more to learn more about it.
We can just go and acknowledge that we understand that
and click on Next.
And then you configure expiration if you wish.
Expiration basically says
that the file is going to expire after some point in time.
We really don't care
about how we're storing it at that point.
We'll go ahead and click Next and not do that,
because that's not really part
of intelligent tier transition.
And then we've got a review page
of what we're configuring.
We click on Save,
and I have just implemented intelligent tiering.
So it's really pretty straightforward to do that,
within an S3 bucket.
Now the next thing I want to talk to you about,
is the concept of Object locking.
So this allows you to do
what's called write-once-read-many
or WORM, as a file storage method.
So it means you write it,
you store it in the storage location,
and that's the only time it's modified
at the time of creation.
Then you read it many times,
write-once-read-many,
WORM, okay?
So to do that, within an S3 bucket,
you need to be able to do Object locking.
By default, you can only enable,
Object locking for an S3 bucket
during the creation of the bucket.
If you don't do it then,
you have to contact customer service,
they've got to go in behind the scenes
and set it up for you,
so make sure you think about Object locking
before you create the bucket.
Let's take a look at it.
So we will go back to our Amazon S3 console,
click on Create bucket.
I'll call it,
Object locking example,
Dash 1009.
Just to make sure remember,
it's a unique name,
all S3 buckets need a unique name,
the US East region is fine
and we're not going to copy settings from any other bucket.
I'll click on Next,
and the key here, is when you scroll down,
expand Advanced Settings.
And notice it says here, Object Lock.
So this is a feature that was later added to S3 buckets,
and I can say permanently allow objects
in this bucket to be locked.
Object Lock requires bucket versioning enabled as well
so we need to come up here,
and make sure we're going to keep versioning.
And we'll check it,
and it does permanently enable object Lock.
So, only if you want to prevent objects from being deleted,
you do this well that's our goal, alright,
so we're going to go ahead and do this.
And then we'll click on Next.
We can set permissions,
and other settings are reviewed here.
Now we're not going to worry about those other settings.
We've talked about those elsewhere with S3,
So I'll click on Create bucket.
I now have my Object locking example bucket.
If I go into that bucket,
I can upload a file,
And we'll click on Next.
And we can manage the permissions for this file as well.
We can set properties for the file,
so storage properties, metadata properties,
all of this can be configured here.
And then we click on Upload.
Now when we click on the file,
you can see, that the file has an owner,
and the object URL is set,
if we go to properties of the file,
down here it says object lock.
When we click it, notice, I can now enable it.
So. here's the key.
If you do not enable Object locking on the S3 bucket,
when you go into an object in that bucket,
and you go to the properties like we have here,
you won't see the ability to actually lock the object.
So this screen is only available now
because I've locked it at the bucket level.
Okay, one more thing to talk about.
And that thing is going to be
batch processing for S3 buckets.
To make things happen automatically,
wouldn't that'd be nice?
Let me quickly show you how it works.
So here we are back at our S3 bucket again,
and what we're going to do,
is look at this section over here
that says, batch operations.
When we click on that,
we can see that there are no jobs
in this case for this one,
but we can click on create job and get started.
And what you'll do, is you'll create a job,
based on a manifest.
So a manifest is just a collection of all the objects
that are in the S3 bucket
a listing of them
either in CSV format or in JSON format.
So that's all a manifest is.
So you'll have your manifest,
and then you use that manifest,
to go against the list of objects in there to take action.
So what actions could I take
with these types of batch operations?
Well, you could move the objects to a different S3 bucket,
you could delete objects,
you could change properties of objects,
you could change objects to be stored
in a different class or tier.
So there are a lot of different things you could do
with batch operations to really speed up,
the management of your S3 buckets.
So that gives you an idea
of some of the enhanced features,
that are available for S3 buckets,
when you need those, more advanced management techniques
that you might not have been aware of.