---
# System prepended metadata

title: Compute on AWS

---

---
title: Course Introduction
---

Compute on AWS
===
Compute services on AWS


:::warning
[toc]
:::


### AWS Compute Portfolio
:::success
- Virtual Machines
    - EC2
- Containers
    - ECS
    - EKS
- Serverless
    - Lambda
    - Fargate
:::


#### [EC2 Features and components](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)


:::success
- Image / Amazon Machine Images (AMIs)
- Instance type
- A key pair
- Security group(s)
- Amazon EBS volume(s)
:::


![Screenshot 2025-12-20 at 12.48.53](https://hackmd.io/_uploads/HkaIjGEm-e.png)


#### EC2 Nomenclature
:::info
m5.xlarge --> m6.xlarge
m       --> Instance family
5       --> Generation
xlarge  --> Size (vCPU / Memory / network bandwidth)
:::

![instance-types-naming-convention](https://hackmd.io/_uploads/rklaj94mZx.png)

#### Recommendation Engines
:::success
- AWS Compute Optimizer
- AWS Trusted Advisor
:::

#### Techniques to customise and install packages on instances
:::info
- User Data
- AMI
- Infra-as-Code
- Config Management
:::

#### Class Activity 1:
**Please go to US-east-1 region before you perform the activities below:**
:::danger
- EC2 instance
    - AMI (Amazon Machine Image) | amazon linux 
    - Instance Type | t3.micro
    - Key Pair [Authentication using Public/private key pair] | create a new one
    - Security Groups | create a new one with SSH, HTTPS and HTTP enabled
    - EBS Volumes | leave the default values

- Connect to the instance using "EC2 instance Connect"
:::
#### Class activity 2:
:::danger
- Create a new security group which allows incoming SSH, HTTP and HTTPS
- Create a new instance with the security group (you just created) and providing the User data for web server installation and configuration
- User Data --> https://dontpad.com/userdata
:::

#### Class activity 3:
:::danger
**1. Make a few changes on your instance**
- create a file in any directory [~/ami-test.txt]
- install a few packages:
    - sudo yum install git
- create a test user
    - sudo useradd <username>

**2. Create an AMI from the instance**
    - sudo yum install git
    - sudo useradd <username>

**3. Create a new instance from the Custom AMI**
    
**4. Connect to the newly created instance and verify changes**

:::

    
#### EC2 Pricing Options
:::info
- On demand
- Spot Instances
    - unused capacity at AWS DCs avaialbel to customers at a discount of upto 90%
    - 120 seconds
- Commitment based | 74% discount over on-demand | 1 or 3 year contract
    - Reserved Instances
    - Savings Plan
- hardware isolation
    - Dedicated Instances
    - Dedicated host
:::    

#### Assignments:

:::danger

1. Complete both linux and windows EC2 modules in the following workshop:
- [Compute - Amazon EC2](https://catalog.workshops.aws/general-immersionday/en-US/basic-modules/10-ec2)
2. Lesson 03 - Demo 03 [Using IAM Roles to Access S3 Bucket] (modify the assignment)

:::
 

    
### References and Links
:::warning
- https://docs.aws.amazon.com/pdfs/whitepapers/latest/tagging-best-practices/tagging-best-practices.pdf
- https://catalog.workshops.aws/general-immersionday/en-US/basic-modules/10-ec2
- 
:::






