Lab10: Introduction to Amazon Elastic MapReduce (EMR)

In this Lab, I will demonstrate the following contents

  • Creating an Amazon S3 buckets
  • Creating and launching an Amazon EMR cluster using AWS Management Console
  • Running a sample word count application to process data and How to monitor your cluster by using Amazon EMR console status indicators
  • How to view the amazon EMR output data in Amazon S3.

Amazon EMR is the AWS web services which help you to process a vast amount of data very quickly and cost-effectively. Amazon EMR is an open source framework uses Apache Hadoop. It mainly distributes your data and processing that data among a resizeable Amazon EC2 instance Cluster.

Amazon EMR  Use Cases: A broad set of big data can be handled by Amazon EMR securely and reliably such as

  • Web Indexing
  • Log analysis
  • Warehousing machine learning
  • Scientific  Simulation
  • Data Warehousing
  • Bioinformatics
  • Data transformations (ETL)

Step for the task: Creating an Amazon S3 buckets

  1. Click S3 under Storage from Sevices Menu in the AWS Management Console.
  2. Click “Create Bucket‘ from Amazon S3 pages. Type your bucket name and region. Then click “Create”1.jpg

Note: Amazon EMR uses Amazon S3 bucket name. Your bucket name must be unique and lower case only without any space, underscores, or periods.

3. If your bucket name is not available in the system and taking by another user. You will get the following error.2.jpg

Cost reducing recommendation:  Create Amazon S3 bucket and cluster same region to avoid paying cross-region bandwidth charges. It will reduce your data transfer cost.

Steps for the task: Creating and launching an Amazon EMR cluster using AWS Management Console

This step I will show how to create and launch cluster in Amazon Platform. For performing computation Amazon EMR provisions Ec2 Instance. Amazon EC2 instance preloaded with an Amazon Machine Image (AMI) that has been specially customised for Amazon EMR with Hadoop and other big data applications.

  1. Click “EMR” under Analytics from Services Menu in the AWS management console.
  2. Click “Create Cluster” from Amazon Elastic MapReduce.3.jpg
  3. Go to advanced options wizard from “Create Cluster – Quick Options” page.4.jpg
  4. Software Configuration, Select emr-4.7.1 for release. This is software release version.5.jpg
  5. Click Streaming program for step type under add Steps on the advance Options page. Then click “Configure“.6.jpg
  6. After clicking on “Configure”. Add step wizard, you have to put some link location after type name. I named: word count. You can use any meaningful name. 7.jpg

Mapper field: s3://elasticmapreduce/samples/wordcount/wordSplitter.py

Reducer field: aggregate

Input S3 Location field: s3://elasticmapreduce/samples/wordcount/input

Output S3 Location field: s3///output/  . It would be like : s3://emr-bucket-slt2317/output/

7. After putting all the information in the required field, click Add.8.jpg

8. Click the box of ” Auto-terminal cluster after the last step is completed” and click “Next”.

9. Leave the “Hardware Setting” defaults. Click “Next“. 9.jpg

10. Keep the logging enable  and  In the S3 folder replace auto generate name by  s3:///logs, like  s3://emr-bucket-slt2317/logs/ 10.jpg

11. click “Next“. On the Security Options, You have to select an EC2 key pair. Note: You can proceed without Key Pair but in this case, you can not connect to the Master node via SSH without keynote. On the permission section, you can leave it default or you can be customised your own permission. Then click “Create Cluster”.11.jpg

12. Now My cluster is ready and launched a managed cluster with EMR.12.jpg

13.jpg

Steps for the task: Running a sample word count application to process data and How to monitor your cluster by using Amazon EMR console status indicators

In this steps, you will monitor the Custer during counting the word in the input test. Input data in pre-configured that we mapped previously during our cluster configuration

Amazon EMR will copy the word count results into the Amazon S3 output bucket after the cluster is complete the processing of data that into the S3 output bucket that  I linked s3 output during configuration.

  1. To view the cluster list and result click “Cluster List“. On the right side of radio button select My cluster and click small drop-down arrow left side of My cluster14.jpg
  2. For monitoring your EMR job, click the circular arrow icon to refresh the status of your job periodically. when  ERM job will be done, you will view your cluster status will show “Terminated“.15.jpg

Steps for the task: How to view the amazon EMR output data in Amazon S3

Your result of the word count would be stored in the Amazon S3 output mapped file after complete the result.

  1. For the view, the result, Go to the Amazon S3 bucket again from service menu on the page of AWS management console.
  2. Select the bucket you created in S3 for EMR.
  3. Click on OutPut Folder. In the Output Folder, you will see One or more files. The result of the test files. If you see that title “Sucess“. If you want to download, click download option and if you want to view the file you can “Open the Test File”.

Problem-solving issues:

If see the status of the streaming program failed, you have to process your input data again. It shows that your processing word count is failed. You will not see any result. But you will find out the reason for failing in the log folder of Amazon S3 output buckets.

16.jpg

17.jpg

Cost analysis: 

Price Method: Amazon EMR price method is an hourly rate for each instance you use. Suppose, If you use 10 node cluster running for the 10 hours costs is equal to a 100 node cluster running for 1 hours.

The hourly rate depends on Instance type and it’s configuration resources such as Standard, CPU, high Memory, high storage. Hourly prices range from $0.011/hour to $0.27/hour ($94/year to $2367/year).

The Amazon EMR price is not included with Amazon EC2 price. That means You have to pay to EC2 price as well.

Pricing Options:

  •  On-Demand
  • 1 year & 3-year Reserved Instances
  • Spot instances

On-Demand Instances are the most expensive but most flexibility. EC2 also offers Reserved Instances and Spot Instances that help you to optimised your cost.

Cost-Optimised suggestion: Amazon EMR with Spot Instance is the most cost-effective payment selecting a method to scale, decreasing your data processing. It will help you to reduce cost over 50% according to the VP of Engineering at Fliptop. Source: https://aws.amazon.com/emr/pricing/

Thank you 🙂

Lab9: Introduction to Elastic Load Balancing

This lab I will demonstrate the following contents:

  • Creating an Elastic Load Balancer And Adding an Elastic Instance to an Elastic Load Balancer

What is Amazon Elastic Load Balancer:

An Amazon Elastic Load Balancer is the automatically distributes incoming application traffic service across multiple Amazon EC2 instance. 

Elastic Load balancer offers two type of services: 1. Classic load Balancer and 2. Application Load balancer. In this lab, I will discuss the configuration of Classic Load Balancer.

Benefits of Amazon Elastic Load Balancer: It helps you to handle fault tolerance in your applications system. It seamlessly giving the load balance capacity amount needed in response to incoming application traffic. It can able to detect unhealthy instance within a pool and reroutes its traffic to healthy instance automatically until restore the unhealthy instances.

