AWS Tutorial For Beginners & Experts: Learn In 3 Days
Last updated on 29th May 2020, Blog, Tutorials
AWS (Amazon Web Service) is a cloud computing platform that enables users to access on demand computing services like database storage, virtual cloud server, etc. This online course will give an in-depth knowledge on EC2 instances as well as useful strategy on how to build and modify instances for your own applications.
What is Cloud Computing?
Cloud computing is a term referred to storing and accessing data over the internet. It doesn’t store any data on the hard disk of your personal computer. In cloud computing, you can access data from a remote server.
What is AWS?
Amazon web service is a platform that offers flexible, reliable, scalable, easy-to-use and cost-effective cloud computing solutions.
AWS is a comprehensive, easy to use computing platform offered by Amazon. The platform is developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offerings.
History of AWS
- 2002- AWS services launched
- 2006- Launched its cloud products
- 2012- Holds first customer event
- 2015- Reveals revenues achieved of $4.6 billion
- 2016- Surpassed $10 billion revenue target
- 2016- Release snowball and snowmobile
- 2019- Offers nearly 100 cloud services
Important AWS Services
Amazon Web Services offers a wide range of different business purpose global cloud-based products. The products include storage, databases, analytics, networking, mobile, development tools, enterprise applications, with a pay-as-you-go pricing model.
Here are essential AWS services.
AWS Compute Services
Here, are Cloud Compute Services offered by Amazon:
- EC2(Elastic Compute Cloud) : EC2 is a virtual machine in the cloud on which you have OS level control. You can run this cloud server whenever you want.
- LightSail : This cloud computing tool automatically deploys and manages the computer, storage, and networking capabilities required to run your applications.
- Elastic Beanstalk : The tool offers automated deployment and provisioning of resources like a highly scalable production website.
- EKS (Elastic Container Service for Kubernetes) : The tool allows you to Kubernetes on Amazon cloud environments without installation.
- AWS Lambda : This AWS service allows you to run functions in the cloud. The tool is a big cost saver for you as you pay only when your functions execute.
Migration services used to transfer data physically between your datacenter and AWS.
- DMS (Database Migration Service) : DMS service can be used to migrate on-site databases to AWS. It helps you to migrate from one type of database to another — for example, Oracle to MySQL.
- SMS (Server Migration Service) : SMS migration services allow you to migrate on-site servers to AWS easily and quickly.
- Snowball : Snowball is a small application which allows you to transfer terabytes of data inside and outside of the AWS environment.
- Amazon Glacier : It is an extremely low-cost storage service. It offers secure and fast storage for data archiving and backup.
- Amazon Elastic Block Store (EBS) : It provides block-level storage to use with Amazon EC2 instances. Amazon Elastic Block Store volumes are network-attached and remain independent from the life of an instance.
- AWS Storage Gateway : This AWS service is connecting on-premises software applications with cloud-based storage. It offers secure integration between the company’s on-premises and AWS’s storage infrastructure.
- IAM (Identity and Access Management) : IAM is a secure cloud security service which helps you to manage users, assign policies, form groups to manage multiple users.
- Inspector : It is an agent that you can install on your virtual machines, which reports any security vulnerabilities.
- Certificate Manager : The service offers free SSL certificates for your domains that are managed by Route53.
- WAF (Web Application Firewall) : WAF security service offers application-level protection and allows you to block SQL injection and helps you to block cross-site scripting attacks.
- Cloud Directory : This service allows you to create flexible, cloud-native directories for managing hierarchies of data along multiple dimensions.
- KMS (Key Management Service) : It is a managed service. This security service helps you to create and control the encryption keys which allows you to encrypt your data.
- Organizations : You can create groups of AWS accounts using this service to manage security and automation settings.
- Shield : Shield is managed DDoS (Distributed Denial of Service protection service). It offers safeguards against web applications running on AWS.
- Macie : It offers a data visibility security service which helps classify and protect your sensitive critical content.
- Guard Duty : It offers threat detection to protect your AWS accounts and workloads.
Enroll in On-Demand AWS Training and Get Hired By TOP MNCs
- Instructor-led Sessions
- Real-life Case Studies
- Amazon RDS : This Database AWS service is easy to set up, operate, and scale a relational database in the cloud.
- Amazon DynamoDB : It is a fast, fully managed NoSQL database service. It is a simple service which allows cost-effective storage and retrieval of data. It also allows you to serve any level of request traffic.
- Amazon Elasti Cache : It is a web service which makes it easy to deploy, operate, and scale an in-memory cache in the cloud.
- Neptune : It is a fast, reliable and scalable graph database service.
- Amazon RedShift : It is Amazon’s data warehousing solution which you can use to perform complex OLAP queries.
- Athena : This analytics service allows perm SQL queries on your S3 bucket to find files.
- Cloud Search : You should use this AWS service to create a fully managed search engine for your website.
- Elastic Search : It is similar to CloudSearch. However, it offers more features like application monitoring.
- Kinesis : This AWS analytics service helps you to stream and analyze real-time data at massive scale.
- QuickSight : It is a business analytics tool. It helps you to create visualizations in a dashboard for data in Amazon Web Services. For example, S3, DynamoDB, etc.
- EMR (Elastic Map Reduce) : This AWS analytics service mainly used for big data processing like Spark, Splunk, Hadoop, etc.
- Data Pipeline : Allows you to move data from one place to another. For example from DynamoDB to S3.
- Cloud Watch : Cloud watch helps you to monitor AWS environments like EC2, RDS instances, and CPU utilization. It also triggers alarms depending on various metrics.
- Cloud Formation : It is a way of turning infrastructure into the cloud. You can use templates for providing a whole production environment in minutes.
- Cloud Trail : It offers an easy method of auditing AWS resources. It helps you to log all changes.
- Ops Works : The service allows you to automated Chef/Puppet deployments on AWS environments.
- Config : This AWS service monitors your environment. The tool sends alerts about changes when you break certain defined configurations.
- Service Catalog : This service helps large enterprises to authorize which services user will be used and which won’t.
- AWS Auto Scaling : The service allows you to automatically scale your resources up and down based on given Cloud Watch metrics.
- Systems Manager : This AWS service allows you to group your resources. It allows you to identify issues and act on them.
- Managed Services : It offers management of your AWS infrastructure which allows you to focus on your applications.
Internet of Things
- IoT Core : It is a managed cloud AWS service. The service allows connected devices like cars, light bulbs, sensor grids, to securely interact with cloud applications and other devices.
- IoT Device Management : It allows you to manage your IoT devices at any scale.
- IoT Analytics : This AWS IOT service is helpful to perform analysis on data collected by your IoT devices.
- Amazon FreeRTOS : This real-time operating system for micro controllers helps you to connect IoT devices in the local server or into the cloud.
- Step Functions : It is a way of visualizing what’s going inside your application and what different microservices it is using.
- SWF (Simple Workflow Service) : The service helps you to coordinate both automated tasks and human-led tasks.
- SNS (Simple Notification Service) : You can use this service to send you notifications in the form of email and SMS based on given AWS services.
- SQS (Simple Queue Service) : Use this AWS service to decouple your applications. It is a pull-based service.
- Elastic Trans coder : This AWS service tool helps you to change a video’s format and resolution to support various devices like tablets, smartphones, and laptops of different resolutions.
Deployment and Management
- AWS CloudTrail: The services record AWS API calls and send backlog files to you.
- Amazon CloudWatch: The tools monitor AWS resources like Amazon EC2 and Amazon RDS DB Instances. It also allows you to monitor custom metrics created by user’s applications and services.
- AWS CloudHSM: This AWS service helps you meet corporate, regulatory, and contractual, compliance requirements for maintaining data security by using the Hardware Security Module(HSM) appliances inside the AWS environment.
- Code Star : Code star is a cloud-based service for creating, managing, and working with various software development projects on AWS.
- Code Commit : It is AWS’s version control service which allows you to store your code and other assets privately in the cloud.
- Code Build : This Amazon developer service help you to automates the process of building and compiling your code.
- Code Deploy : It is a way of deploying your code in EC2 instances automatically.
- Code Pipeline : It helps you create a deployment pipeline like testing, building, testing, authentication, deployment on development and production environments.
- Cloud9 : It is an Integrated Development Environment for writing, running, and debugging code in the cloud.
- Mobile Hub : Allows you to add, configure and design features for mobile apps.
- Cognito : Allows users to sign up using his or her social identity.
- Device Farm ; Device farm helps you to improve the quality of apps by quickly testing hundreds of mobile devices.
- AWS AppSync : It is a fully managed GraphQL service that offers real-time data synchronization and offline programming features.
- Alexa for Business : It empowers your organization with voice, using Alexa. It will help you to allow you to build custom voice skills for your organization.
- Chime : Can be used for online meetings and video conferencing.
- Work Docs : Helps to store documents in the cloud
- Work Mail : Allows you to send and receive business emails.
Desktop & App Streaming
- WorkSpaces : Workspace is a VDI (Virtual Desktop Infrastructure). It allows you to use remote desktops in the cloud.
- AppStream : A way of streaming desktop applications to your users in the web browser. For example, using MS Word in Google Chrome.
- Lex : Lex tool helps you to build chatbots quickly.
- Polly : It is AWS’s text-to-speech service that allows you to create audio versions of your notes.
- Recognition : It is AWS’s face recognition service. This AWS service helps you to recognize faces and objects in images and videos.
- Sage Maker : Sage maker allows you to build, train, and deploy machine learning models at any scale.
- Transcribe : It is AWS’s speech-to-text service that offers high-quality and affordable transcriptions.
- Translate : It is a very similar tool to Google Translate which allows you to translate text in one language to another.
AR & VR (Augmented Reality & Virtual Reality)
- Sumerian : Sumerian is a set of tools for offering high-quality virtual reality (VR) experiences on the web. The service allows you to create interactive 3D scenes and publish it as a website for users to access.
- Amazon Connect : Amazon Connect allows you to create your customer care center in the cloud.
- Pinpoint : Pinpoint helps you to understand your users and engage with them.
- SES (Simple Email Service) : Helps you to send bulk emails to your customers at a relatively cost-effective price.
Game Lift : It is a service which is managed by AWS. You can use this service to host dedicated game servers. It allows you to scale seamlessly without taking your game offline.
Applications of AWS services
Amazon Web services are widely used for various computing purposes like:
- Website hosting
- Application hosting/SaaS hosting
- Media Sharing (Image/ Video)
- Mobile and Social Applications
- Content delivery and Media Distribution
- Storage, backup, and disaster recovery
- Development and test environments
- Academic Computing
- Search Engines
- Social Networking
Companies using AWS
Advantages of AWS
Following are the pros of using AWS services:
- AWS allows organizations to use the already familiar programming models, operating systems, databases, and architectures.
- It is a cost-effective service that allows you to pay only for what you use, without any up-front or long-term commitments.
- You will not require to spend money on running and maintaining data centers.
- Offers fast deployments
- You can easily add or remove capacity.
- You are allowed cloud access quickly with limitless capacity.
- Total Cost of Ownership is very low compared to any private/dedicated servers.
- Offers Centralized Billing and management
- Offers Hybrid Capabilities
- Allows you to deploy your application in multiple regions around the world with just a few clicks
Disadvantages of AWS
- If you need more immediate or intensive assistance, you’ll have to opt for paid support packages.
- Amazon Web Services may have some common cloud computing issues when you move to a cloud. For example, downtime, limited control, and backup protection.
- AWS sets default limits on resources which differ from region to region. These resources consist of images, volumes, and snapshots.
- Hardware-level changes happen to your application which may not offer the best performance and usage of your applications.
Best practices of AWS
- You need to design for failure, but nothing will fail.
- It’s important to decouple all your components before using AWS services.
- You need to keep dynamic data closer to compute and static data closer to the user.
- It’s important to know security and performance tradeoffs.
- Pay for computing capacity by the hourly payment method.
- Make a habit of a one-time payment for each instance you want to reserve and to receive a significant discount on the hourly charge.
Get AWS Certification Course By Expert Professionals to Boost UP Your SkillsWeekday / Weekend BatchesSee Batch Details
How to Create EC2 Instance in AWS: Step by Step Tutorial
What is Amazon EC2 Instance?
An EC2 instance is nothing but a virtual server in Amazon Web services terminology. It stands for Elastic Compute Cloud. It is a web service where an AWS subscriber can request and provision a computer server in AWS cloud.An on-demand EC2 instance is an offering from AWS where the subscriber/user can rent the virtual server per hour and use it to deploy his/her own applications.The instance will be charged per hour with different rates based on the type of the instance chosen. AWS provides multiple instance types for the respective business needs of the user.Thus, you can rent an instance based on your own CPU and memory requirements and use it as long as you want. You can terminate the instance when it’s no longer used and save on costs. This is the most striking advantage of an on-demand instance- you can drastically save on your CAPEX.
Login and access to AWS services
Step 1 :
In this step, Login to your AWS account and go to the AWS Services tab at the top left corner.
Here, you will see all of the AWS Services categorized as per their area viz. Compute, Storage, Database, etc. For creating an EC2 instance, we have to choose Computeà EC2 as in the next step.Creating an Amazon EC2 instance
Open all the services and click on EC2 under Compute services. This will launch the dashboard of EC2.Here is the EC2 dashboard. Here you will get all the information in gist about the AWS EC2 resources running.Creating an Amazon EC2 instance
Step 2 :
In this step, On the top right corner of the EC2 dashboard, choose the AWS Region in which you want to provision the EC2 server.
Here we are selecting N. Virginia. AWS provides 10 Regions all over the globe.
Creating an Amazon EC2 instance
Step 3 :
In this step,Once your desired Region is selected, come back to the EC2 Dashboard.
Click on the ‘Launch Instance’ button in the section of Create Instance (as shown below).
Creating an Amazon EC2 instance
Instance creation wizard page will open as soon as you click ‘Launch Instance’.
Step 1) In this step we will do,
- You will be asked to choose an AMI of your choice. (An AMI is an Amazon Machine Image. It is a template basically of an Operating System platform which you can use as a base to create your instance). Once you launch an EC2 instance from your preferred AMI, the instance will automatically be booted with the desired OS. (We will see more about AMIs in the coming part of the tutorial).
- Here we are choosing the default Amazon Linux (64 bit) AMI.
Choose EC2 Instance Types
Step 1) In the next step, you have to choose the type of instance you require based on your business needs.
- We will choose t2.micro instance type, which is a 1vCPU and 1GB memory server offered by AWS.
- Click on “Configure Instance Details” for further configurations
- In the next step of the wizard, enter details like no. of instances you want to launch at a time.
- Here we are launching one instance.
Step 1) No. of instances- you can provision up to 20 instances at a time. Here we are launching one instance.
Step 2) Under Purchasing Options, keep the option of ‘Request Spot Instances’ unchecked as of now. (This is done when we wish to launch Spot instances instead of on-demand ones. We will come back to Spot instances in the later part of the tutorial).
Step 3) Next, we have to configure some basic networking details for our EC2 server.
- You have to decide here, in which VPC (Virtual Private Cloud) you want to launch your instance and under which subnets inside your VPC. It is better to determine and plan this prior to launching the instance. Your AWS architecture set-up should include IP ranges for your subnets etc. pre-planned for better management. (We will see how to create a new VPC in the Networking section of the tutorial.
- Subnetting should also be pre-planned. E.g.: If it’s a web server you should place it in the public subnet and if it’s a DB server, you should place it in a private subnet all inside your VPC.
- Network section will give a list of VPCs available on our platform.
- Select an already existing VPC
- You can also create a new VPC
Here I have selected an already existing VPC where I want to launch my instance.
Step 4) In this step,
A VPC consists of subnets, which are IP ranges that are separated for restricting access. Below,
- Under Subnets, you can choose the subnet where you want to place your instance.
- I have chosen an already existing public subnet.
- You can also create a new subnet in this step.
- Once your instance is launched in a public subnet, AWS will assign a dynamic public IP to it from their pool of IPs.
Step 5) In this step,
- You can choose if you want AWS to assign it an IP automatically, or you want to do it manually later. You can enable/ disable the ‘Auto assign Public IP’ feature here likewise.
- Here we are going to assign this instance a static IP called as EIP (Elastic IP) later. So we keep this feature disabled as of now.
Step 6) In this step,
In the following step, keep the option of IAM role ‘None’ as of now. We will visit the topic of IAM roles in detail in IAM services.
Step 7) In this step, you have to do following things
- Shutdown Behavior – when you accidently shut down your instance, you surely don’t want it to be deleted but stopped.
- Here we are defining my shutdown behavior as Stop.
Step 8) In this step,
- In case you have accidently terminated your instance, AWS has a layer of security mechanism. It will not delete your instance if you have enabled accidental termination protection.
- Here we are checking the option for further protecting our instance from accidental termination.
Step 9) In this step,
- Under Monitoring- you can enable Detailed Monitoring if your instance is a business critical instance. Here we have kept the option unchecked. AWS will
- always provide Basic monitoring on your instance free of cost. We will visit the topic of monitoring in AWS Cloud Watch part of the tutorial.
- Under Tenancy- select the option if shared tenancy. If your application is a highly secure application, then you should go for dedicated capacity. AWS provides both options.
Step 10) In this step,
- Click on ‘Add Storage’ to add data volumes to your instance in the next step.
Add Storage :
In this step we do following things,
- In the Add Storage step, you’ll see that the instance has been automatically provisioned a General Purpose SSD root volume of 8GB. ( Maximum volume size we can give to a General Purpose volume is 16GB)
- You can change your volume size, add new volumes, change the volume type, etc.
- AWS provides 3 types of EBS volumes- Magnetic, General Purpose SSD, Provisioned IOPs. You can choose a volume type based on your application’s IOPs needs.
In this step :
- you can tag your instance with a key-value pair. This gives visibility to the AWS account administrator when there are a lot of instances.
- The instances should be tagged based on their department, environment like Dev/SIT/Prod. Etc. this gives a clear view of the costing on the instances under one common tag.
- Here we have tagged the instance as a Dev_Web server 01
- Go to configure Security Groups later
Configure Security Groups
In this next step of configuring Security Groups, you can restrict traffic on your instance ports. This is an added firewall mechanism provided by AWS apart from your instance’s OS firewall.
You can define open ports and IPs.
Since our server is a web server, we will do following things :
- Creating a new Security Group
- Naming our SG for easier reference
- Defining protocols which we want enabled on my instance
- Assigning IPs which are allowed to access our instance on the said protocols
- Once, the firewall rules are set- Review and launch
The AWS Well-Architected Framework provides architectural best practices across the five pillars for designing and operating reliable, secure, efficient, and cost-effective systems in the cloud. The Framework provides a set of questions that allows you to review an existing or proposed architecture.Hope you have found all the details that you were looking for, in this article.