AWS notes: S3

  • Regionally resilient. Replicated across all AZs. Can also replicate between regions
  • Object size goes from 0 bytes to 5TB
  • Bucket ID has to be globally unique, across all AWS accounts, & all regions.
  • Flat structure. koala.jpg is in the same folder as /old/koala.jpg. the /old/ is just a prefix
  • Buckets - 100 soft limit, 1000 hard limit per account
  • has different access tiers
  • Encryption in transit, achieved via SSL/TLS

Bucket Policies

  • S3 buckets are private by default, ie only accessible by root account user.

    • S3 bucket policy is a form of resource policy. It controls who can access S3
    • unlimited objects in a bucket
  • a bucket, & objects inside a bucket are not the same thing

    • arn:aws:s3:::memes - bucket
    • arn:aws:s3:::memes/* - objects in bucket
  • on bucket policy, what is the principal key responsible for?

Using S3 to host DJ mixes for Goosebumps

  • create bucket
  • edit bucket access policies
  • IAM account for goosebumps app
  • next api route (takes in a key as param, that’s item name or ID), and that route is what returns an audio stream
  • cloudfront + S3?
  • npm install --save @aws-sdk/client-s3
  • Amazon MediaConvert to make it streamable? or are the small file sizes negligible? 70MB to 350MB - this is probably overkill. S3 + cloudfront ought to be enough

Refs