Amazon Elastic Load balancing can be enabled within a single Availability Zone or among multiple Availability Zone for maintaining the more consistent performance of applications. you can also be used it to shared traffic between application tiers in Amazon Virtual private Cloud (VPC).

Steps for the task: Creating an Elastic Load Balancer And Adding an Elastic Instance to an Elastic Load Balancer

  1. Click EC2 on the Services Menu in the AWS Management Console. From the left navigation pane, click “Create Load Balancer” and select “Classic Load Balancer“.1.jpg
  2. Provide the name of Load Balancer. I put the name “free-lab-load balancer”. You can provide your owner choice name but remember “The name must contain alphanumeric characters or dashes without any spaces”2.jpg
  3. In the listener Configurations, Provide the load balancer protocol. That is traffic from outside your network can be routed from any load balancer port to any port on your Amazon EC2 instances. By default, AWS services configured load balancer with a standard web server on port 80. You can add more TCP protocol ports there.
  4. In the Define Load Balancer page after listener configuration, You need to select subnet which must be available. This is because of which Availability Zone you want your traffic would be routed by your load balancer.  Note: The AWS recommendation is to select minimum two subnets in different Availability Zone for higher availability for load balancer if you have only one Amazon Instance.3.jpg
  5. Click “Next: Assign Security Groups“. In the security group screen, you will get two options 1. To Create a new security group; 2. select an existing security group. Note: If you don’t have any security group, then select create a new group and this security group for your load balancer which will control traffic flow;  However; I have an exciting security group that I made on my lab2: VPC. I selected existing security group.4.jpg
  6. Click “Next: Configure Security Setting“.leave it by default and click Next: Configure Health Check”.  Note: The load balancer will perform health checks for your EC2 instance automatically and traffic will route to the instance which will be passed by health check. fail instance will be removed from load balancer automatically. You can customise your health check from advanced customised options.5.jpg
  7. Next: Add EC2 Instances.  Note: You can add only one instance or you can add multiple instances into one load balancer.  It is cost reducing if you add all of your EC2 instances into one Load balancer and configure the second load balancer for failover if the first load balancer fail. 6.jpg
  8. Next: Add Tags. Give a relevant name tag to your Load balancer. Note: A tag helps you to identify and re-organise your resources in the cloud platforms if you are using serval different services. 7.jpg
  9. Click create after complete your review. It will take a few seconds for processing to create the load balancer.8.jpg
  10. Now you can view your newly created load balancer to go EC2 instance dashboard and select load balancer from load balancing tab. 10.jpg
  11. At the bottom of the screen click “Instance“, wait for several minutes until they become available. They are usually be listed as “OutOfServices” until they fully activated.
  12. If your instance “OutOfService” with the status that one of your thresholds failed to pass health check status. In this case, You have to remove your instance from the Load balancer. Your health report will be “Availability Zone contains no healthy instances”11.jpg
  13.  If you get your instance “In service” for all instance you assigned under load balanced. Click “Description” tab and find the “DNS Name” field. Note: Resources and load balancer take the minimum of 10 minutes to created URL in the DNS name field.

14. Copy and paste your DNS Name URL except for a Record part at the end in your web browser. You will get Load balanced page. After opening your load balancing page for running instance, on the back end, your request will be being excute between load balance and your instance.

Question: What is classic load balancer? 

Answer: The classic load balance is the traffic based routes that passing information on the application or network level. If you want to balance traffic among EC2 instance, Amazon Classic Load Balance is the best suit consider its providing offers. and when you require automatic scaling, high availability, robust security and automatic scaling.

The features of classic load balancer: 

  • High Availability and Health Check
  • Security balance when you assigned load balanced through VPC
  • SSL Offloading and Sticky Sessions
  • IPv6 Support (Currently unavailable for VPC)
  • Layer 4 or Layer 7 Load Balancing
  • Operational Monitoring and Logging

Question: How manyAmazon Elastic load balanced I can create in one region?

Answer: Maximum of 20 load balancer you can create in a region including classic and application Load balancers.

Cost Analysis:

Classic Load Balancer Pricing 

Price Method: You will be paid what you use. 

Charged applicable for running load balancer each hour or partial for each GB of data transferred through your load balancer considered as a full hour.

Payment time: At the end of each month after calculating how much data your elastic load balancing resources consumed.

 Calculating procedure: 

Region: US West (Oregon)

  • $0.025 per Elastic Load Balancer-hour (or partial hour)
  • $0.008 per GB of data processed by an Elastic Load Balancer

Suppose, If you are running a medium size website like your company websites. Your region is US West and you use one load balancer to distribute your incoming traffic. 

Let’s, If you pay $0.025 per hours,  the monthly charged will be = $0.025 per hour * 24 hours per day * 30 days a month * 1 load balancer * = $18.00 

and If you pay $0.0.08 per GB and your total load balancer transferred 150 GB data over the month (30 days). The price will be = $0.008 *  150 = $12.00

Your total monthly cost is = $18.00 + $12.00 = $30.00. Note: Partial hours are also considered as full hours when they will bill you.

Cost reducing suggestion: Blocking unnecessary traffic through VPC security group setting or stop your unused running instance can help you reducing the price.

Thank you 🙂

Lab8: Introduction to Amazon DynamoDB

In this lab, I will demonstrate the following topics on Amazon DynamoDB:  

  • Create an Amazon DynamoDB table
  • Loading data into aa Amazon DynamoDB table
  • Querying Amazon DynamoDB
  • Deleting an Amazon DynamoDB table

Amazon DynamoDb is the NoSQL database service for all applications that requires high availability, resilience, scalable performance, single-digit millisecond latency at any scale. It is one of fast and flexible database service which is higher manageable capacity as well as it supports data models either it is document or key-value. Because of its flexible data model and reliable performance, most application platforms such as mobile, ad-tach, IoT, gaming etc are choosing it as their database service.

NoSQL database is the non-relational database’s system which provides high performance. The top most benefits are that NoSQL data model is full of variety data. It can handle document, key-value, graph, and column.

Steps for the task: Create an Amazon DynamoDB table

  1. Log in your Amazon Management console by your amazon user ID and password. Then click Service in the Amazon Management Console. Click “DynamoDB” from Database panel.1.jpg
  2. On the page of DynamoDB. Click “Create Table“. You will get provision for table creation on your DynamoDB services.

Suppose, You want to build a database system for a music search application and where you want to store your music data. Put your table name:  Music, Primary Key: Artist and add sort key: SongTitle. As you are going to put character data into the database, select the data type: String, and select table settings: default.

