Types of Storage
- Simple Storage System (S3)
- Elastic File System (EFS)
- Elastic Block Storage (EBS)
- Glacier
- Snowball
* AWS offers a complete range of Cloud storage services to support both application and archival compliance requirements select from objects, file and block storage services as well as cloud data migration options to start designing the foundation of your cloud IT environment.
* Block Storage:
- Block Storage is suitable for transaction database, random read / write loads and structured database storage.
- Block storage stored divides the data to be stored in evenly sized blocks ( data chunk) for instance a file can be split into evenly sized blocks before it is stored.
- Data Blocks stored in block storage would not contain metadata ( data created, data modified, content type etc.)
- Block Storage only keeps the address (index) . Where the data blocks are stored, it does not care what is in that block, just how to retrieve when its required.
* Object Storage:
- Object storage stores files as a whole and does not divide them.
- In object storage, an object the file / data itself, its metadata, Object Global unique ID.
- The object storage unique ID is a unique identifier for the object can be the object name itself and it must be unique such that it can be retrieved disregarding where its physical storage location is.
- object storage cannot be mounted as a drive.
- Example of object storage solutions Dropbox, AWS S3, Facebook.
* S3:
- S3 is a storage for the internet. It is simple web service interface for simple storing and retrieving of any amount of data, anytime from anywhere on the internet.
- S3 is object based storage.
- You cannot install operating system on S3.
- S3 has a distributed data store architecture where objects are redundantly store in multiple locations (minimum 3 location in same location).
- Data stored in buckets.
- A bucket is flat container of objects.
- Max capacity of bucket is 5TB.
- You can create folders in your bucket ( Available through console).
- You cannot crate nested buckets.
- Bucket ownership non transferable.
- S3 bucket region is specific.
- You have upto 100 buckets per account (May expand on request).
* S3 buckets sub-re-sources:
- To decide on objects lifecycle mangement.
- To hold configuration related to static website hosted S3 buckets.
- Versioning keep objects versions as it changes (Get updated) access control list buckets polices.
The name simply in two parts:
- Buckets region endpoint/ Bucket name
Example - for S3 bucket named my bucket in Europe west region.
https://S3-eu-west1-amazonaws.com/mybucket
* S3 objects:
- An objects size stored in a S3 bucket can be 0 byte 5TB.
- Each Object is stored and retrieved by a unique key (ID or name).
- An object in AWS S3 is uniquely identified and addressed through.
- Service End point
- Bucket Name
- Object Key (Name)
- Optional Object Version.
- Object stored in S3 bucket in a region will never leave that region unless you specially move them to another region or CRR.
- A bucket owner can grant cross account permissions to another AWS account (or user another AWS account) to upload projects.
- You can grant S3 bucket/ Object permission to
Individual Users
AWS account
Make the resource public to all authenticate users.
*Bucket Versioning *
It is the S3 bucket sub source used to protect against accidental object / data detection or overwrites
- version can also be used for retention and archive.
- Once you enable versioning on a bucket it cannot be disable, however it can be suspended.
- When enable versioning on a bucket it cannot be disable, however it can be suspended.
- Updating objects refer to Put, post copy, delete actions on objects.
- When Versioning is enabled and you try to delete an objects, a delete marker is placed on the object. you can still view the object can delete marker.
- If you reconsider deleting the objects you can delete the marker and object will be available again.
- You will be charged for all S3 storage cost for all object versions stored.
- You can use versioning with S3 lifecycle polices to delete older versions or you can move them to a cheaper or you can move them to a cheaper S3 storage or glacier.
- Bucket Version State
- Enabled
- Suspended
- Un versioned
- Versioning applies to all objects in a bucket and not partially applied.
- Object existing before enabling versioning will have a version ID or Null
- If you have a bucket that already versioned, then you suspended versioning existing objects and then version remain as it is.
- However they will not be updated versioned further with future updates while the bucket versioning is suspended.
- new objects uploaded after suspension they will have a version ID " null" if the same key (name) is used to store another objects. it will override the existing one.
- An Object deletion in a suspended versioning buckets will only delete the objects with ID "Null"
* S3 bucket versioning - MFA delete *
- Multi-factor authentication delete is a versioning capacity that adds another level of security in case your account is compromised.
- This adds another layer of security for the following.
- Changing your buckets versioning state.
- Permanently deleting an objects versioning.
* MFA Delete Requires *
- Your security credentials
- The code displays on an approved physical or S/W based authentication device.
* S3 multiple uploads *
- It used to upload an objects in parts.
- Parts are updated independently and in parallel in any order.
- It is recommended for object sizes of 100MB or larger.
- You must use it for objects larger than 5GB.
- This is done through S3 multipart upload API.
* Copying S3 objects *
- The copy operation create a copy of an objects that is already sorted in Amazon S3.
- You can create a copy of your objects upto 5TB in size in a single atomic operation.
- However to copy an object greater than 5TB you must use the multipart upload API.
- Incur charges if any to another region.
* Use the copy operation to *
- Generate additional copy of the subjects
- Remaining Objects Copy to new name
- Changing the copy storage class or encrypt it at rest.
- More objects across AWS location region
- Charge Object Metadata.