Ref: https://learn.cantrill.io/courses/1820301/lectures/41301623
DEMO: https://learn.cantrill.io/courses/1820301/lectures/41301625
Amazon S3 - Key Concepts
- 🔧 AWS’s default storage service
- Object Storage (NOT file storage, NOT block storage)
- 👍 Perfect for hosting large data sets (movies, audio, photos, text, unstructured data…)
- Economical
- Access via UI/CLI/API and even HTTP(S)
 
- 👍 Public service, unlimited data & multi-user
- Many AWS products use S3 as their default data input and/or output
 
- ‼️ S3 is a global storage platform, but is regionally based/resilient!!
- S3 bucket names must be globally unique
- Data stored in regions
- Data replicated across AZs of the region
 
 
- Since S3 is Object Store…:
- It is NOT File Store → can't browse an S3 bucket like a File System
- 💡 Amazon EFS or Amazon FSx provide file storage
 
- It is NOT Block Store → can't mount an S3 bucket as K:\\or/images
- 💡 Use Amazon EBS for mountable block storage
 
 
S3 Objects
Diagram: https://github.com/acantril/aws-sa-associate-saac03/blob/main/0500-AWS_FUNDAMENTALS/00_LEARNINGAIDS/S3Basics-1.png
- 💡 objects ≈ files (often conceptually interchangeable… but strictly speaking they're different)
- Components
- Key → identifies the object in a bucket
- e.g. koala.jpg
- 💡 Same function as what a filename is to a file
 
- Value → data/contents of the object
- can range from 0B to 5TB → S3 is very scalable!
- ‼️ 5TB is the maximum size of an S3 object, and it's a HARD LIMIT!! (memorize)
 
- Other components: Version ID, metadata, access control list (ACL), subresources
 
- An object is placed inside a bucket, cannot exist without it
S3 Buckets
Diagram: https://github.com/acantril/aws-sa-associate-saac03/blob/main/0500-AWS_FUNDAMENTALS/00_LEARNINGAIDS/S3Basics-2.png
- 🔧 S3 Bucket = container of S3 objects
- Created in a region → stable & controlled data sovereignty
- Its data never leaves the region unless configured to do so
 
- Can hold an unlimited number of objects → S3 is an infinitely scalable storage system
 
- Bucket name → identifies the bucket (across the whole AWS!)
- e.g. koaladata
- ‼️ Bucket names must be globally unique!! (across ALL regions & ALL AWS accounts!)
- 💡 This is why the ARN of an S3 Bucket does not include the region it's stored in
- e.g. arn:aws:s3:::koalacampagin13333337
 
 
- Bucket naming restrictions:
- 3-63 characters, all lower case, no underscores
- Must start with lowercase or number
- Can not be formatted like IP addresses (e.g. 1.2.3.4)