
- Bucket type: keep General-purpose for standard ML workloads.
- Region: choose the region where you run compute (data transfer costs and latency matter).
- Bucket name: must be globally unique across AWS (namespace is global).
- Object ownership: recommended to disable ACLs and use bucket policies/IAM.
Choose a bucket name that reflects the project and region, for example
machine-learning-demo-<your-initials>. Use tags like Project: ML-Demo for cost tracking and easy discovery.machine-learning-demo. I left Object ownership at the recommended setting (disable ACLs).

- Block Public Access: decide whether the bucket should allow public reads. For demos you might allow public reads, but never do this for sensitive or production data.
- Encryption: enable server-side encryption (SSE-S3 or AWS KMS). SSE-S3 is fine for many cases; use KMS for stricter key control.
Disabling Block Public Access can make the bucket and its objects publicly readable. Only disable this for short-lived demos or non-sensitive data. For real projects, keep Block Public Access enabled and grant access via IAM, bucket policies, or pre-signed URLs.
machine-learning-demo-ak). Once created, the bucket appears in the console and shows it contains no objects yet.

Create
raw-data/ and processed-data/ first and leave encryption as the bucket default. The console will show the newly-created folders.

training-data/, predictions/, and models/. This simple layout maps directly to an ETL/ML lifecycle: ingest -> process -> prepare training features -> train and save models -> serve predictions.
Upload a sample dataset
For this demo I uploaded the Titanic dataset (commonly used for ML tutorials). Open the CSV locally to verify columns (Survived is 0/1, Pclass is passenger class, etc.). Here’s the CSV snippet I uploaded to raw-data/titanic.csv:

raw-data/ prefix in the console. The upload completes and S3 displays upload metadata.

- S3 URI for the uploaded object:
s3://machine-learning-demo-ak/raw-data/titanic.csv - Bucket ARN:
arn:aws:s3:::machine-learning-demo-ak - Object ARN:
arn:aws:s3:::machine-learning-demo-ak/raw-data/titanic.csv
titanic.csv. Note: if versioning is turned on after an initial upload, the pre-existing upload is the null (unversioned) version.

- Default encryption: SSE-S3 or AWS KMS for higher control.
- Lifecycle rules / Intelligent-Tiering: automatically move infrequently accessed objects to cheaper storage tiers (e.g., Glacier) after a retention period.
- Access control: use IAM roles, bucket policies, and pre-signed URLs for secure cross-service access.
raw-data/, write intermediate outputs to processed-data/, emit training sets into training-data/, save models to models/, and store predictions in predictions/. Future guides will show how to integrate these prefixes with AWS Glue, Amazon SageMaker, and CI/CD pipelines.
Links and references