What is Simple Storage Service (S3)
Amazon Simple Storage Service (s3) is an object based storage. It provides a secure, fast, highly scalable, and durable platform to store any type of data. Amazon S3 allows users to create a bucket (storage resource) to store different types of data like videos, images, files, documents, etc.
Object size in s3 can be from 0 bytes to 5 terabytes. In each amazon account, users can create multiple buckets as per their requirement, but the bucket name must be unique globally.
Amazon S3 object properties
- Key: The name of an object. This name can be used to retrieve the object from S3 bucket.
- Value: The data (sequence of bytes) stored in the S3 bucket.
- Version ID: It is used to identify an object if versioning is enabled.
- Metadata: Information about the object.
- Sub-resources: Objects relation with other entities like (Buckets, objects, lifecycle configuration, website configuration)
- Access Control Lists: Resource-based access control, user-based access control, bucket policies, etc.
Features of S3
- Storage management: S3 allows to store and retrieval of any amount of data from anywhere through internet. S3 is a highly scalable and reliable service, It is a pay-as-you-go service and the bill is generated as per your uses. you can manage or categorize the s3 data as per your need for example you can use some naming convention on bucket names, prefixes and object tags etc.
- Monitoring: You can monitor and control S3 resources, how resources are being used. For example, you can use tags in S3 bucket to monitor costs for different areas of your business like a bucket for customer, bucket for data backup, bucket for application, etc .
- Storage classes: S3 storage class allows you to define how your object is stored and accessed. Each object is stored in S3 associated with storage class. S3 provides different storage classes like S3 Standard (by default), S3 Intelligent-Tiering, S3 Standard-Infrequent Access, S3 One Zone-Infrequent Access, S3 Glacier, and S3 Glacier Deep Archive.
- Access control and Security: Only the users who have access to s3 resources, they can manage (store, retrieve, modify or delete) data. You can use AWS Identity and Access Management (IAM) to create users and manage their respective permissions. With S3 you can also manage other things like Configuration of the geographical location of data, Access Control Lists (ACLs) to make individual objects accessible to authorized users, and Bucket policies to configure permissions for all objects under a bucket.
- Versioning: S3 allows to store multiple versions of an object. Versioning means keeping a record of multiple variants of an object in the same bucket. Versioning enables to recover objects from accidental deletion or overwrite. For example, if you have a versioning-enabled bucket and someone has deleted any object accidentally, then you can restore deleted object easily.