{"id":22025251,"url":"https://github.com/ronanyeah/learn-aws","last_synced_at":"2025-06-29T04:39:06.210Z","repository":{"id":97194825,"uuid":"46379089","full_name":"ronanyeah/learn-aws","owner":"ronanyeah","description":"FAC Workshop - November 2015","archived":false,"fork":false,"pushed_at":"2015-11-19T10:27:04.000Z","size":16,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T11:34:11.896Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ronanyeah.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-17T22:20:11.000Z","updated_at":"2017-05-08T11:42:33.000Z","dependencies_parsed_at":"2023-03-13T16:18:57.439Z","dependency_job_id":null,"html_url":"https://github.com/ronanyeah/learn-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Flearn-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Flearn-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Flearn-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronanyeah%2Flearn-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ronanyeah","download_url":"https://codeload.github.com/ronanyeah/learn-aws/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252851636,"owners_count":21814185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-30T07:15:24.146Z","updated_at":"2025-05-07T09:34:33.322Z","avatar_url":"https://github.com/ronanyeah.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Founders \u0026 Coders AWS Workshop\nA wild ride through the Amazon cloud! Go from nothing to a Full Stack AWS hosted app.\n\n## What we will will learn today:\n- How to set up AWS security properly.\n  - **Identity and Access Management (IAM)**\n- How to host your website on AWS.\n  - **Elastic Beanstalk**\n- How to deploy your website using the command line.\n   - **EB CLI**\n- How to set up online file storage system for your site.\n  - **Amazon S3**\n- How to set up a MySQL database, autolinked to your site.\n  - **Amazon RDS**\n\n* * *\n\n**Prerequisites:**  \n[Things to Install](https://hackpad.com/Founders-Coders-AWS-Workshop-qzvthpfn1QN)  \n[Bash Script Environment Variables](https://github.com/ronanyeah/bash-export)\n\n* * *\n\n##Step 1 - Check out the UI\n- Add icons to the nav bar.\n\n##Step 2 - Create a security role for your app\n- Don't attach a default policy, we'll create one.\n\n##Step 3 - Create a policy for your app\n- This is where you set the privileges that your app has within AWS.\n- For this app, the permissions necessary are `s3:PutObject` and `s3:PutObjectAcl` (access control list).\n  - [Policy Docs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)\n  - [Policy Options](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actionsconditions.html)\n  - [S3 Policy Options](http://docs.aws.amazon.com/IAM/latest/UserGuide/list_s3.html)\n- ARN should be `arn:aws:s3:::bucketname/*`\n  - [ARN DOCS](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)\n\n##Step 4 - Attach the policy to your app's role\n\n##Step 5 - Create a user for yourself\n- This is to provide you with command line AWS privileges.\n- Attach Elastic Beanstalk policy.\n\n##Step 6 - Create an Elastic Beanstalk application\n- Use the sample application provided.\n- Create an RDS with it.\n- Set the instance role to the one you made.\n\n##Step 7 - Set up S3 Bucket\n- Put bucket name in `env.sh` file and in the Elastic Beanstalk environment variables.\n\n##Step 8 - Add external access to the RDS\n- Add a line to it's security group.\n- Check it out using MySQL Workbench.\n- Add RDS environment variables to `env.sh`.\n\n##Step 9 - Run server\n- Has a line in the DB been created?\n\n##Step 10 - Upload some files\n- Go to S3 and look at the file permissions.\n\n##Step 11 - Initialise Elastic Beanstalk\n- `eb init`\n- What has it created?\n- Why has the `.gitignore` been edited?\n\n##Step 12 - Deploy!\n- `eb deploy`\n\n* * *\n\n##Challenge\n- Change the code so that it deletes the old picture when adding new ones. ([Hint](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html))\n\n* * *\n\n**Useful:**  \n- [AWS Node SDK Docs](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/_index.html)\n- [EB Deploy Docs](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-deploy.html)\n- [AWS Environment Variables](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment)\n- [Accessing instances using SSH](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)\n- [Service Roles](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts-roles.html?console_help=true)\n\n**Extras:**  \n- Build tools and AWS prestart\n- Billing alerts\n- `.ebextensions`\n- EB logs\n- Multi Factor Authentication\n- Refunds","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronanyeah%2Flearn-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronanyeah%2Flearn-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronanyeah%2Flearn-aws/lists"}