Skip to content

Commit 6eb68c5

Browse files
author
bakossandor
authored
AWS Excercises part extended with a simple Elastic Beanstalk application creation (bregman-arie#209)
- Excercise and the Solution added
1 parent 559c69f commit 6eb68c5

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

exercises/aws/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ Failover | Route 53 | [Exercise](route_53_failover.md) | [Solution](solutions/ro
8484
| Hello Function | Lambda | [Exercise](hello_function.md) | [Solution](solutions/hello_function.md) | Easy |
8585
| URL Function | Lambda | [Exercise](url_function.md) | [Solution](solutions/url_function.md) | Easy |
8686

87+
#### AWS - Elastic Beanstalk
88+
89+
|Name|Topic|Objective & Instructions|Solution|Comments|
90+
|--------|--------|------|----|----|
91+
| Simple Elastic Beanstalk Node.js app | Elastic Beanstalk | [Exercise](elastic_beanstalk_simple.md) | [Solution](solutions/elastic_beanstalk_simple.md) | Easy |
92+
93+
8794
#### AWS - Misc
8895

8996
|Name|Topic|Objective & Instructions|Solution|Comments|
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## AWS Elastic Beanstalk - Node.js
2+
3+
### Requirements
4+
5+
1. Having a running node.js application on AWS Elastic Beanstalk platform
6+
7+
### Objectives
8+
9+
1. Create an AWS Elastic Beanstalk application with the basic properties
10+
a. No ALB, No Database, Just use the default platform settings
11+
12+
### Out of scope
13+
14+
1. Having ALB attached in place
15+
2. Having custom domain name in place
16+
3. Having automated pipelines in place
17+
4. Having blue-green deployment in place
18+
5. Writing the Node.js application
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
## AWS Elastic Beanstalk - Node.js
2+
3+
### Prerequisites
4+
1. make sure the node.js application has a _npm start_ command specified in the __package.json__ file like the following example
5+
```
6+
{
7+
8+
"name": "application-name",
9+
"version": "0.0.1",
10+
"private": true,
11+
"scripts": {
12+
"start": "node app"
13+
},
14+
"dependencies": {
15+
"express": "3.1.0",
16+
"jade": "*",
17+
"mysql": "*",
18+
"async": "*",
19+
"node-uuid": "*"
20+
}
21+
```
22+
2. zip the application, and make sure to not zip the parent folder, only the files together, like:
23+
24+
```
25+
\Parent - (exclude the folder itself from the the zip)
26+
- file1 - (include in zip)
27+
- subfolder1 (include in zip)
28+
- file2 (include in zip)
29+
- file3 (include in zip)
30+
```
31+
32+
### Solution
33+
34+
1. Create a "New Environment"
35+
2. Select Environment => _Web Server Environment_
36+
3. Fill the Create a web server environment section
37+
a. Fill the "Application Name"
38+
4. Fill the Environment information section
39+
a. Fill the "Environment Name"
40+
b. Domain - "Leave for autogenerated value"
41+
5. Platform
42+
a. Choose Platform => _node.js_
43+
6. Application Code => upload the Zipped Code from your local computer
44+
7. Create Environment
45+
8. Wait for the environment to come up
46+
9. Check the website
47+
a. Navigate to the _Applications_ tab,
48+
b. select the recently created node.js app
49+
c. click on the URL - highlighted
50+
51+
### Documentation
52+
[Elastic Beanstalk / Node.js getting started](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/nodejs-getstarted.html)

0 commit comments

Comments
 (0)