AWS Assignment– 2
AWS S3 for Linux Learners
Basic Questions
- Create an S3 bucket from the AWS Console with a globally unique name.
- Create an S3 bucket using the AWS CLI (aws s3 mb).
- Upload a text file to your S3 bucket using the AWS Console.
- Upload a text file using the AWS CLI (aws s3 cp).
- Download an object from your S3 bucket to your Linux machine.
- List all buckets in your account using AWS CLI.
- List all objects in your bucket using AWS CLI.
- Enable Bucket Versioning on your S3 bucket.
- Upload two versions of the same file and verify versioning.
- Delete one version of an object and restore the previous version.
- Enable Default Encryption (SSE-S3) for your S3 bucket.
- Upload a file and verify it is encrypted.
- Create an IAM user with S3 access permissions only.
- Configure AWS CLI on Linux using the IAM user credentials.
- Upload an image file to S3 using the IAM user profile.
- Enable Block Public Access on your S3 bucket.
- Change object permissions using ACLs and make one object public.
- Access the public object using its URL in a browser.
- Configure Storage Class for an object to Standard-IA.
- Upload a file with the Glacier storage class and verify storage type.
Intermediate Questions
- Enable Cross-Region Replication (CRR) between two buckets in different regions.
- Upload a file to the source bucket and verify replication to the target bucket.
- Create a Lifecycle rule to move objects older than 30 days to Glacier.
- Create a Lifecycle rule to delete objects after 90 days.
- Enable Access Logs for your S3 bucket and write them to another bucket.
- Explore the generated access logs and identify object access events.
- Enable CloudWatch metrics for your S3 bucket.
- Create a CloudWatch Alarm for “NumberOfObjects” in the bucket.
- Configure SSE-KMS encryption for your bucket.
- Upload a file with SSE-KMS and verify the KMS key used.
- Configure SSE-C encryption and upload a file with a custom key.
- Create a Bucket Policy that allows only your IAM user to access objects.
- Create a policy that denies public access to all objects.
- Host a static website using S3 (index.html + error.html).
- Access your S3 static website URL in a browser.
- Configure a CORS policy for your bucket to allow cross-origin requests.
- Create a folder in S3 and upload multiple files at once.
- Sync a local Linux folder with your S3 bucket using aws s3 sync.
- Use aws s3 ls –recursive to list objects with sizes and timestamps.
- Document differences between S3 storage classes (Standard, IA, Glacier).
Advanced Questions
- Create a bucket with Versioning + Lifecycle + Encryption enabled by default.
- Configure Cross-Account Access to allow another AWS account to access your bucket.
- Upload logs from an EC2 instance to S3 automatically using a cron job + AWS CLI.
- Configure S3 to store Terraform state files for remote backend.
- Configure a CodePipeline to use S3 as a storage location for build artifacts.
- Store Docker images in ECR with backups stored in S3.
- Write a Lambda function that triggers on file upload to S3 and processes metadata.
- Integrate S3 bucket logs with ELK/EFK stack for analysis.
- Write a shell script to automate daily backups from Linux /home to S3.
- Deliver a final hands-on project:
- Create 2 buckets (source + destination)
- Enable Versioning, CRR, Lifecycle policies
- Encrypt objects with SSE-KMS
- Enable Access Logs + CloudWatch metrics
- Host a static website in one bucket
- Automate Linux backups to the source bucket