Note: Remember, Table name must be 3-255 Characters long and it could be the combination of character, number, and special characters.

*** The primary key is made up of a partition key (hash key) and an optional sort key. The partition key is used to partition data across hosts for scalability and availability. Choose an attribute which has a wide range of values and is likely to have evenly distributed access patterns. For example, Here, I selected Artist as my primary key. 

*** The sort key allows for searching within a partition. For example, Music table with primary attribute Artist and sort attribute SongTitle would allow for queries for all music by a specific artist in a given date range.

2.jpg

3. Click “Create“. Now your  Music table will be ready including “Read and Write” permission. 3.jpg

Steps for the task: Adding and Modifying TableData

In this step, I am going to add data into my newly created table: Music. In the DynamoDb, each table is made of “Attributes”. Whenever you will need to insert data into your table, you only require Primary key attributes. The wonderful part of DynamoDb is that You don’t need to think about schema except for primary, that means you do not need to entry same kind of attributes. You can add attributes to one item and that may be different than attributes of another item.

  1. Go to Item of the music table from DynamoDB page. Click  Create Item. A wizard will have appeared where you will able to add or modify attributes values. Suppose, I put Artist attribute value ” No one You Know” and SongTitle ” Call me Today”.

Note: The attribute type you declared during creating attribute is the string. You have to maintain data type, otherwise, you will get an error.5.jpg

2. If you want to add more attribute, click the plus sign to the left of the last attribute. A new attribute field will appear. You have to declares attribute name and value.  6.jpg

Here, I am going to add two more new attributes such as SongTite data type “String”,  and Year data type: Number. 7.jpg

3. After clicked “Save“. My first item is created. Now I am going to create two more items. If you want to add more items into your tables, repeating the steps that I did for creating first items. 8.jpg

9.jpg

If you insert three items into your music table, you will view the music table like my following screenshot.10.jpg

Steps for the task: Modify an Existing Item in the Table

In this task, you will exercise how to modify an existing item in the table. More often you may be required to change existing data in the production environment; It could have happened user error during data entry or some changes come after data inserted into the table.

  1. Click Tables from the left navigation Menu for viewing the list of the table under the DynamoDB page.
  2. Now click the radio button for selecting the music table. Click Items tab and select the item with the value of  year=2014, then click Edit from the Action tab.11.jpg
  3. You will get the Edit item wizard.Change the value of the year from 2014 to 2013 and click save. 12.jpg
  4. Now you can see the value of the year has changed for the item two.13.jpg

Steps for the task: Querying the table

The purpose of the query is to retrieve the necessary data from the table. In the Music table, we have three items attributes. In this lab, I will apply the queries against Music table. In this Music table, Artist is the primary key and SongTitle is the sort key.

The query I will do here for getting query output:

  1. Query using the Primary key to finding a specific Artist value = ‘No One You Know”. For using this query, click Tables from the left navigation menu for selecting the items list. Click the drop-down labelled Scan: [Table] Music: Artist, SongTitle. From the drop-down panel, change it scan to query. Query: [Table] Music: Artist, SongTitle.

a. Input the value in the partition key (Artist String and value) = No One You know. Then Click “Start Search“. The return query result will display the output of the artist who is “No One You Know”.

The output of query:

The return query result will display the output of the artist details with the songs title, album title and year of release who is “No One You Know”.14.jpg

2. Now I will do a query using Partition key and the sort key. I will apply this query to find songs by an artist (No One You Know)  and song title (Call Me Today)  with a specific String.

Input the partition key Artist String = No One You Know (Type in value box)

Input the sort key SongTitle String =Call Me Today

Click “Start Search”.

Query Result:

The Output of the query will display the track by the artist “No One You Know” and Title of the Song “Call me Tody” with Album title and year of release.

15.jpg

3. Find details Music record of an Artist “No One You Know” for the year of 2013.

Query Input:

Partition Key Artist = No One You Know”, Clear the sort key value because now you will filter the query by year.

Click Add Filter. In the new filter, Enter Attribute “Year”, data type String and Enter value =2013.

Year Number = 2013

Query Result

The query will return the Music record for that Artist “No One You Know” music record for the year 2013 with Song title and Album title.16.jpg

This is the query process to retire information from a table. You can add more filter to get the more specific result.

Steps for the Table:  Deleting the table

In this step, I will show how to delete a table from DynamoDb Database. I will delete the table Music” with all the data that contains by Music table.

  1. First, you need to click table from left navigator table under DynamoDB dashboard. Now Come to the table list.Click the radio button for selection the Music table (which one you want to delete). Go to Action  Manu, then click Delete Table. After few second, your table will be deleted. Note: Be careful deleting Table in the production environment. Keep your backup before deleting, editing, changing any attribute, table or item.17.jpg

Question: What is a data model? What is the difference between SQL and NoSQL data model structure? 

A data model is an abstract model that organises segment of data and standardises how they built the connection with one another and to features of the real entities.

The relational model normalises data into tabular structures known as tables, which consist of rows and columns. A schema strictly defines the tables, columns, indexes, relationships between tables, and other database elements.

Non-relational (NoSQL) databases typically do not enforce a schema. A partition key is generally used to retrieve values, column sets, or semi-structured JSON, XML, or other documents containing related item attributes.

Cost Analysis:

Payment Method: The price structure for the DynamoDB is paid only for what you use. No minimum fee is there.

You can calculate your estimated minimum fee by using AWS simple Monthly Calculator (http://calculator.s3.amazonaws.com/index.html#s=DYNAMODB).

Free Tier offer: 

DynamoDB customers get 25 GB of free storage, as well as up to 25 write capacity units and 25 read capacity units of ongoing throughput capacity up to 200 million requests per month and 2.5 million read requests from DynamoDB Streams for free.

Reserved capacity: A bill feature for DynamoDB users in AWS platform that allow you to obtain discount on provision throughput capacity in exchange for the following condition

  • A one-time up-front payment
  • A commitment to a minimum monthly usage level for the duration of the term of the agreement.

Note: Reserved Capacity applies within a single AWS Region and can be purchased with 1-year or 3-year terms. Throughput capacity provision is associated with every DynamoDb table.

Region: US West (Oregon) (Data collection March 2017, Source: AWS Cloud Price)

  • Write Throughput: $0.0065 per hour for every 10 units of Write Capacity
    (enough capacity to do up to 36,000 writes per hour)*
  • Read Throughput: $0.0065 per hour for every 50 units of Reading Capacity
    (enough capacity to do up to 180,000 strongly consistent reads, or 360,000 eventually consistent reads, per hour)
  • Indexed Data Storage:
    • First, 25 GB stored per month is free
    • $0.25 per GB-month thereafter
  • DynamoDB Streams
    • Every month, the first 2.5 million DynamoDB Streams read request units are free
    • $0.02000 per 100,000 DynamoDB Streams read request units thereafter

Calculation of pricing:

Suppose, If you create a DynamoDb table which requires 20 unit of write capacity and 300 units of read capacity of throughput provision and you are US West (Oregon region).

Your charged will be per hour = $0.0065 *2 + (6*$0.0065) = $0.052 per hour.

If you change your throughput and increase reserved throughput that is 20,000 units of Write and 80,000 unit of reading capacity, your bill would be

If your throughput needs changing and you increased your reserved throughput requirement to 20,000 units of write capacity and 50,000 units of reading capacity, your bill would per hour: (2,000 x $0.0065) + (1,000 x $0.0065) = $19.5/hour

Note: Your per hour bill always calculating based on your Read and Write throughput. Your bill will increase and decrease based on provisioned throughput.

Data Transfer  Price:

18.jpg

Suppose, your data transfer in per month is 500 and out is 300 GB, The estimated bill you have to pay for this service is: $43.65. Price can be varied region to region.

Some additional factors you need to consider during calculating database related cost:

  • Database Administrative cost
  • Redundancy cost
  • Maintenance and operating cost

Running NoSQL database software in the cloud significantly reduces infrastructure costs. In the cloud, those costs include instance hours, GB-month of storage, I/O requests, and data transfer.

Thank you 🙂

 

Lab7: Introduction to Amazon Relational Database Service (RDS) Linux and Windows

Amazon Relational Database Service (Amazon RDS) is a relational database web service that makes easier to configure, operate, and scale the database system in the cloud. Amazon client is allowed to create and use MYSQL, PostgreSQL, Oracle, or Microsoft SQL server database. The tools, application, code you already use in you local machine with existing databases, now you can be used them with Amazon RDS.

Amazon RDS is cost-efficient and capacity is resizable whilst managing time-consuming database administration tasks, and it also freeing you to focus on your applications and business.

The benefits of Amazon RDS:

  • Easy to Administer
  • Highly Scalable
  • Available and Durable
  • Fast, Secure, and Inexpensive

Amazon RDS Standard Use Cases:

  • The Web and Mobile Applications
  • E-commerce Applications
  • Mobile and Online Games

This lab I will cover the following topics:

  • Creating an Amazon Relational Database Services (RDS) Instance
  • Connecting to the RDS Instance with Client Software

Steps for the task: Creating an Amazon Relational Database Services (RDS) Instance

  1. You need to log in your  AWS management Console. Click  RDS on the services menu. 1.jpg
  2. Now we are going to select database engine. In this lab, we demonstrate on “MYSQL” database system which is most popular open source relational database in the world.
  3. Click the select button across from the MYSQL database engine type on the Select Engine page.
  4. Select MySQL under Dev/Test on the Production. As we are going to do practice lab; therefore we are not going select production database.3.jpg
  5. Cleck “Next Step“. We will get “Specify DB Details” screen. We need to set some information there. In the Instance Specification area type the following data: DB Instance class: db2.t2.micro, Multi-AZ Deployment: No, Storage Type: General Purpose (SSD),  Allocation storage: 5. Note: This is only lab demo setup but in a production environment, you have to setup based on your business and application requirements.4
  6. In the setting area of the same Specify DB Details page, you need to provide your instance identification, master username and master password. Then Click “Next“.6.jpg
  7. Now You can view “Configuration Advanced Setting“. On the screen, You need to assign who will access your database instance, VPC security group and Database name, and also your backup policy.8.jpg
  8. On this Configure Advanced settings page,  you need to setup your Network and security. You can create new VPC here or you can select the previous VPC from the drop-down list.  I selected to create a new  VPC and new security group.

Database options: Give your database name. It is also called schema.

9. On the same page, you also need to configure your Backup system. The number of days for which automated backups are retained. You have put a positive number to enable this option and zero (0) for disable. I put here zero because I don’t need the backup because this configuration I made only lab purpose. 8.jpg

10. Click “Launch DB Instance“.  Your database instance will be successfully created. Then Click on “View Your DB Instance“.9.jpg

Now you can see your newly created RDS instance is ready and status is Available. 10.jpg

11. Now you need to go EC2 dashboard and select Security group. Select the “rds-launch-wizard” security group and Edit Inbound connection Rules. Traffic is allowed for anywhere. Then click  “Save“.11.jpg

Steps for the task: Create an Amazon Linux Instance from An Amazon Machine Image (AMI)

  1. Go to Amazon console and Click “EC2” from Services Menu. Then Click Launch Instance and select “Amazon Linux AMI” instance, Click “Select for the selected AMI“.12.jpg
  2. Select the default instance type t2.micro, general purpose. Click “Next: Configure Instance Details“. This is the area of networking where you would set access, monitoring, network setting, and other options.13
  3. Click Next: Add Storage. Leave this section with the default setup, But You can add more virtual hard drives, and you can also change hard drive size in this screen.14.jpg
  4. Now click Next: Add tags. And give the tag name values such as RDSlab1. Then click Next: Configure Security group. 14.jpg
  5. On the Configure Security Group page, You need to assign security group which you already created or you can assign new security group. This security group will handle your inbound and outbound traffic from your EC2 network. I selected an existing security group which is rds-launch-wizard.15.jpg
  6. Click Review and launch. Then Launch. You will see a Key-pair wizard. This key pair will allow you to access your instance after it is created. Without key pair, you will not able to access your instance. 16.jpg
  7. You can select an existing key pair or create a new key pair. I already have an existing key pair, so I chose that option; However, If you do not have any existing key pair – select create a new key pair.
  8. Click “Launch Instance” and your instance will be ready in minutes. When you will see the status is running and status check =2/2 checks. That means your instance is ready for access.

Steps for the task: Connect to Amazon EC2 instance via SSH from your Local Windows machine

You need to download PuTTY, PuTTYgen, and Pageant. If you don’t have those apps and you don’t know how to work with those application services please visit my lab practices for details (Lab4: https://momatajbegum.wordpress.com/2017/03/20/lab4-introduction-to-amazon-elastic-compute-cloud-ec2-with-linux-server/)

  1. Open your PuTTY and provide Hostname which is your public DNS of your EC2  instance or Public IP Address: 18.jpg19.jpg
  2. Go to the SSH and click Auth: Provide the Private key file authentication that you downloaded during EC2 Instance launch. Remember, You have to convert the file .pem to .ppk because by default, it is .pem extension file.20.jpg
  3. When you get the PuTTY connection via SSH, the following warning message will be displayed. Click “Yes”, You will get log in user option in the PuTTY terminal.
  4. Now log in as an “ec2-user“. 22.jpg

Steps for the task: Connecting to RDS instance

  1. Now again go to the RDS dashboard, select the newly created RDS instance, you need to copy the endpoint name without port number part to make the connection through SSH with RDS connection from your local machine. Endpoint:
    rdslab1.cjoncnib4rsw.us-west-2.rds.amazonaws.com (without port number).

Steps for the task: Connect to RDS from Amazon Window EC2 instance  

  1. Go to your instance and log in your Ec2 instance. If you don’t have SQL workbench, download it and install it on your windows machine.
  2. Open your SQL workbench and click database connection Screenshot (493).png3. Ater connection established from your EC2 instance RDS database, you will get following connection. Screenshot (492).png

Cost Analysis:

Amazon RDS for MySQL Pricing

The paying system for Amazon RDS is what you use. There is no minimum fee.

On-Demand DB Instances

On Demand Instance calculation is depend on for computing capacity by the hours you run your DB instance with no long-term commitment.  It will relieve you from the cost and complexities of the planning, purchasing, and be maintaining hardware and transforms that is actually large fixed costs into much smaller variable costs.

The Deployment price:

Single-AZ Deployment: 

The deployment price is varied in region and availability zone. Each region price depends on Amazon RDS instance size. Price is calculated based on per hour.

As I used in my practical lab, Region is US West (Oregon), I am giving the comparison the price list with my nearest availability zone of Asia Pacific (Sydney): Here I am showing the instance price for that region. But You will monitor and get your price information from the (https://aws.amazon.com/rds/mysql/pricing/).

US West (Oregon):23.jpg

Asia Pacific (Sydney):

26.jpg

Multi-AZ Deployment: 

When you run your DB Instance as a Multi-AZ deployment for enhanced data durability and availability, Amazon RDS provisions and maintains a standby in a different Availability Zone for automatic failover in the event of a scheduled or unplanned outage.

The price list for the US West (Oregon) for Multi-AZ Deployment:

US West (Oregon):24.jpg

 Asia Pacific (Sydney):

25.jpg

For both Single-AZ and Multi-AZ deployments, pricing is per DB Instance-hour consumed, from the time a DB Instance is launched until it is terminated. Each partial DB Instance-hour consumed will be billed as a full hour.

Calculating Budget plan for two regions and comparison:

Suppose you are using db.t2.micro in the US West (Oregan) for single AZ- Deployment, the standard Instance cost is $0.022 per hour. If you use it 1 month, It will be

If you use it 1 month, It will be $0.022*24*30= $158.4, and For 12 months, It will be = $15.84 * 12 =$190.08

On the other hand, If we consider the price in the Asia pacific (Sydney) for single AZ-Deployment. The standard instance cost is $0.026. The cost will be for one month = $0.026*24*30= $18.72, For 12 months, It will be = $18.72*12= $224.64. 

The cost will be for one month = $0.026*24*30= $18.72, For 12 months, It will be = $18.72*12= $224.64. 

The difference between two region cost is = $224.64-$190.08= $34.56. 

So the mathematical calculation of deployment pricing per instance for 12 months shows that region in also effect our AWS budgets plan. Therefore,  You have to analysis on the cost of different region and availability zone before selecting your RDS instance region.

Data Transfer Rate:

Inter-Region Data Transfer Out: 500 GB per month

Data Transfer Out: 100 GB per month

Data Transfer In:  100 GB per month 

Intra-Region Data Transfer: 1000 GB per month 

The Overall estimated bill will be for you per month with that data transfer: $91.90 (http://calculator.s3.amazonaws.com/index.html)

Thank you 🙂

.

Lab6: Introduction to Amazon Elastic Block Store (EBS)

Amazon Elastic Block Store (Amazon EBS) is the steady block storage volumes which are provided with Amazon Ec2 instance to use in the AWS cloud. Each Amazon volume is replicated automatically within its Availability Zone to shield the clients from the failure of the component, grant high availability, durability. You can attach and de-attached  EBS with your EC2 instance because it’s working with independent volume. You can distribute your workloads through Amazon EBS volume because it delivers consistently and low-latency performance which needs to reduce your workload in the system.

Amazon EBS is designed for application workloads that benefit from fine tuning for performance, cost and capacity, for example, Big Data analytics engines, relational and NoSQL databases, stream and log processing applications, and data warehousing applications.

Amazon EBS Features: 

  • High-Performance Volumes (Either you choose SSD-backed or HDD-backed volume, you will get the same performance that you need for your highly demanding application)
  • Availability ( 99.999% availability per Amazone EBS volume,  Protect any application from component failure because it automatically replicates within its Availability Zone )
  • Encryption (Seamless support for data-at-rest and data-in-transit between EC2 instances and EBS volumes)
  • Access Management ( you can access control policies by specifying who can access EBS volume. Amazon EBS ensures the secure data access )
  • Snapshots (Creating point-in-time snapshots of EBS volumes which are backed up to Amazon S3 for long-term durability to protect your data failure)
  • Elastic Volumes (Dynamically increase capacity, tune performance, and change the type of live EBS volumes )

Amazon EBS Benefits

  • Reliable, Secure Storage
  • Consistent, Low-latency Performance
  • Backup, Restore, Innovate
  • Quickly Scale Up, Easily Scale Down
  • Geographic Flexibility
  • Optimized Performance

This lab I will demonstrate the following topics to understand how to EBS works:

  • Creating an EBS  volume in the Amazon Management Console
  • Adding an EBS Volume to an instance
  • Snapshotting an EBS volume

Steps for the task: Creating an EBS  volume in the Amazon Management Console

To create an EBS volume you need some certain permission such as you have to able to access EC2 instance, Volume management panel utilisation permission.

Note: EBS volume is hard drive like our physical machine hard drive. Data on them persists through the lifetime of the volume and can be transferred between Virtual machine whenever it is needed.

  1. Go to the AWS management Console, Click EC2 on the Services menu. On the left side, you can see EC2 dashboard navigator panel. Under the Elastic Block Store, Click “Volume”.  You can see a list of volume that depends on how many instances you already created. If you created one instance, you will see only one Volume. 1.jpg
  2. In my lab 5 exercise,  I’ve created Ec2 Window Server instance. A volume has been automatically created during EC2 instance launched.
  3. Now we have to take care some components such as Availability Zone for that existing volume. It is like:us-west-2b 
  4. Now click “Create Volume“. A dialogue box will appear. Type the following information; Volume type: General purpose (because we are exercising lab, you can mention your column type as per your requirement), Size Max: 16384 GiB but you can choose any size up to the maximum. In this lab I chose 1GiB. Availability Zone that must be similar to your Ec2 instance in which instance you are going to attach EBS volume2.jpg
  5. Then click “Create“.  Wait for few minutes to ready your volume.
  6. Now our new volume is ready to be attached to our EC2 Instance (EC2Winserver).3.jpg

Steps for the task: Adding an EBS Volume to an Instance

Now our volume and server instance is prepared to attached volumes. We can view our two-volume in the Elastic Block store volume section.4.jpg

  1. If you see that your newly created volume is still creating the state, click on “Refresh” button from the top right corner of your Elastic Block Store volume Screen.
  2. Select the checkbox to the left side of your newly created volume if its state column status shows “Available“.5.jpg
  3. Click “Attach Volume” in the action drop-down list.6
  4. Select the running instance by clicking “Instance“. Then click “Attach“.7.jpgNow we attached an EBS volume to an instance successfully. 8.jpg

Steps of the task: Snapshotting an EBS Volume and Increasing Performance 

Now we will create a snapshot. A snapshot is the replication of the data in the volume. It also allows you to change the properties of the volume to enables features like provisioned IOPS.

  1. Now right click the volume of 1GiB which is you newly created. then Click “Force Detach Volume”. Note: You need to shut down your instance before detaching the drive in the production environment.9.jpg
  2. Click “Yes, Detach“. Volume state will be “Available” 10.jpg
  3.  Now Click “Create Snapshot” by right click your mouse right button. The purpose of the creating snapshot is to create the backup of the volume. As it is backup volume, you will generally give more size compare to the original volume which is directly attached to an instance.11.jpg
  4. You will get snapshot creation dialogue box.12.jpg

Here you have take care some components:

  • Ensure the volume field match the volume you created (It generally match by default)
  • Type “ebslab” in the name box
  • Type “lab elb volume snapshot” in the description box13.jpg

5. Now Click “Snapshots” in the navigation panel. Click “Create Volume” after right click on the Snapshot14.jpg

6. Now we will increase volume size and enable provisioned IOPS for increased performance. After click on “Create Volume“. You will get a dialogue box and type the following information for setting new snapshot volume.15.jpg

16.jpg

7. Now we will view our newly created high-performance drive that will contain all the data from the original drive, but it is guaranteed IOPS and is large.

Go to the Navigation panel of EBS under EC2 dashboard. Click Volume. You will see our newly created volume which we made snapshot screen. 17.jpg

What is the difference between Provisioned IOPS SSD (io1)  and General Purpose SSD (gp2)?

Answer: SSD-backed volumes include the highest performance Provisioned IOPS SSD (io1) for latency-sensitive transactional workloads.

General Purpose SSD (gp2) that balance price and performance for a wide variety of transactional data. It also determines a baseline of the volume performance level and how rapidly it accumulates I/O credits. A Large size of the volume has the higher baseline level of performance. It is cost effective and widely used in the board range of workload area.

Question:  What s Provisioned IOPS SSD (io1) Volumes?

Answer: IO1 is backed by solid-state drives (SSDs) and is the highest performance EBS storage option designed for critical, I/O intensive database and application workloads.IO1 is designed to deliver a consistent baseline performance of up to 50 IOPS/GB to a maximum of 20,000 IOPS and provide up to 320 MB/s of throughput per volume.

Cost analysis: 

The payment system of Amazon EBS is that you will pay only for what you use.The pricing for Amazon EBS volumes is varied in regions. Here I’ve shown two region price comparison. So you should check the price range carefully before creating EBS in a specific Zone.

18.jpg

How to optimised the cost?

To optimised the cost, you should create a snapshot and delete the volume which is detached with the instance. It helps you to reduce the cost. And keep in mind that when you will disconnect your IOPS provisioned from an instance, you will be charged. Therefore, the best practice is you should use the IOPS provision with your snapshot for data backup purpose and use general purpose SSD for the purpose of attached drive in the production environment.

Snapshot Price Reduction benefit:
AWS reducing the prices for EBS snapshots by 47% for all AWS Regions.Snapshot price rate is now more economical. Therefore, AWS EBS users can take more backups frequently which will help them to reduce recovery time after human errors. It will help AWS accounts to reduce recovery cost as well. As a result, it is the better idea to take backup in EBS volume regularly.

Thank you 🙂

Lab5: Introduction to Amazon Elastic Compute Cloud (EC2) with Windows Server

This lab I will demonstrate the following contents:

  • Creating a Windows Server Instance from an Amazon Image (AMI)
  • Connection to Amazon EC2 Windows instance

Steps for the task: Creating a Windows Server Instance from an Amazon Image (AMI)

  1. On the top of the AWS Management Console, Click EC2 under Compute Section1.jpg
  2. As we are going to launch Amazon EC2 Window server, we selected Window Server 2012 R2 Base 64 bits from “Choose an Amazon Machine Image (AMI)” Page. 2.jpg
  3. Click “Select” for choosing instance Type. We will choose General Purpose t2.micro instance.3.jpg
  4. Now Click ” Next: Configure Instance Details“. In this section of Network, we need to choose VPC where we will launch our instance. As I already created myVPC in my lab2 exercise. I selected myVPC as the network. If you don’t have VPC, you can create new VPC here. Click “Create New VPC “  right side of VPC drop-down. This machine I will access from my local machines. That’s why I selected  VPC public subnet as Subnet here.4.jpg
  5. Click “Next: Add Storage”. Select default storage and Click on “Next: Add Tags”.5.jpg
  6. On the Tag Storage page, type a name for your Amazon EC2 instance. Type in the value field = “EC2webserver”.6.jpg
  7. Then Click ” Next: Configure Security Group“. You can create new security group or you can assign your instance into existing security group. As it is lab practice, I am going to select create a new security group. Note: The security group named “launch-wizard-1” will be automatically created. As we are going to launch Windows server instance, By default security group rule to open port 3389 for RDP has been automatically added.7.jpg
  8. Remember that under one VPC, you can create many different security groups to manage each instance separately. Now Click ” Review and Launch“.
  9. After clicking “Launch” a new dialogue box will appear with Select an existing key pair or create a new key pair option. As we already created a key pair for our previous Amazon EC2 with Linux server exercise.Therefore, we are not going to create a new key pair. Note: If you don’t understand how to create a key pair; please review my lab4 exercise.8.jpg
  10. Click Launch Instance. Your Windows Server Instance will be successfully launched. Click “View Instance“. You will see your instance is initiating. It will take a few second to changes its instance state. If the instance state=running, Status checks=2/2 checks passed. That means your Amazon EC2 instance is ready and you’ll able to access it through RDP.9.jpg

Steps for the task: Connecting to Amazon Instance via RDP

Now we will establish a connection from our local machine to newly created Amazon EC2 Windows server through Remote Desktop (RDP). All Amazon EC2 instance are assigned two IP address and two DNS name at launch. The Public DNS name resolve to the public IP address which is accessible outside of Amazon network and also to the private IP address within the EC2 network.

All Amazon EC2 instance are assigned two IP address and two DNS name at launch. The Public DNS name resolve to the public IP address which is accessible outside of Amazon network and also to the private IP address within the EC2 network. On the other hand; Private DNS name can only be resolved with the Amazon EC2 network.

In this lab; Amazon EC2 instance Public DNS: ec2-54-70-122-154.us-west-2.compute.amazonaws.com and IPv4 Public IP: 54.70.122.154

  1. Now we will connect to our EC2 windows server through RDP. Go to your EC2 instance dashboard in the EC2 management console. Select instance “EC2WebServer” and click Connect button from the top up menu.10.jpg
  2. After clicking “Connect” tab, you will view the following Wizard from where you will Get Password and Remote Desktop file. Download the Remote Desktop file and save it to your local machine. 11.jpg
  3. For getting the Password, click “Get Password”. You will get another wizard. Now click “Browse” and give the location of your key pair path which you downloaded during your launch instance. Then click ” Decrypt Password“. 12.jpg
  4. Now you will see your public DNS link, User name and password. Launch your RDP and paste password to connect your windows system.13.jpg
  5. Now launch your RDP. You will get the following dialogue box. Paste your password and Click “OK”.14
  6. Your connection is established. You will get the following dialogue box of Remote connection certification.Click “Yes”. 15.jpg
  7. The remote Desktop connection has been established. You can now view the following screen. 16.jpg

Critical issues to establish RDP connection:

If you fail to connect your Amazon EC2 instance via RDP client, you have to verify some elements which are relevant to make an RDP connection:

  1. Make your you downloaded .pem key pair during Amazon Ec2 Instance launch
  2. You deleted or modified any character  in .pem encrypted file before decrypted it for getting password
  3. Your network is allowed outbound TCP connection of port number 3389 (RDP) because some network firewalls block RDP port.
  4. You are not deleted or change default RDP port 3389 rule which is allowing inbound connection to your EC2 windows server.

Thank you 🙂

Lab4: Introduction to Amazon Elastic Compute Cloud (EC2) with Linux Server

Amazon Elastic Compute Cloud (Amazon EC2)  is virtual computing environment, known as an instance. Amazon EC2)provides scalable computing capacity in the Amazon Web Services (AWS) cloud.The concept of designed Amazon EC2 to make web-scale cloud computing flexible and easier to the developer.

Amazon EC2 gives you an opportunity to eliminate your Hardware up front invest, you can develop and deploy applications faster.Amazon EC2 instance has not limitation. You can launch as many or as few virtual servers as you need by using Amazon EC2. You can configure your own security and networking, manage storage separately for each Ec2 instance or group of EC2 instance together. 

Benefits: Amazon EC2 allow you to quickly scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic. The benefit of Amazon EC2 is that is re-sizable and elastic. It reduces the time to obtain and boot new server instance to a minute. You only pay for capacity you actually use, Amazon EC2 provide that economics of computing.

As Amazon Ec2 is a web service interface that allows you to obtain, configure and manage your instance anywhere in the world with a minimal friction. You can kill you instance any time when your demand is fulfilled. You will be charged to kill any EC2 instances.

This lab I will demonstrate the following contents:

  • Create an Amazon  Linux  Instance from an Amazon Machine Image (AMI)
  • Connecting to Amazon EC2 instance via SSH

Steps for the task: Create an Amazon  Linux  Instance from an Amazon Machine Image (AMI)

The important concern is before creating amazon EC2 instance. You have to figure out what type of EC2 instance you want. Amazon EC2 provides a wide selection of instance types optimised to fit different use cases. You have the freedom to choose the exact mix of resources for your system based on the combination of hardware, storage, network and memory capacity. You can distribute your workload because each instance type includes one or more instance size. It also allows you to build failure resilient of your application and scale your resource based on your workload.

In this lab, We are going to select instance type: General purpose, t2.small, vCPU: 1, Memory- 2 GB, and Storage: EBS only.

  1. On the services menu, click EC2 in the Management console. Then Launch Instance.Untitled.jpg
  2. Choose an  Amazon Linux AMI instance from the quick start. Then click Select2.jpg
  3. Now we have to choose Instance type. We selected lowest-cost general purpose instance type t2.small for this lab practice. But you can choose your instance based on your application system capabilities and workload. 3.jpg
  4. Click Next: Configure Instance. In this wizard, You will get various options such as location, network setting, monitoring and other options. Note: In our lab 2 we already created VPC (myPVC).If you don’t have any VPC, you can select default VPC or you can make your own VPC before configuring instance.4
  5. Then click Next: Add Storage. Here we are going to select default storage but you can easily add more virtual hard drives or change the drive size as per your requirement. If you want to add more new volume into your storage, click “Add New Volume”. 5.jpg
  6. Click “Next: Add tags“. In the value, field enters the value of name: EC2LAB. Note: Access to manage Amazon EC2 instances can be controlled using tags. tags help you to organise your infrastructure and identified your instance and resources very quickly.6.jpg
  7. Click “Next: Configure Security Group”. Note: you can configure your security before launching your instance or you can leave the default security groups. As It always allows port 22 (SSH) to Linux Server.

As you see, Assign a security group has two options:  Create a new security group or Select an existing security group. In this lab, We will use our pre-created security group (WebServerSG) which we have created during our lab2 exercise.7.jpg

8. Click Review and Launch. After reviewing your configuration, Click Launch.You will get key pairs dialogue page. You will get two option here from the drop-down box: Select an existing Key pair or Create a new key pair. If you select Create a new key pair, a new key pair will be automatically created for you and Download Key Pair before you go launch your instance.

Note: You can access your instance after creating the key pair. If you don’t have a key pair, you will not able to access your instance.8.jpg

9. Click Launch Instance. You will able to see Launch Status. Now click “View Instance”.9.jpg

10. You instance configuration is complete. If you see the following status in your EC2 dashboard page: Instance state: running, Status Check column: 2/2 Checks.10.jpg

Steps for the task: Connecting to Amazon EC2 instance via SSH 

PuTTY  and PuTTY Key pair generating:

You need to Putty secure shell (SSH) client and Server’s Public DNS address or Public IP address to connect to your server from your local machines.

What is PuTTY: PuTTY is a free and open-source terminal emulator, serial console and network file transfer application. It supports several network protocols, including SCP, SSH, Telnet, login, and raw socket connection. It can also connect to a serial port. 

What is PuTTYgen: PuTTYgen is a key generator. It generates pairs of public and private keys to be used with WinSCP. PuTTYgen generates RSA, DSA, ECDSA, and Ed25519 keys.

What is PuTTY Pageant: Pageant is an SSH authentication agent. It holds your private keys in memory, already decoded so that you can use them often without needing to type a passphrase.

If you do not have Putty, go to the following website to download Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

or http://www.putty.org/

As you remember, We downloaded a key-pair during our Amazon EC2 instance launch. The key pair has in two formats: .pem and .ppk. .pem extension file is used for the windows server connection RDP protocol (port 3389). We EC2 instance generated the key pair, It is by default encrypted key-pair. For RDP connection, We need to decrypt it to get the password for windows server login. The .ppk extension file is used in Putty SSH connection.

As we got .pem extension file during our EC2 Instance, for Putty SSH connection authentication, we need to convert the extension file from .pem to .ppk by using PuTTYgen.

How to convert key-pair by using PuTTYgen:

  1. Open your Puttygen (PuTTY key Generator) program. 11.jpg
  2. As we already have existing private key pair file. We will Load it to generate the private key. Click on” Load”. And load the existing key-pair file from your local machine where you save .pem file.12.jpg13
  3. Selecting the Type of Key:

PuTTYgen currently supports these types of key:
An RSA key for use with the SSH-2 protocol.
A DSA key for use with the SSH-2 protocol.
An ECDSA (elliptic curve DSA) key for use with the SSH-2 protocol.
An Ed25519 key (another elliptic curve algorithm) for use with the SSH-2 protocol.
An RSA key for use with the SSH-1 protocol.

4. Now save the key pair on your local machine as the private key and It will be saved as the .ppk file. 14.jpg

15.jpg

5. Now our EC2 key Pair private key is ready to authentication SSH connection. Now open your Putty Pageant. and add the ssh private key into the agent application. Putty pageant working as SSH authentication agent and it holds your key in memory.

 16.jpg

Connect to the Amazon Ec2 instance using SSH and PuTTY:

All Amazon EC2 instance has been assigned two IP address at launch: Private address and public IP address. The public IP address that s directly connected to other network or via Internet through NAT. Private IP can only communicate within the private network and Public IP is reachable from the Internet.

Amazon Ec2 instance also provides two DNS which is mapped corresponding IP address respectively: Internal DNS for private IP and Public DNS for Public IP. The internal DNS name is only resolved within Amazon EC2 network and the public DNS name is resolved to the Public IP address outside the Amazon EC2 network and to the private IP address within the Amazon EC2 network as well.

  1. open your PuTTy.exe as your downloaded program already. Now we have to put hostname or IP address in the PuTTY program to establish an SSH connection. We can use Public DNS or Public IP address. 17.jpg
  2. Now provide the SSH authentication by uploading the private key-pair authentication file in the puTTY.18.jpg
  3. Click on Open. You will get the following message. Click on “Yes”.19.jpg
  4. The connection will be established. This is the way you will connect to the Amazon EC2 instance using SSH and PuTTY.20

Critical issues in Putty SSH connection: 

There are some critical issues you may face during your PuTTY Connection. If you are not aware of those issues we may fail to connect to your Amazon EC2 instance.

  1. Always enter your Public DNS or Public IP address in your PuTTY hostname field. You can not able to establish the connection via private IP address.
  2. Use The login username: ec2-user as login ID 
  3. You can not access your .pem file to establish PuTTY SSH connection. You have to convert the file from .pem to .ppk by PuTTYgen
  4. If everything is okay but you can not able to connect via PuTTy, check your Security Groups inbound. Allow inbound network communication for the Port number 22, SSH

Cost Analysis

Amazon EC2 Pricing: AWS provides you four option to pay Amazon EC2 price. There are  On-Demand, Reserved Instances, and Spot Instances, and Dedicated Hosts. On-Demand instances are recommended for:

  • If you prefer the low cost and flexibility of Amazon EC2 without long term commitment or any upfront payment. 
  • Short term or unpredictable workloads without interrupt in Application
  • If you are developing or testing application on Amazon EC2 for the first time.

On-Demand Pricing method: You have to pay for computing capacity by the hours without long-term commitments. Each instance type pricing is different and it varies based on regions as well. 

Spot instances are recommended for:

  • Applications that have flexible start and end times
  • Applications that are only feasible at very low computer prices
  • Users with urgent computing needs for large amounts of additional capacity

Spon instance pricing method:  The Spot price fluctuates based on the supply and demand of available unused EC2 capacity and it provides you at steep discount on unused EC2 capacity to On-Demand prices

Reserved Instances are recommended for:

  • Applications with steady state usage
  • Applications that may require reserve capacity
  • Customers that can commit to using EC2 over a 1 or 3-year term to reduce their total computing costs

Reserved Instance pricing method: Standard and Convertible Reserved Instance Pricing.

Standard Instance Pricing: It provides you with a significant discount ( up to 75% )  compare to on-demand instance pricing and can be purchased for a 1-year or 3-year term and can be purchased for a 1-year or 3-year term.

Which condition you will go with Standard pricing:  Customers have the flexibility to change the Availability Zone, the instance size, and networking type of their Standard Reserved Instances.

Convertible Reserved Instance Pricing: Convertible Reserved Instances provide you with a significant discount (up to 45%) compared to On-Demand and can be purchased for a 3-year term.

Which condition you will go with Convertible Reserved Instance Pricing: Purchase Convertible Reserved Instances if you need additional flexibility, such as the ability to use different instance families, operating systems, or tenancies over the Reserved Instance term.

Reserved Instance Payment Options: 

All Upfront option: Pay for the entire Reserved Instance term with one upfront payment.

Partial Upfront option: Make a low upfront payment first and are then charged a discounted hourly rate for the instance for the duration of the Reserved Instance term.

The No Upfront option does not require any upfront payment and provides a discounted hourly rate for the duration of the term.

Furthermore, If you reserved instance that is assigned to a specific Availability zone, AWS provide you reservation of capacity and extra confidence that you will able to get the benefit to launch your instance any time when you need. 

Dedicated host: A Dedicated Host is a physical EC2 server dedicated for your use.

  • Can be purchased On-Demand (hourly).
  • Can be purchased as a Reservation for up to 70% off the On-Demand price.

Dedication Host pricing method: The price for a Dedicated Host varies by instance family, region, and payment option. You have to pay for active dedication host per hours usage and you will not be charged for instance usage.Price is calculated based on On-Demand price method. You can also use three reservation pricing options.

Thank you 🙂