<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Knowledge Book</title>
    <description>A place where I keep my Knowledge</description>
    <link>/</link>
    <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 18 Sep 2020 03:08:22 +0000</pubDate>
    <lastBuildDate>Fri, 18 Sep 2020 03:08:22 +0000</lastBuildDate>
    <generator>Jekyll v3.9.0</generator>
    
      <item>
        <title>Git Log</title>
        <description>&lt;p&gt;So I found a useful command that allows you to view entire git log of the repo.&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;git log --decorate --graph --oneline --all
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This command generates the entire log of the git repo in one line&lt;/p&gt;

&lt;p&gt;and if you like to view entire log with commit messages in detail you can run this command&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;git log --decorate --graph --all
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I hope you found this useful and if you have further tips related to command line feel free to follow me and DM me on &lt;a href=&quot;https://twitter.com/muhammad_o7&quot;&gt;twitter&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 12 Jul 2020 00:00:00 +0000</pubDate>
        <link>/2020/07/12/git-command/</link>
        <guid isPermaLink="true">/2020/07/12/git-command/</guid>
        
        <category>devops</category>
        
        
      </item>
    
      <item>
        <title>CloudFormation</title>
        <description>&lt;p&gt;AWS Cloudformation is a service that helps us initiate aws resources using 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;json&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;yaml&lt;/code&gt; files. It’s know as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IaaS&lt;/code&gt; (Infrastructure As A Service).&lt;/p&gt;

&lt;h3 id=&quot;structure-of-the-document&quot;&gt;Structure of the Document&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;AWS Template Format Version:&lt;/strong&gt; It contains the version of the file.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Description:&lt;/strong&gt; It basically the description of what the script will do written by the owner of the script. It’s a string field.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;MetaData:&lt;/strong&gt; This contains the properties of the templates.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Parameters:&lt;/strong&gt; Any values we pass to the templates&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Mappings:&lt;/strong&gt; Dependencies between our AWS resources.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Conditions:&lt;/strong&gt; we add these when stack is being created.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Outputs:&lt;/strong&gt; The outputs are the ones displayed when are stack is created.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Resources:&lt;/strong&gt; The AWS Resources we need to initiate. (The most important part)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;example-cloudformation&quot;&gt;Example CloudFormation.&lt;/h3&gt;

&lt;p&gt;A simple CloudFormation script that initiates EC2 instances with SSH&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Create an EC2 instance by AWS CloudFormation&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Resources&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;SecurityGroupDemoSvrTraffic&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Type&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;AWS::EC2::SecurityGroup&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Properties&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;GroupName&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;ssh-group&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;SecurityGroupIngress&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;IpProtocol&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;tcp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;FromPort&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;ToPort&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;CidrIp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;0.0.0.0/0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Description&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;For traffic from Internet&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;GroupDescription&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Security Group for demo server&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;VpcId&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[Find you VpcId in VPC--&amp;gt;Subnets]&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;EC2InstanceDemoSvr&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Type&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;AWS::EC2::Instance&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;Properties&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;AvailabilityZone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[Find you AvailabilityZone in VPC--&amp;gt;Subnets]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;ImageId&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[Find your ImageId in EC2--&amp;gt;Launch Instance--&amp;gt;Step1]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;InstanceType&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[Find your InstanceType in EC2--&amp;gt;Launch Instance--&amp;gt;Step2]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;KeyName&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;[Find your KeyName in EC2--&amp;gt;Key Pairs]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;starting-windows-machine-using-cloudformation&quot;&gt;Starting Windows Machine using CloudFormation&lt;/h3&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;Description&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;simple&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;script&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;that&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;starts&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Window&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;EC2&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;instances&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;AWS&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Cloud&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Resources&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;WinInstance&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;Type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;AWS::EC2::Instance&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;Properties&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;SecurityGroups&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;!Ref&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;InstanceGroupSecurity&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;InstanceType&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# t1.micro&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;KeyName&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Your key&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;ImageId&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;InstanceGroupSecurity&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;Type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;AWS::EC2::SecurityGroup&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;Properties&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;GroupDescription&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Description&lt;/span&gt;
      &lt;span class=&quot;na&quot;&gt;SecurityGroupIngress&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;IpProtocol&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# Enter Protocol Like TCP&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;FromPort&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# RDP Port&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;ToPort&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;3389&lt;/span&gt;
          &lt;span class=&quot;na&quot;&gt;CidrIp&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;0.0.0.0/0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Wed, 24 Jun 2020 00:00:00 +0000</pubDate>
        <link>/2020/06/24/cloud-formation/</link>
        <guid isPermaLink="true">/2020/06/24/cloud-formation/</guid>
        
        <category>devops</category>
        
        
      </item>
    
      <item>
        <title>Databases (AWS Services)</title>
        <description>&lt;h2 id=&quot;database-services-that-aws-offers&quot;&gt;Database services that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; offers&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RDS&lt;/code&gt; -&amp;gt; Relation Database Service&lt;/li&gt;
  &lt;li&gt;Key/Value -&amp;gt; Amazon DynamoDB&lt;/li&gt;
  &lt;li&gt;RedShift for Data Warehouses&lt;/li&gt;
  &lt;li&gt;Purpose Built Solutions such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QLDB&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DocumentDB&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;rds&quot;&gt;RDS&lt;/h3&gt;
&lt;p&gt;Relational Database Service is good for data when its relational.
Amazon offers &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Aurora&lt;/code&gt; and you can also use other services such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Postgres&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MySQL&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Oracle&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MariaDB&lt;/code&gt;. Its good for transactions that are &lt;strong&gt;ACID&lt;/strong&gt;(Atomic Consistency Isolation and Durability) and features needed such as referential integrity.
Its also good when data structures are static and unchanging. RDS also supports &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Read Replicas&lt;/code&gt; which means you don’t have query the live database instead you can query read replicas for the data. This helps offset load from primary DB.&lt;/p&gt;

&lt;h3 id=&quot;keyvalue-storenosql-db&quot;&gt;Key/Value Store.(NoSQL DB)&lt;/h3&gt;
&lt;p&gt;As Amazon AWS offers &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DynamoDB&lt;/code&gt; as there key value store. These databases are redundant and consistent.
It helps you process large amounts of data and consitent flow of read/write operations for various cases such as online shopping carts,online gaming where keeping the user session is important.
Futhermore, It automatically spread data &amp;amp; traffic for tables across servers to handle throughput while maintaining consistency and fast performance.
Its very good for low latency and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DynamoDB&lt;/code&gt; supports DAX known as &lt;em&gt;DynamoDB Accelaration&lt;/em&gt; as this supports in memory cache for items frequently requested.&lt;/p&gt;

&lt;h3 id=&quot;redshift&quot;&gt;RedShift&lt;/h3&gt;
&lt;p&gt;It’s used as data warehouse as it stores data in columns. It’s good for analytics and also uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AQUA&lt;/code&gt; (Advance Query Accelarator).
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AQUA&lt;/code&gt; -&amp;gt; Hardware Accelarated cache that does a substantial share of data processing in place of cache enabling RedShift 10x faster.&lt;/p&gt;

&lt;h3 id=&quot;purpose-built-dbs&quot;&gt;Purpose Built DBs&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QLDB&lt;/code&gt; A fully managed ledger database. Its good for keeping track of financial changes/records.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon DocumentDB&lt;/code&gt; MongoDB version, It stores JSON documents.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon Neptune&lt;/code&gt; Its a fully managed graph database.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon Keyspaces&lt;/code&gt; Basically Apache Cassandra. &lt;a href=&quot;https://aws.amazon.com/keyspaces/&quot;&gt;Readmore&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;database-migrations&quot;&gt;Database Migrations.&lt;/h2&gt;
&lt;p&gt;There are two types of migrations.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Like to Like also known as Homogenous (MySQL to MySQL)&lt;/li&gt;
  &lt;li&gt;Like to Unlike also known as Hetrogenous (MySQL to Postgres)&lt;/li&gt;
  &lt;li&gt;In order to perform migration &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; offers &lt;strong&gt;DMS&lt;/strong&gt;(Data Migration Service).&lt;/li&gt;
  &lt;li&gt;Like to Unlike uses SCT(Schema Conversion Tool) when migrating the database before using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DMS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Wed, 17 Jun 2020 00:00:00 +0000</pubDate>
        <link>/2020/06/17/databases/</link>
        <guid isPermaLink="true">/2020/06/17/databases/</guid>
        
        <category>aws</category>
        
        
      </item>
    
      <item>
        <title>Everything you need to know for SAA Exam</title>
        <description>&lt;!-- MarkdownTOC levels=&quot;2,3&quot; ,autolink=&quot;true&quot;  --&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#solutions-architect-associate-exam&quot;&gt;Solutions Architect Associate Exam&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#exam-domains&quot;&gt;Exam Domains&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#iam-identity-access-management&quot;&gt;IAM (Identity Access Management)&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#iam-authentication-methods&quot;&gt;IAM Authentication Methods.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#mfa-multifactor-authentication&quot;&gt;MFA (MultiFactor Authentication)&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#sts-aws-security-token&quot;&gt;STS (AWS Security Token)&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-global-infrastructure-overview&quot;&gt;AWS Global Infrastructure Overview&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#vpc-virtual-private-cloud&quot;&gt;VPC (Virtual Private Cloud)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#ec2-elastic-compute-cloud&quot;&gt;EC2 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic Compute Cloud&lt;/code&gt;)&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#security-groups&quot;&gt;Security Groups.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#instance-metadata&quot;&gt;Instance Metadata&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#instance-userdata&quot;&gt;Instance Userdata&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#status-checks-and-monitoring&quot;&gt;Status Checks and Monitoring&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#publicprivate-and-elastic-ip-addresses&quot;&gt;Public,Private and Elastic IP addresses.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#private-subnets-and-bastion-hosts&quot;&gt;Private Subnets and Bastion Hosts&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#nat-instances-and-nat-gateways&quot;&gt;NAT Instances and NAT Gateways&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#ec2-placement-groups&quot;&gt;EC2 Placement Groups&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#few-notes&quot;&gt;Few Notes&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#elastic-load-balancing-and-auto-scaling&quot;&gt;Elastic Load Balancing and Auto Scaling.&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#elastic-load-balancing&quot;&gt;Elastic Load Balancing&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#application-load-balancer&quot;&gt;Application Load Balancer&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#network-load-balancer&quot;&gt;Network Load Balancer&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#classic-load-balancer&quot;&gt;Classic Load Balancer&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#internet-facing-vs-internal&quot;&gt;Internet Facing VS Internal&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#elastic-load-balancing-1&quot;&gt;Elastic Load Balancing&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#elb-security-groups&quot;&gt;ELB Security Groups&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#elb-monitoring&quot;&gt;ELB Monitoring&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#ec2-auto-scaling&quot;&gt;EC2 Auto Scaling&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#ec2-autoscaling---scaling-types&quot;&gt;EC2 Autoscaling - Scaling Types&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#ec2-autoscaling---termination-policy&quot;&gt;EC2 Autoscaling - Termination Policy&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#virtual-private-cloud&quot;&gt;Virtual Private Cloud&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc-components&quot;&gt;Amazon VPC Components.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---routing&quot;&gt;Amazon VPC - Routing&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---subnets&quot;&gt;Amazon VPC - Subnets&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---internet-gateways&quot;&gt;Amazon VPC - Internet Gateways.&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---secuirty-groups&quot;&gt;Amazon VPC - Secuirty Groups&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---network-acls&quot;&gt;Amazon VPC - Network ACLs&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-vpc---connectivity&quot;&gt;Amazon VPC - Connectivity&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#route-53&quot;&gt;Route 53&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#route-53-hosted-zones&quot;&gt;Route 53 Hosted Zones&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#route-53-health-checks&quot;&gt;Route 53 Health Checks&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#cname-vs-alias&quot;&gt;CNAME vs Alias&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#route-53-routing-policies&quot;&gt;Route 53 Routing Policies&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#route-53-traffic-flow&quot;&gt;Route 53 Traffic Flow&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#route-53-resolver&quot;&gt;Route 53 Resolver&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-global-accelarator&quot;&gt;AWS Global Accelarator&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#amazon-s3&quot;&gt;Amazon S3&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-buckets&quot;&gt;Amazon S3 Buckets&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-objects&quot;&gt;Amazon S3 Objects:&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-sub-resources&quot;&gt;Amazon S3 Sub-resources&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-storage-classes&quot;&gt;Amazon S3 Storage Classes&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-multipart-upload&quot;&gt;Amazon S3 Multipart upload&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-copy&quot;&gt;Amazon S3 Copy&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-transfer-accelaration&quot;&gt;Amazon S3 Transfer Accelaration&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-encryption&quot;&gt;Amazon S3 Encryption&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-s3-performance&quot;&gt;Amazon S3 Performance&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#amazon-cloudfront&quot;&gt;Amazon CloudFront&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-cloudfront-origins&quot;&gt;Amazon CloudFront Origins&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-cloudfront-distributions&quot;&gt;Amazon CloudFront Distributions&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#amazon-cloudfront-charges&quot;&gt;Amazon CloudFront Charges&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#amazon-ebs-elastic-block-store&quot;&gt;Amazon EBS (Elastic Block Store)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- /MarkdownTOC --&gt;

&lt;h2 id=&quot;solutions-architect-associate-exam&quot;&gt;Solutions Architect Associate Exam&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Its multiple choice and multiple response questions.&lt;/li&gt;
  &lt;li&gt;130 mins to complete the exam.&lt;/li&gt;
  &lt;li&gt;It contains 65 questions and costs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$150&lt;/code&gt; dollars.&lt;/li&gt;
  &lt;li&gt;It requires 720 in order to pass the exam.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;exam-domains&quot;&gt;Exam Domains&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;The Exam consists of following domains.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Design Resilient Architectures&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Design a multi-tier architecture solution.&lt;/li&gt;
      &lt;li&gt;Design highly available or/ fault-tolerant architectures.&lt;/li&gt;
      &lt;li&gt;Design decoupling mechanisms using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services.&lt;/li&gt;
      &lt;li&gt;Choosing appropiate resilient storage.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Design High-Performing Architectures&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Identify elastic and scalable compute solutions for the workload.&lt;/li&gt;
      &lt;li&gt;Selecting high performance and scalable storage solution for a workload.&lt;/li&gt;
      &lt;li&gt;Selecting high performance networking solutions for a workload.&lt;/li&gt;
      &lt;li&gt;Choosing high performance database solutions for the workload.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Design Secure Applications and Architectures&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Designing secure access to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; resources.&lt;/li&gt;
      &lt;li&gt;Designing secure applications tiers.&lt;/li&gt;
      &lt;li&gt;Selecting appropiate data security options&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Design Cost-Optimized Architectures&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Identify cost-effective storage solutions&lt;/li&gt;
      &lt;li&gt;Identify cost-effective compute and database services.&lt;/li&gt;
      &lt;li&gt;Design cost-optimized network architectures&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;iam-identity-access-management&quot;&gt;IAM (Identity Access Management)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Its a service that provides &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;users&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;groups&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAM policies&lt;/code&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;IAM USER&lt;/strong&gt;: Its an entity that represents a person or a service and you associate &lt;strong&gt;IAM Policy&lt;/strong&gt; directly with the user and it defines its permissions and what the user is allowed to do within &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; environment. Furthermore, a user can be assigned the following.
    &lt;ul&gt;
      &lt;li&gt;An access &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key-pair&lt;/code&gt; that allows user programmatic access to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS API&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLI&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SDK&lt;/code&gt; and other development tools.&lt;/li&gt;
      &lt;li&gt;A password for access to the management console.&lt;/li&gt;
      &lt;li&gt;By default users can’t do anything within their accounts.&lt;/li&gt;
      &lt;li&gt;the account user crendentials are usually the email address used to create the account and a password.&lt;/li&gt;
      &lt;li&gt;Root account has full admin priviledges and you can think of it as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;The best practice is to not use the root crendentials instead create an IAM user assign admin priviledges&lt;/li&gt;
      &lt;li&gt;Never share root crendentials.&lt;/li&gt;
      &lt;li&gt;Make sure you enable &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MFA&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;IAM users can be created to represent applications and these are known as service accounts&lt;/li&gt;
      &lt;li&gt;You can have upto 5000 users per &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; account.&lt;/li&gt;
      &lt;li&gt;Each user account has a friendly name and an ARN(Amazon Resource Name) which uniquely identifies the user across AWS.&lt;/li&gt;
      &lt;li&gt;You should always create individual IAM accounts for the users(Not to share them).&lt;/li&gt;
      &lt;li&gt;A password policy can be defined for users enforcing them to have stronger passwords (applies to all users)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;IAM GROUP&lt;/strong&gt;: Its a collection of users that have policies attached to them such as group for  &lt;em&gt;developers&lt;/em&gt;,&lt;em&gt;sys-admins&lt;/em&gt; .
    &lt;ul&gt;
      &lt;li&gt;Its not an identity and cannot be identified as principal in an IAM policy.&lt;/li&gt;
      &lt;li&gt;use groups to assigns permissions to the users.&lt;/li&gt;
      &lt;li&gt;always assign the least priviledges when assigning permissions.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;IAM ROLES&lt;/strong&gt;: Think of it as assigning access to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services such as you might set a role for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DynamoDB&lt;/code&gt; to readonly.
    &lt;ul&gt;
      &lt;li&gt;They are created and then assumed by trusted entities and define a set of permissions for making &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; requests.&lt;/li&gt;
      &lt;li&gt;with roles you can delegate permissions to resources for users and services without using a permanent credentials.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; users or services can assume a role to obtain temporary security crendentials that can used to make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; api calls.&lt;/li&gt;
      &lt;li&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;IAM Policies&lt;/strong&gt;: They are documents that defines the permissions and can be applied to users,groups and roles.
    &lt;ul&gt;
      &lt;li&gt;Policy documents are written in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;json&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;All permissions are implicitly denied by default.&lt;/li&gt;
      &lt;li&gt;the most restrictive policy is applied.&lt;/li&gt;
      &lt;li&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAM&lt;/code&gt; policy simulator is a tool that helps you understand,test and validate the effects of access controls policies.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;iam-authentication-methods&quot;&gt;IAM Authentication Methods.&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;You can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key-pair&lt;/code&gt; access keys and its used for programmatic access especially CLI (You can’t add MFA to this).
    &lt;ul&gt;
      &lt;li&gt;A combination of access key ID and secret key access.&lt;/li&gt;
      &lt;li&gt;this is used to make programmatic calls to aws when using the api. For example &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;boto&lt;/code&gt;. Its also  used to access &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLI&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;you can &lt;em&gt;create&lt;/em&gt;,&lt;em&gt;modify&lt;/em&gt;,&lt;em&gt;view&lt;/em&gt; or &lt;em&gt;rotate&lt;/em&gt; access keys.&lt;/li&gt;
      &lt;li&gt;When created IAM returns the access key ID and secret access key.&lt;/li&gt;
      &lt;li&gt;The secret access key is returned only at the creation time and if lost new key must be created.&lt;/li&gt;
      &lt;li&gt;Make sure access keys and secret access keys are stored securely.&lt;/li&gt;
      &lt;li&gt;Users can be given access to change their own keys through IAM policy(Not from console).&lt;/li&gt;
      &lt;li&gt;You can disable user’s access key which prevents it from being used for API calls.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Simple username and password method to access the management console.
    &lt;ul&gt;
      &lt;li&gt;The password that user uses to sign in into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; web console&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Some &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services uses signing certificate.
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSL/TLS&lt;/code&gt; certificates that can be used to authenticate with some &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; recommends that you use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ACM&lt;/code&gt;(AWS Certificate Manager) to provision manage and deploy your server certificates.&lt;/li&gt;
      &lt;li&gt;You can also use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAM&lt;/code&gt; only when you need to support &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt; connections in a region that is not supported by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ACM&lt;/code&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;mfa-multifactor-authentication&quot;&gt;MFA (MultiFactor Authentication)&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Having physical token or soft token that will allow you to access the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;Soft token can be &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Google Authenticator&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Hard Token can be &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YuBi Key&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;AWS also provides soft token and physical access keys for MFA.&lt;/li&gt;
      &lt;li&gt;By having two factors of authentication it makes it very secure.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;sts-aws-security-token&quot;&gt;STS (AWS Security Token)&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;STS is a web service that enables you to request temporary, limited-priviledge crendentials for IAM users or for the users that you authenticate (federated users).&lt;/li&gt;
  &lt;li&gt;By default &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; STS is available as global service and all AWS STS requests go to a single endpoint at  &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://sts.amazonaws.com&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;All regions are enabled by default for STS but can be disabled.&lt;/li&gt;
  &lt;li&gt;The region in which temporary crendentials are requested must be enabled.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-global-infrastructure-overview&quot;&gt;AWS Global Infrastructure Overview&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Region&lt;/strong&gt;: A geographical area with 2 or more AZs, isolated from other AWS regions. There are 23 regions around the world at the moment.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Availability Zone&lt;/strong&gt;: One of more data centers that are physically separate and isolated from other AZs.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Edge Location&lt;/strong&gt;: A location with Cache Content that can be delivered at low latency to the users. Mostly used by CloudFront for delivering content such as static files or video content.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Regional Edge Cache&lt;/strong&gt;: Also part of the CloudFront network.These are larger caches that sit between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services and Edge Locations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Global Network&lt;/strong&gt;: Highly Available, low latency private global network interconnecting every data center, AZ and AWS region.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;vpc-virtual-private-cloud&quot;&gt;VPC (Virtual Private Cloud)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Its an isolated section of AWS where you can launch your own resources.&lt;/li&gt;
  &lt;li&gt;Within VPC you can create your own networks with your own &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IP&lt;/code&gt; ranges.&lt;/li&gt;
  &lt;li&gt;A VPC sits within a region and you create an VPC within that region and then you create subnets within that regions that sits within AZs. The subnets can public or private and then we launch resources within those subnets.
&lt;em&gt;You can have 5 VPCs within the region by default.&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;A VPC Router is used to communicate within subnets and availablity zones and it has a route table that we can configure and it has an IP address range. Basically every VPC has a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CIDR&lt;/code&gt;(Classless Inter-Domain Routing) block.&lt;/li&gt;
  &lt;li&gt;You define the IP range for your VPC.&lt;/li&gt;
  &lt;li&gt;You can also attach internet gateway to your VPC that sends requests to the outside internet and for that we need &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;igw-id&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IP-ADDR&lt;/code&gt; as destination.&lt;/li&gt;
  &lt;li&gt;Internet Gateways allows you to make requests to the public internet and for that we have to add the entry to the route table.&lt;/li&gt;
  &lt;li&gt;Each VPC has its own &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CIDR&lt;/code&gt; block.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ec2-elastic-compute-cloud&quot;&gt;EC2 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic Compute Cloud&lt;/code&gt;)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Its an elastic service that allows you to launch compute resources on the AWS cloud. In AWS context we call EC2 instances but you can think of them as virual machines.&lt;/li&gt;
  &lt;li&gt;Each instance has an operating system,storage and virtual hard drive.&lt;/li&gt;
  &lt;li&gt;When launching instances you can choose from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS MarketPlace&lt;/code&gt; and 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Community AMIs&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;You can connect to EC2 instances using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;security-groups&quot;&gt;Security Groups.&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;These are firewalls that are applied at the instance level.&lt;/li&gt;
  &lt;li&gt;They monitor traffic going in and out of EC2 instances.&lt;/li&gt;
  &lt;li&gt;You can have multiple instances in a security group and you can have multipe security groups applied to the instances.&lt;/li&gt;
  &lt;li&gt;Security groups are stateful.&lt;/li&gt;
  &lt;li&gt;For example having a security group with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;port 22&lt;/code&gt; access applied to the ec2 instances will allow you to launch secure shell.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;instance-metadata&quot;&gt;Instance Metadata&lt;/h3&gt;
&lt;p&gt;Instance metadata is data about your instance that can be used to configure or manage the running instance. Its divided into categories and gives you the information about your instance such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hostname&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ami-id&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;etc&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You can run this command within your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; in commandline to get the meta data&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;curl http://169.254.169.254/latest/meta-data/
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;instance-userdata&quot;&gt;Instance Userdata&lt;/h3&gt;

&lt;p&gt;Its basically the information that you can pass into instance when it boots up.&lt;/p&gt;

&lt;p&gt;Think of it as a bash script contains all the commands that you need to run when booting up the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; instance.
This can be your regular ubuntu &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt&lt;/code&gt; commands. For example&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;c&quot;&gt;#!bin/bash&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt-get upgrade
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;xyz

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can basically paste this into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;userdata&lt;/code&gt; located in advance details when launching an instance.&lt;/p&gt;

&lt;p&gt;you can also make a request to userdata by following command.&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;curl http://169.254.169.254/latest/meta-data/
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;status-checks-and-monitoring&quot;&gt;Status Checks and Monitoring&lt;/h3&gt;
&lt;p&gt;You can setup cloudwatch alarms on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; instances to help monitor the instances effectively and futhermore you can also install &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stress&lt;/code&gt; tool to perform stress testing on the instances.&lt;/p&gt;

&lt;h3 id=&quot;publicprivate-and-elastic-ip-addresses&quot;&gt;Public,Private and Elastic IP addresses.&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Public IP Address&lt;/strong&gt;:
    &lt;ul&gt;
      &lt;li&gt;Lost when the instance is stopped.&lt;/li&gt;
      &lt;li&gt;Used in public subnets.&lt;/li&gt;
      &lt;li&gt;No Charge&lt;/li&gt;
      &lt;li&gt;Associated with private IP address on the instance.&lt;/li&gt;
      &lt;li&gt;Cannot be moved between instances.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Private IP  Address&lt;/strong&gt;:
    &lt;ul&gt;
      &lt;li&gt;Retained when the instance is stopped.&lt;/li&gt;
      &lt;li&gt;Used in public and private subnets.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Elastic IP Address&lt;/strong&gt;:
    &lt;ul&gt;
      &lt;li&gt;Static Public IP Address.&lt;/li&gt;
      &lt;li&gt;You are charged if not used.&lt;/li&gt;
      &lt;li&gt;Associated with a private IP address on the instance.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Note:&lt;/strong&gt; Elastic Fabric Adapter is a network device that you can attach to reduce latency and increase throughput for distributed HPC(High Performance Computing)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;private-subnets-and-bastion-hosts&quot;&gt;Private Subnets and Bastion Hosts&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Public Subnets are easily accessible through public internet&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Private Subnet route table doesn’t have the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;igw&lt;/code&gt; route and its not configured to provide public ip addresses to the instances launched into this.&lt;/li&gt;
  &lt;li&gt;There’s no way to directly manage this instance through the internet.&lt;/li&gt;
  &lt;li&gt;A bastian host is a public instance that you used to jump to private instance and it is also known as jump host and through bastian host you will be able to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt; into your private instance.&lt;/li&gt;
  &lt;li&gt;We use agent forwarding and use the bastian host to connect to the private subnet instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;nat-instances-and-nat-gateways&quot;&gt;NAT Instances and NAT Gateways&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;NAT Instance:&lt;/strong&gt; Network Address Translation(NAT).Its basically a process of taking the private ip address and translating it to public ip address so it allows you to connect to the public internet.
    &lt;ul&gt;
      &lt;li&gt;It’s managed by you&lt;/li&gt;
      &lt;li&gt;The only way to scale this is to do it manually which means using a powerful and bigger instance with more resources and enhanced networking with additional bandwith.&lt;/li&gt;
      &lt;li&gt;There’s no high availability and it has to be done manually.&lt;/li&gt;
      &lt;li&gt;Need to assign security groups.&lt;/li&gt;
      &lt;li&gt;Can be used as bastion host.&lt;/li&gt;
      &lt;li&gt;You can use an Elastic IP address or a public address with a NAT instance.&lt;/li&gt;
      &lt;li&gt;Can implement port forwarding manually&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;NAT Gateway:&lt;/strong&gt; A better version of NAT Instance.
    &lt;ul&gt;
      &lt;li&gt;Its managed by AWS&lt;/li&gt;
      &lt;li&gt;Its elastically scaled upto 45 GBps&lt;/li&gt;
      &lt;li&gt;Provides automatic high availability within an AZ and can be placed in multiple AZs.&lt;/li&gt;
      &lt;li&gt;No security groups&lt;/li&gt;
      &lt;li&gt;Cannot be accessed through &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Choose the Elastic IP address to associate with a NAT instance gateway at creation.&lt;/li&gt;
      &lt;li&gt;Doesn’t support port forwarding.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Lastly Private Subnet contains &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nat-gateway-id&lt;/code&gt; instead of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;igw-id&lt;/code&gt; and anything that isn’t defined within &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ip cidr block&lt;/code&gt; of private subnet route table is handled by the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nat-gateway-id&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;ec2-placement-groups&quot;&gt;EC2 Placement Groups&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Cluster&lt;/strong&gt;: packs instances close together inside an Availability Zone. This strategy enables workloads to achieve the low latency network performance necessary for tightly coupled node to node communication that is typical of HPC applications.
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;WHAT:&lt;/strong&gt; Instances are placed into a low latency group within a single AZ&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;WHEN:&lt;/strong&gt; Need a low network latency or high network throughput.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Get most out of enhanced networking instances.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Finite capacity recommends launching all you might need upfront.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Partition&lt;/strong&gt;: spreads your instances across logical partitions such that groups of instances in once partition do not share the underlying hardware with groups of instances in different partitions.This strategy is typically used by large distributed and replicated workloads such as Hadoop,Cassandra and Kafka.
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;WHAT:&lt;/strong&gt; Instances are grouped into logical segments called partitions which use distinct hardware.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;WHEN:&lt;/strong&gt; Need control and visibility into instance placement.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Reduces likelihood of correlated failures for large workloads.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Partition placement groups are not supported for dedicated hosts.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Spread&lt;/strong&gt;: strictly places a small group of instances across distinct underlying hardward to reduce correlated failures.
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;WHAT:&lt;/strong&gt; Instances are spread across underlying hardware.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;WHEN:&lt;/strong&gt; Reduce the risk of simultaneous instance failure if underlying hardware fails.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Pros:&lt;/strong&gt; Can span multiple AZs&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Cons:&lt;/strong&gt; Maximum upto 7 instances running per group,per AZ.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;few-notes&quot;&gt;Few Notes&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Amazon EC2:
    &lt;ul&gt;
      &lt;li&gt;Its a compute cloud basically a web service that provides resizeable compute capacity in the cloud.&lt;/li&gt;
      &lt;li&gt;With EC2 you have full control of the operating system layer.&lt;/li&gt;
      &lt;li&gt;You use key-pair to securely connect to ec2 instances using ssh.&lt;/li&gt;
      &lt;li&gt;A keypair consists of public key that AWS stores and private key that we store on our local machine.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user-data&lt;/code&gt; is a script that you provide when starting an instance.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;meta-data&lt;/code&gt; is the data of your instance that you can use to configure the instance.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;EC2 Pricing Models:
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;On Demand&lt;/strong&gt;:
        &lt;ul&gt;
          &lt;li&gt;No upfront fee.&lt;/li&gt;
          &lt;li&gt;Charged per hour or second&lt;/li&gt;
          &lt;li&gt;No Commitment&lt;/li&gt;
          &lt;li&gt;Ideal for short term needs or unpredictable workloads&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Reserved&lt;/strong&gt;:
        &lt;ul&gt;
          &lt;li&gt;Options: No Upfront,Partial Upfront or all Upfront.&lt;/li&gt;
          &lt;li&gt;Charged by hour or second.&lt;/li&gt;
          &lt;li&gt;1year or 3year commitment.&lt;/li&gt;
          &lt;li&gt;Ideal for steady-state workloads and predictable usage.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Spot&lt;/strong&gt;:
        &lt;ul&gt;
          &lt;li&gt;No upfront fee&lt;/li&gt;
          &lt;li&gt;Charged by hour or second&lt;/li&gt;
          &lt;li&gt;No commitment&lt;/li&gt;
          &lt;li&gt;Ideal for cost sensitive, compute sensitive use cases that can withstand interruption. (Batch Processing)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Dedicated Hosts&lt;/strong&gt;:
        &lt;ul&gt;
          &lt;li&gt;Good for enterprise customers who are looking for isolated environments&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Amazon EC2 AMIs:
    &lt;ul&gt;
      &lt;li&gt;An Amazon Machine Image provides the information required to launch an instance&lt;/li&gt;
      &lt;li&gt;An AMI includes the following
        &lt;ul&gt;
          &lt;li&gt;A template for the root volume for the instance (OS,system,an application server and applications).&lt;/li&gt;
          &lt;li&gt;Launch permissions that control which AWS accounts can use the AMI to launch instances.&lt;/li&gt;
          &lt;li&gt;A block device mapping that specifies the volumes to attach to the instance when its launched (which EBS to attach to the instance).&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Volumes attached to the instances are either EBS or Instance store.
        &lt;ul&gt;
          &lt;li&gt;Amazon EBS provided persistent store.EBS snapshots resides on Amazon S3 are used to create the volume.&lt;/li&gt;
          &lt;li&gt;Instance store volumes are ephermeral(non-persistent).this means data is lost when the instance is shut down/&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;AMIs are regional.You can only launch an AMI from the region in which it is stored. However you can copy AMI’s to other regions using console,CLS or API.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Elastic Network Interface (ENI):
    &lt;ul&gt;
      &lt;li&gt;A logical networking component in a VPC that represents a virtual network card.&lt;/li&gt;
      &lt;li&gt;Can include attributes such as IP addresses,security groups,MAC addresses, source/destination check flag,description.&lt;/li&gt;
      &lt;li&gt;You can create and configure network interfaces in your account and attach them to your instances in VPC.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;eth0&lt;/code&gt; is the primary network interface and cannot be moved or detached.&lt;/li&gt;
      &lt;li&gt;An ENI is bound to an availability zone and you can specify which subnet/AZ you want the ENI to be loaded in.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Elastic Fabric Adapter (EFA):
    &lt;ul&gt;
      &lt;li&gt;An AWS Elastic Network Adapter (ENA) with added capabilities.&lt;/li&gt;
      &lt;li&gt;Enables customers to run applications requiring high levels of internode communications at scale on AWS.&lt;/li&gt;
      &lt;li&gt;With EFA, High Performance Computing (HPC) applications using the Message Passing Interface (MPI) and Machine Learning (ML) applications using NVIDIA Collective Communications Library (NCCL) can scale upto thousands of CPUs or GPUs.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;ENI vs ENA vs EFA:
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;When to use ENI&lt;/strong&gt;: This is the basic adapter type for when you don’t have any high performance requirements. Can use with all instance types.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;When to use ENA&lt;/strong&gt;: Good for use cases that require higher bandwidth and lower inter-instance latency. Supported for limited instance types (HVM only).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;elastic-load-balancing-and-auto-scaling&quot;&gt;Elastic Load Balancing and Auto Scaling.&lt;/h2&gt;

&lt;h3 id=&quot;elastic-load-balancing&quot;&gt;Elastic Load Balancing&lt;/h3&gt;
&lt;p&gt;Load Balancing refers to efficiently distributing incoming network traffic across a group of backend servers.&lt;/p&gt;

&lt;h3 id=&quot;application-load-balancer&quot;&gt;Application Load Balancer&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Operates at the request level.&lt;/li&gt;
  &lt;li&gt;Routes based on the content of request (Layer 7)&lt;/li&gt;
  &lt;li&gt;Supports path based routing,host based routing,query string parameter based routing and source IP address based routing.&lt;/li&gt;
  &lt;li&gt;Supports IP addresses, Lambda Functions and containers as targets.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;
    &lt;h3 id=&quot;network-load-balancer&quot;&gt;Network Load Balancer&lt;/h3&gt;
  &lt;/li&gt;
  &lt;li&gt;Operates at the connection level.&lt;/li&gt;
  &lt;li&gt;Routes connections based on IP protocol Data (layer 4)&lt;/li&gt;
  &lt;li&gt;Offers ultra high performance,low latency,and TLS offloading at scale.&lt;/li&gt;
  &lt;li&gt;Can have static IP / Elastic IP&lt;/li&gt;
  &lt;li&gt;Supports UDP and static IP addresses as targets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;classic-load-balancer&quot;&gt;Classic Load Balancer&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Old generation; not recommended for new applications.&lt;/li&gt;
  &lt;li&gt;Performs routing at Layer 4 and Layer 7&lt;/li&gt;
  &lt;li&gt;Use for existing applications running on EC2-Classic instance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;internet-facing-vs-internal&quot;&gt;Internet Facing VS Internal&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Internet Facing:
    &lt;ul&gt;
      &lt;li&gt;ELB nodes have public IPs.&lt;/li&gt;
      &lt;li&gt;Routes traffic to the private IP addresses of the EC2 instances.&lt;/li&gt;
      &lt;li&gt;Need one public subnet in each AZ where ELB is defined.&lt;/li&gt;
      &lt;li&gt;ELB dns name format &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;name&amp;gt;-&amp;lt;id-number&amp;gt;.&amp;lt;region&amp;gt;.elb.amazonaws.com&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Internal only ELB:
    &lt;ul&gt;
      &lt;li&gt;ELB nodes have private IPs.&lt;/li&gt;
      &lt;li&gt;Routes traffic to the private IPs of the EC2 instances.&lt;/li&gt;
      &lt;li&gt;ELB dns name format &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;internal-&amp;lt;name&amp;gt;-&amp;lt;id-number&amp;gt;.&amp;lt;region&amp;gt;.elb.amazonaws.com&lt;/code&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;elastic-load-balancing-1&quot;&gt;Elastic Load Balancing&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;EC2 instances and containers can be registered against an ELB&lt;/li&gt;
  &lt;li&gt;ELB nodes use IP addresses within your subnets, ensure at least a /27 subnet
and make sure there are at least 8 IP addresses available in that order for the ELB to scale.&lt;/li&gt;
  &lt;li&gt;An ELB forwards traffic to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;eth0&lt;/code&gt; (primary IP address).&lt;/li&gt;
  &lt;li&gt;An ELB listener is the process that checks for the connection requests:
    &lt;ul&gt;
      &lt;li&gt;Listeners for CLB provide options for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TCP&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt;/&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;Listeners for ALB only provide options for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Listeners for NLB only provide only &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TCP&lt;/code&gt; as an option
        &lt;h3 id=&quot;elb-security-groups&quot;&gt;ELB Security Groups&lt;/h3&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Security Groups control the ports and protocols that can reach the front-end listener.&lt;/li&gt;
  &lt;li&gt;You must assign a security group for the ports and the protocols on the front end listener.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;elb-monitoring&quot;&gt;ELB Monitoring&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;CloudWatch every 1 min.&lt;/li&gt;
  &lt;li&gt;ELB service sends information when requests are active.&lt;/li&gt;
  &lt;li&gt;Access Logs:
    &lt;ul&gt;
      &lt;li&gt;Disabled by Default.&lt;/li&gt;
      &lt;li&gt;Includes information about the client(not included in the Cloud Watch Metrics)&lt;/li&gt;
      &lt;li&gt;Can identify requester IP,request type etc.&lt;/li&gt;
      &lt;li&gt;Can be optionally stored and retained in S3.
        &lt;h3 id=&quot;ec2-auto-scaling&quot;&gt;EC2 Auto Scaling&lt;/h3&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;You can attach one or more classic ELBs to your existing Auto Scaling Groups.&lt;/li&gt;
  &lt;li&gt;You can attach one or more Target Groups to your ASG to include instances behind an ALB.&lt;/li&gt;
  &lt;li&gt;The ELBs must be in same region.&lt;/li&gt;
  &lt;li&gt;Launch configuration is the template used to create new EC2 instances and includes parameters such as instance family,
instance type,AMI,keypair and security groups.&lt;/li&gt;
&lt;/ul&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Scaling Option&lt;/th&gt;
    &lt;th&gt;What is it?&lt;/th&gt; 
    &lt;th&gt;When to use?&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Maintain&lt;/td&gt;
    &lt;td&gt;Ensures the required number of instances are running&lt;/td&gt;
    &lt;td&gt;Use when you always need a known number of instances running at all times&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Manual&lt;/td&gt;
    &lt;td&gt;Manually change the desired capacity via console or CLI&lt;/td&gt;
    &lt;td&gt;Use when your needs change rarely enough that you are Ok! to make manual changes.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Schedule&lt;/td&gt;
    &lt;td&gt;Adjust Min/Max instances on specific dates/times or recurring time periods&lt;/td&gt;
    &lt;td&gt;Use when you know you are busy and quiet times are. Useful for ensuring enough instances are available before busy times&lt;/td&gt;
  &lt;/tr&gt;
    &lt;tr&gt;
    &lt;td&gt;Dynamic&lt;/td&gt;
    &lt;td&gt;Scale in response to a system load or other triggers using metrics&lt;/td&gt;
    &lt;td&gt;Useful for changing capacity based on system usage eg if cpu hits 80%&lt;/td&gt;
    
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h3 id=&quot;ec2-autoscaling---scaling-types&quot;&gt;EC2 Autoscaling - Scaling Types&lt;/h3&gt;
&lt;table style=&quot;width:50%&quot;&gt;
  &lt;tr&gt;
    &lt;th&gt;Scaling&lt;/th&gt;
    &lt;th&gt;What is it?&lt;/th&gt; 
    &lt;th&gt;When to use?&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Target Tracking Policy&lt;/td&gt;
    &lt;td&gt;The scaling adds or removes capacity as required to keep the metric at or close to the specified target value&lt;/td&gt;
    &lt;td&gt;A use case,when you want to keep the aggregate CPU usage of your ASG at 70%&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Simple Scaling Policy&lt;/td&gt;
    &lt;td&gt;Waits until health check and cool down period expires before revaluating&lt;/td&gt;
    &lt;td&gt;This is more conservative way to add/remove instances.Useful when load is eratic.AWS recommend step scaling instead of simple in most cases&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Step Scaling Policy&lt;/td&gt;
    &lt;td&gt;Increase or decrease the current capacity of your Auto Scaling group based on a set of scaling adjustments known as step adjustments&lt;/td&gt;
    &lt;td&gt;Useful when you want to vary adjustments based on the size of the alarm breach&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;Can also scale based on AWS SQS.&lt;/li&gt;
  &lt;li&gt;Uses a custom metric that’s sent to Amazon Cloud Watch that measures the number of messages in the queue per EC2 instance in the auto scaling group.&lt;/li&gt;
  &lt;li&gt;Then use a target tracking policy that configures your ASG to scale based on the custom metric and a set target value. Cloud watch alarms invoke the scaling policy.&lt;/li&gt;
  &lt;li&gt;Use a custom &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;backlog per instance&lt;/code&gt; metric to track not just the number of messages in the queue but the number available for retrieval.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;ec2-autoscaling---termination-policy&quot;&gt;EC2 Autoscaling - Termination Policy&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Termination policies control which instances are terminated first when scale in event occurs.&lt;/li&gt;
  &lt;li&gt;There is default termination policy and options for configuring your own customized termination policies.&lt;/li&gt;
  &lt;li&gt;The default termination policy is designed to help ensure that instances span AZs evenly for High Availability Zones.&lt;/li&gt;
  &lt;li&gt;The default policy is kept generic and flexible to cover a range of scenarios.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;virtual-private-cloud&quot;&gt;Virtual Private Cloud&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;A Virtual Private Cloud (VPC) is logically isolated from other VPCs on AWS.&lt;/li&gt;
  &lt;li&gt;VPCs are regions specific&lt;/li&gt;
  &lt;li&gt;A default VPC is created in each region with a subnet in each AZ.&lt;/li&gt;
  &lt;li&gt;You can define dedicated tenancy for a VPC to ensure instances are launched on a dedicated hardware.&lt;/li&gt;
  &lt;li&gt;The default VPC has all public subnets.&lt;/li&gt;
  &lt;li&gt;Public Subnets:
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Auto Assign public IPv4 address&lt;/code&gt; set to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Yes&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;The subnet route table has an attached Internet Gateway.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Instances in the default VPC always have both a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;public&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;private&lt;/code&gt; IP addresses.&lt;/li&gt;
  &lt;li&gt;AZ names are mapped to different zones for different users.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc-components&quot;&gt;Amazon VPC Components.&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;VPC: A logically isolated virtual network in the AWS cloud. You define VPC’s IP address space from ranges you select.&lt;/li&gt;
  &lt;li&gt;Subnet: A segment of a VPC’s IP address range where you can place groups of isolated resources (maps to sinlge AZ).&lt;/li&gt;
  &lt;li&gt;Internet Gateway: The Amazon VPC side of a connection to the public internet.&lt;/li&gt;
  &lt;li&gt;NAT Gateway: A highly available,managed Network Address Translation (NAT) service for your resources in a private subnet to access the internet.&lt;/li&gt;
  &lt;li&gt;Hardware VPN Connection: A hardware based VPN connection between your AWS VPC and your data center,home network, or co location facility.&lt;/li&gt;
  &lt;li&gt;Virtual Private Gateway: The VPC side of an VPN Connection.&lt;/li&gt;
  &lt;li&gt;Customer Gateway: Our side of a VPN Connection.&lt;/li&gt;
  &lt;li&gt;Router: Routers interconnect subnets and direct traffic between Internet gateways,virtual private gateways, NAT gateways and subnets.&lt;/li&gt;
  &lt;li&gt;Peering Connection: A peering connection allows you to route traffic via private IP addresses between two peered VPCs&lt;/li&gt;
  &lt;li&gt;VPC Endpoints: Enables private connectivity to services hosted in AWS from within VPC without using an Internet Gateway,VPN,NAT Devices or firewall proxies.&lt;/li&gt;
  &lt;li&gt;Egress-only Internet Gateway: A stateful gateway to provide egress only access for IPv6 traffic from the VPC to the internet.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc---routing&quot;&gt;Amazon VPC - Routing&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;The VPC router performs routing between AZs within a region.&lt;/li&gt;
  &lt;li&gt;The VPC router connects different AZs together and connects the VPC to the internet Gateway.&lt;/li&gt;
  &lt;li&gt;Each subnet has a route table the router uses to forward traffic withing the VPC.&lt;/li&gt;
  &lt;li&gt;Route tables also have entries to external destinations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc---subnets&quot;&gt;Amazon VPC - Subnets&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Types of subnets:
    &lt;ul&gt;
      &lt;li&gt;If a subnet’s traffic is routed to an internet gateway the subnet is known as a public subnet.&lt;/li&gt;
      &lt;li&gt;If a subnet doesn’t have a route to the internet gateway the subnet is known as private subnet.&lt;/li&gt;
      &lt;li&gt;The VPC is created with a master address range(CIDR block,can be anywhere from 16-28 bits) and subnet ranges are created within that range.&lt;/li&gt;
      &lt;li&gt;New subnets are always associated with the default route table&lt;/li&gt;
      &lt;li&gt;Once VPC is created you cannot change the CIDR block.&lt;/li&gt;
      &lt;li&gt;You cannot created additional CIDR blocks that overlap with existing CIDR blocks&lt;/li&gt;
      &lt;li&gt;You cannot create additional CIDR blocks in a different RFC 1918 range.&lt;/li&gt;
      &lt;li&gt;Subnets with overlapping IP address ranges cannot be created&lt;/li&gt;
      &lt;li&gt;The first 4 and last 1 IP address in a subnet are reserved.&lt;/li&gt;
      &lt;li&gt;Subnets are created within AZs&lt;/li&gt;
      &lt;li&gt;Subnets map 1:1 to AZs and cannot span AZs.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc---internet-gateways&quot;&gt;Amazon VPC - Internet Gateways.&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;An Internet Gateway serves two purposes:
    &lt;ul&gt;
      &lt;li&gt;To provide a target in your vpc route tables for internet routable traffic.&lt;/li&gt;
      &lt;li&gt;To perform network address translation(NAT) for instances that have been assigned public IPv4 addresses.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Internet Gateways must be created and then attached to a VPC, be added to a route table and then associated with the relevant subnets.&lt;/li&gt;
  &lt;li&gt;No availability risk or bandwidth constraints.&lt;/li&gt;
  &lt;li&gt;You cannot have multiple Internet Gateways in a VPC&lt;/li&gt;
  &lt;li&gt;Egress-Only internet Gateway provides outbound Internet Access for IPv6 addressed instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc---secuirty-groups&quot;&gt;Amazon VPC - Secuirty Groups&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Security Group act like a firewall at the instance level (network interface) level.&lt;/li&gt;
  &lt;li&gt;Can only assign permit rules in a security group, cannot assign deny rules.&lt;/li&gt;
  &lt;li&gt;All rules are evaluated until a permit is encountered or continues until the implicit deny.&lt;/li&gt;
  &lt;li&gt;Can control ingress and egress traffic.&lt;/li&gt;
  &lt;li&gt;Security groups are stateful&lt;/li&gt;
  &lt;li&gt;By default, custom security groups do not have inbound allow rules (all inbound traffic is denied by default).&lt;/li&gt;
  &lt;li&gt;By defualt, default security groups do have inbound allow rules (allowing traffic from within the group).&lt;/li&gt;
  &lt;li&gt;All outbound traffic is allowed by default in custom abd default security groups.&lt;/li&gt;
  &lt;li&gt;You cannot delete the security group that’s created by default within a VPC.&lt;/li&gt;
  &lt;li&gt;You can use security group names as the source of destination in other security groups.&lt;/li&gt;
  &lt;li&gt;You can use the security group name as a source in its own inbound rules.&lt;/li&gt;
  &lt;li&gt;Secuirty group membership can be changed whilst instances are running.&lt;/li&gt;
  &lt;li&gt;Any changes made will take effect immediately.&lt;/li&gt;
  &lt;li&gt;You cannot block specific ip addresses using the security groups use NACLs instead.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-vpc---network-acls&quot;&gt;Amazon VPC - Network ACLs&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Network ACLs function at the subnet level.&lt;/li&gt;
  &lt;li&gt;With NACLs you can have permit and deny rules.&lt;/li&gt;
  &lt;li&gt;Network ACLs contain a numbered list of rules that are evaluated in order from the lowest number until the explicit deny.&lt;/li&gt;
  &lt;li&gt;Network ACLs have separate inbound and outbound rules and each rule can allow or deny traffic.&lt;/li&gt;
  &lt;li&gt;Network ACLs are stateless so responses are subject to the rules for the direction of traffic.&lt;/li&gt;
  &lt;li&gt;NACLs only apply to traffic that is ingress or egress to the subnet not to traffic within the subnet.&lt;/li&gt;
  &lt;li&gt;A VPC automatically comes with a default network ACL which allows all inbound/outbound traffic.&lt;/li&gt;
  &lt;li&gt;A custom NACL denies all traffic both inbound and outbound by default.&lt;/li&gt;
  &lt;li&gt;All subnets must be associated with a network ACL.&lt;/li&gt;
  &lt;li&gt;You can create custom network ACLs. By default each custom network ACL denies all the inbound and outbound traffic until you add rules.&lt;/li&gt;
  &lt;li&gt;You can associate a network ACL with multiple subnets; however a subnet can only be associated with one network ACL at a time.&lt;/li&gt;
  &lt;li&gt;Network ACLs do not filter traffic between instances in the same subnet.&lt;/li&gt;
  &lt;li&gt;NACLs are preffered option when it comes to blocking specific IPs or ranges.&lt;/li&gt;
  &lt;li&gt;Security groups cannot be used to block specific ranges of IPs.&lt;/li&gt;
  &lt;li&gt;NACL is the first line of defence, the secuirty group is the second.&lt;/li&gt;
  &lt;li&gt;Changes to NACL take immediately.&lt;/li&gt;
&lt;/ul&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Security Group&lt;/th&gt;
    &lt;th&gt;Network ACL&lt;/th&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Operates at the instance level&lt;/td&gt;
    &lt;td&gt;Operates at the subnet level&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Support allow rules only&lt;/td&gt;
    &lt;td&gt;Supports allow and deby rules only&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Stateful&lt;/td&gt;
    &lt;td&gt;Stateless&lt;/td&gt;
  &lt;/tr&gt;
   &lt;tr&gt;
    &lt;td&gt;Evaluates all rules&lt;/td&gt;
    &lt;td&gt;Processes rules in order&lt;/td&gt;
  &lt;/tr&gt;
   &lt;tr&gt;
    &lt;td&gt;Applies to an instance only if associated with a group&lt;/td&gt;
    &lt;td&gt;Automatically applies to all instances in the subnets its associated with&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h3 id=&quot;amazon-vpc---connectivity&quot;&gt;Amazon VPC - Connectivity&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;There are several methods of connecting to a vpc and these include&lt;/li&gt;
  &lt;li&gt;AWS Managed VPN
    &lt;ul&gt;
      &lt;li&gt;What: AWS Managed IPSec VPN Connection over your existing internet.&lt;/li&gt;
      &lt;li&gt;When: Quick and usually simple way to establish a secure tunnelled connection to a vpc; Redundant link for direct connect or other VPC VPN&lt;/li&gt;
      &lt;li&gt;Pros: Supports static routes or BGP peering and routing&lt;/li&gt;
      &lt;li&gt;Cons: Dependant on your internet connection.&lt;/li&gt;
      &lt;li&gt;How: Create a virtual private gateway on AWS and Customer gateway on the on premise.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AWS Direct Connect
    &lt;ul&gt;
      &lt;li&gt;What: Dedicated network connection over private lines straight into AWS backbone.&lt;/li&gt;
      &lt;li&gt;When: Requires a large network link into AWS; lots of resources and services being provided on AWS to your coporate users&lt;/li&gt;
      &lt;li&gt;Pros: More predictable network performance; potential bandwidth cost reduction; upto 10 GBps provisioned connections; supports BGP peering and routing.&lt;/li&gt;
      &lt;li&gt;Cons: May require additional telecom and hosting provider relationships and /or network circuits; costly;takes time to provision.&lt;/li&gt;
      &lt;li&gt;How: Work with your existing data networking provider;create virtual interfaces (VIFs) to connect to VPCs (Private VIFs) or other AWS services like s3 or glacier (public VIFs).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AWS Direct Connect plus a VPN
    &lt;ul&gt;
      &lt;li&gt;What: IPSec VPN connection over private lines (DirectConnect).&lt;/li&gt;
      &lt;li&gt;When: Need the added security of encrypted tunnels over direct connect.&lt;/li&gt;
      &lt;li&gt;Pros: More secure (in-theory) than Direct Connect Alone.&lt;/li&gt;
      &lt;li&gt;Cons: More complexity introduced by VPN Layer&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AWS VPN CloudHub
    &lt;ul&gt;
      &lt;li&gt;What: Connect location in the hub and spoke manner using AWSs VPC.&lt;/li&gt;
      &lt;li&gt;When: Link remote offices for backup or primary WAN access to AWS resources.&lt;/li&gt;
      &lt;li&gt;Pros: Reuses existing Internet Connections;supports BGP routes to direct traffic&lt;/li&gt;
      &lt;li&gt;Cons: Dependant on Internet Connection; No inherent redundacny&lt;/li&gt;
      &lt;li&gt;How:  Assign multiple Customer Gateways to Virtual Private Gateway, each with their own BGP ASN and unique IP ranges.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Software VPN
    &lt;ul&gt;
      &lt;li&gt;What: You provide your own VPN endpoint and software&lt;/li&gt;
      &lt;li&gt;When: You must manage both ends of the vpn connection for compliance reasons or you want to use a VPN option not supported by AWS&lt;/li&gt;
      &lt;li&gt;Pros: Ultimate flexibility and manageability&lt;/li&gt;
      &lt;li&gt;Cons: You must design for an needed redundancy across the whole chain&lt;/li&gt;
      &lt;li&gt;How:  Install VPN software via marketplace appliance of on an EC2 instance.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Transit VPC
    &lt;ul&gt;
      &lt;li&gt;What: Common strategy for connecting geographically dispersed VPCs and locations in order to create a global network transit center.&lt;/li&gt;
      &lt;li&gt;When: Locations and VPC-deployed assests across multiple regions that need to communicate with one another.&lt;/li&gt;
      &lt;li&gt;Pros: Ultimate flexibility and manageability but also AWS-managed VPN hub-and-spoke between VPCs&lt;/li&gt;
      &lt;li&gt;Cons: You must design for any needed redundancy across the whole chain&lt;/li&gt;
      &lt;li&gt;How:  Providers like cisco,juniper networks and riverbed have offerings that work with their equipment and AWS VPC&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;VPC Peering:
    &lt;ul&gt;
      &lt;li&gt;What: AWS provided network connectivity between two VPCs&lt;/li&gt;
      &lt;li&gt;When: Multiple VPCs need to communicate or access each others resources.&lt;/li&gt;
      &lt;li&gt;Pros: Uses AWS Backbone without traversing the internet.&lt;/li&gt;
      &lt;li&gt;Cons: Transitive peering is not supported&lt;/li&gt;
      &lt;li&gt;How:  VPC peering request made; accepter accepts the request (either within or across the accounts)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;AWS Private Link:
    &lt;ul&gt;
      &lt;li&gt;What: AWS provided network connectivity between VPCs and or AWS services using interface endpoints.&lt;/li&gt;
      &lt;li&gt;When: Keep private Subnets truly private by using AWS backbone to reach other AWS or Marketplace services rather than the public internet.&lt;/li&gt;
      &lt;li&gt;Pros: Redundant;uses AWS backbone&lt;/li&gt;
      &lt;li&gt;How : Create endpoint for required AWS or Marketplace service in all required subnets;access via provided DNS hostname.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;VPC Endpoints:&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt; &lt;/th&gt;
    &lt;th&gt;Interface Endpoint&lt;/th&gt;
    &lt;th&gt;Gateway Endpoint&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;What&lt;/td&gt;
    &lt;td&gt;Elastic Network Interface with a private IP&lt;/td&gt;
    &lt;td&gt;A gateway that is a target for a specific route&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;How&lt;/td&gt;
    &lt;td&gt;Uses DNS entries to redirect traffic&lt;/td&gt;
    &lt;td&gt;Uses prefix lists in the route table to redirect traffic&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Which services&lt;/td&gt;
    &lt;td&gt;API Gateway,CloudFormation,CloudWatch&lt;/td&gt;
    &lt;td&gt;Amazon S3,DynamoDB&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Security&lt;/td&gt;
    &lt;td&gt;Security Groups&lt;/td&gt;
    &lt;td&gt;VPC Endpoint Policies&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h2 id=&quot;route-53&quot;&gt;Route 53&lt;/h2&gt;
&lt;p&gt;According to wikipedia, &lt;em&gt;Amazon Route 53 is a scalable and highly available Domain Name System.&lt;/em&gt; It was lauched in December 2010 and has been part AWS since then.
Route 53 allows you register domain name for your service and it offers following functions:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Domain Name Registry.&lt;/li&gt;
  &lt;li&gt;DNS Resolution&lt;/li&gt;
  &lt;li&gt;Health Checks of the resources&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Route 53 is located alongside of all edge locations and when you register a domain with Route 53 it becomes the authoritative DNS server for that domain and creates a public hosted zone.&lt;/p&gt;

&lt;p&gt;Route 53 also you to transfer your domains to it as long as it supports TLD(Top Level Domain) is supported and you can even transfer to another registrar by contacting aws support.&lt;/p&gt;

&lt;p&gt;You can also transfer a domain to another account in AWS however it does not migrate the hosted by default(optional) and its also possible to have domain registered in one aws account and hosted zone in the other aws account&lt;/p&gt;

&lt;p&gt;Route 53 also allows you have to private DNS which lets you have authoritative DNS within your VPCs without exposing DNS records to the public internet.&lt;/p&gt;

&lt;p&gt;Lastly you can use AWS Management Console or API to register new domain names with route 53&lt;/p&gt;

&lt;h3 id=&quot;route-53-hosted-zones&quot;&gt;Route 53 Hosted Zones&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;A hosted zone is a collection of records for a specified domain.&lt;/li&gt;
  &lt;li&gt;A hosted zone is analogous to a traditional DNS zone file; it represents a collection of records that can be managed together.&lt;/li&gt;
  &lt;li&gt;There are two types of zones
    &lt;ul&gt;
      &lt;li&gt;Public Hosted Zone: Determines how much traffic is routed on the internet&lt;/li&gt;
      &lt;li&gt;Private Hosted Zone for VPC: Determines how traffic is routed within VPC (Not accessible outside of VPC).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;For Private hosted zones you must set the following VPC settings to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;enableDnsHostname&lt;/li&gt;
      &lt;li&gt;enableDnsSupport
You also need to create a DHCP options set.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;route-53-health-checks&quot;&gt;Route 53 Health Checks&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Health checks ensures the instance health by connecting to it.&lt;/li&gt;
  &lt;li&gt;Health can be pointed at:
    &lt;ul&gt;
      &lt;li&gt;Endpoints (IP addresses or Domain Names)&lt;/li&gt;
      &lt;li&gt;Status of other health checks&lt;/li&gt;
      &lt;li&gt;Status of cloudwatch alarm&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Route 53 supports most of the DNS record types; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Alias&lt;/code&gt; record is specific to Route 53 and its pointed to DNS name of the service.&lt;/p&gt;

&lt;h3 id=&quot;cname-vs-alias&quot;&gt;CNAME vs Alias&lt;/h3&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;CNAME&lt;/th&gt;
    &lt;th&gt;ALIAS&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Route 53 charges for CNAME queries&lt;/td&gt;
  &lt;td&gt;Route 53 doesn't charge for alias queries to AWS resources&lt;/td&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;You cannot create a CNAME record at the top of a DNS namespace (zone apex)&lt;/td&gt;
  &lt;td&gt;You can create ALIAS record at the zone apex (You cannot route to a CNAME at the zone apex)&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;A CNAME can point to any DNS record that is hosted anywhere&lt;/td&gt;
  &lt;td&gt;An alias record can only point to  a CLoudFront distribution,Elastic BeanStalk,ELB,S3 bucket as a static site or to another record in the same hosted zone that you are creating the alias record in&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h3 id=&quot;route-53-routing-policies&quot;&gt;Route 53 Routing Policies&lt;/h3&gt;

&lt;table style=&quot;width:100%&quot;&gt;
  &lt;tr&gt;
    &lt;th&gt;Policy&lt;/th&gt;
    &lt;th&gt;What it does&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Simple&lt;/td&gt;
  &lt;td&gt;Simple DNS response by providing the IP address associated with a name&lt;/td&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Failover&lt;/td&gt;
  &lt;td&gt;If primary is down(based on health checks) routes to secondary destination&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Geolocation&lt;/td&gt;
  &lt;td&gt;Uses geographic location you are in (eg US) routes to closest location&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Geoproximity&lt;/td&gt;
  &lt;td&gt;Routes you to the closest region within geographic area&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Latency&lt;/td&gt;
  &lt;td&gt;Directs you based on the lowest latency routes&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Multivalue answer&lt;/td&gt;
  &lt;td&gt;Returns several IP addresses and functions as a basic load balancer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Weighted&lt;/td&gt;
  &lt;td&gt;Uses the relative weights assigned to resources to determine which route to&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;Simple
    &lt;ul&gt;
      &lt;li&gt;An &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;A&lt;/code&gt; record is mapped to one or more IP addresses.&lt;/li&gt;
      &lt;li&gt;Uses round robin&lt;/li&gt;
      &lt;li&gt;Does not support health checks.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Failover:
    &lt;ul&gt;
      &lt;li&gt;Failover to a secondary IP address.&lt;/li&gt;
      &lt;li&gt;Associated with a health check&lt;/li&gt;
      &lt;li&gt;Used for active-passive&lt;/li&gt;
      &lt;li&gt;Can be used with an ELB.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Geolocation:
    &lt;ul&gt;
      &lt;li&gt;Caters to different users in different countries and different languages.&lt;/li&gt;
      &lt;li&gt;Contains users within a specific geography and offers them a customized version of the workloads based on their specific needs.&lt;/li&gt;
      &lt;li&gt;Geolocation can be used for localizing the content and presenting some or all of your website in the language of the users.&lt;/li&gt;
      &lt;li&gt;Can also protect distribution rights.&lt;/li&gt;
      &lt;li&gt;Can be used for spreading load evenly between regions.&lt;/li&gt;
      &lt;li&gt;If you have multiple records for overlapping regions,Route 53 will route to the smallest geographic region.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Geoproximity:
    &lt;ul&gt;
      &lt;li&gt;Use for routing the traffic based on the location of resources and optionally shift traffic from resources in one location to resources in another.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Latency Based Routing:
    &lt;ul&gt;
      &lt;li&gt;AWS maintains a database of latency from different parts of the world.&lt;/li&gt;
      &lt;li&gt;Focused on improving performance by routing to the region with the lowest latency.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Multi-value answer:
    &lt;ul&gt;
      &lt;li&gt;Use for responding to the DNS queries with upto 8 healthy records selected at random.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Weighted:
    &lt;ul&gt;
      &lt;li&gt;Similar to simple but you can specify a weight per IP address.
        &lt;ul&gt;
          &lt;li&gt;You create records that have same name and type and assign each record a relative weight.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;route-53-traffic-flow&quot;&gt;Route 53 Traffic Flow&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Route 53 traffic flow provides Global Traffic Management services.&lt;/li&gt;
  &lt;li&gt;Traffic flow policies allow you to create routing configurations for resources using routing types such as failover and geolocation.&lt;/li&gt;
  &lt;li&gt;Create policies that route traffic based on specific constraints,including latency,endpoint health,load,geo-proximity and geography.&lt;/li&gt;
  &lt;li&gt;Scenarios:
    &lt;ul&gt;
      &lt;li&gt;A backup page in Amazon S3 for a website.&lt;/li&gt;
      &lt;li&gt;Building routing policies that consider an end users geographic location,proximity to an AWS region,and the health of each of your endpoints.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;route-53-resolver&quot;&gt;Route 53 Resolver&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;It’s a set of features that enable bi-directional querying between on-premise and AWS other private connections.&lt;/li&gt;
  &lt;li&gt;Used for enabling DNS resolution for hybrid clouds.&lt;/li&gt;
  &lt;li&gt;Route 53 Resolver Endpoints.
    &lt;ul&gt;
      &lt;li&gt;Inbound query capability is provided by Route 53 Resolver Endpoints,allowing DNS queries that originate on-premises to resolve AWS hosted domains.&lt;/li&gt;
      &lt;li&gt;Connectivity needs to be established between your on-premise DNS infrastructure and AWS through a DirectConnect or a VPN.&lt;/li&gt;
      &lt;li&gt;Endpoints are configured through IP address assignment in each subnet for you would like to provide a resolver.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Conditional Forwarding Rules:
    &lt;ul&gt;
      &lt;li&gt;Outbound DNS queries are enabled through the use of Conditional Forwarding Rules.&lt;/li&gt;
      &lt;li&gt;Domains hosted within your on-premise DNS infrastructure can be configured as forwarding rules in Route 53 Resolver.&lt;/li&gt;
      &lt;li&gt;Rules will trigger when a query is made to one of those domains and will attempt to forward DNS requests to your DNS servers that were configured along with the rules.&lt;/li&gt;
      &lt;li&gt;Like the inbound queries,this requires a private connection over DX or VPN.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-global-accelarator&quot;&gt;AWS Global Accelarator&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;AWS Global Accelarator is a service that improves the availability and performance of applications with local or global users.&lt;/li&gt;
  &lt;li&gt;It provides static IP addresses that act as a fixed entry point to application endpoints in a single or multiple AWS Regions, such as ALB,NLB or EC2 instances.&lt;/li&gt;
  &lt;li&gt;Uses AWS Global Network to optimize the path from users to applications,improving the performance of TCP and UDP traffic.&lt;/li&gt;
  &lt;li&gt;AWS Global Accelarator continually monitors the health of the application endpoints and will detect an unhealthy endpoint and redirect traffic to healthy endpoints in less than 1 minute.&lt;/li&gt;
  &lt;li&gt;Uses Redundant (two) static anycast IP addresses in different network Zones (A &amp;amp; B).&lt;/li&gt;
  &lt;li&gt;The redundant pair are globally advertized.&lt;/li&gt;
  &lt;li&gt;Uses AWS Edge Locations - addresses are announced from multiple edge locations at the same time.&lt;/li&gt;
  &lt;li&gt;Addresses are associated to regional AWS resources or endpoints.&lt;/li&gt;
  &lt;li&gt;AWS Global Accelarator IP addresses serve as the frontend interface of the applications.&lt;/li&gt;
  &lt;li&gt;Intelligent traffic distribution: Routes connections to the closest point of presence for applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;amazon-s3&quot;&gt;Amazon S3&lt;/h2&gt;
&lt;p&gt;Amazon Simple Storage Service is a object storage service built to store and retrieve any amount of data from anywhere in the internet.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Amazon S3 is a distributed architecture and objects are redundantly stored on multiple devices across multiple facilities (AZs) in an Amazon S3 region.&lt;/li&gt;
  &lt;li&gt;Amazon S3 is a simple key-based object store.&lt;/li&gt;
  &lt;li&gt;Amazon S3 provides a simple ,standard-based REST web services interface that is designed to work with any Internet-Development toolkit.&lt;/li&gt;
  &lt;li&gt;Files can be from 0TB to 5TB.&lt;/li&gt;
  &lt;li&gt;The largest object that can be uploaded in a single &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PUT&lt;/code&gt; is 5 gigabytes.&lt;/li&gt;
  &lt;li&gt;For objects larger than 100 MegaBytes use the Multipart Upload capability.&lt;/li&gt;
  &lt;li&gt;Event notifications for specific actions, can send alerts or trigger actions.&lt;/li&gt;
  &lt;li&gt;Notifications can be sent to:
    &lt;ul&gt;
      &lt;li&gt;SNS Topics&lt;/li&gt;
      &lt;li&gt;SQS Queues&lt;/li&gt;
      &lt;li&gt;Lambda functions&lt;/li&gt;
      &lt;li&gt;Need to configure SNS/SQS/Lambda before S3&lt;/li&gt;
      &lt;li&gt;No extra charges from S3 but you pay for SNS,SQS and Lambda.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Provides read after write consistency for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PUTS&lt;/code&gt; for new objects.&lt;/li&gt;
  &lt;li&gt;Provides eventual consistency for overwrite &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PUTS&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DELETES&lt;/code&gt;(Takes time to propogate).&lt;/li&gt;
  &lt;li&gt;S3 is made up of the following:
    &lt;ul&gt;
      &lt;li&gt;Key (name)&lt;/li&gt;
      &lt;li&gt;Value (data)&lt;/li&gt;
      &lt;li&gt;Version ID&lt;/li&gt;
      &lt;li&gt;MetaData&lt;/li&gt;
      &lt;li&gt;Access Control Lists&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;S3 Capability&lt;/th&gt;
    &lt;th&gt;How it works?&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Transfer Accelaration&lt;/td&gt;
  &lt;td&gt;Speed up data uploads using CloudFront in reverse&lt;/td&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Requester Pays&lt;/td&gt;
  &lt;td&gt;The requester rather than the bucket owner pays for the requests and data transfer&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Tags&lt;/td&gt;
  &lt;td&gt;Assign tags to objects to use in costing,billing,security and etc&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Events&lt;/td&gt;
  &lt;td&gt;Trigger notifications to SNS,SQS,or lambda when certain events happen in your bucket&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Static Web Hosting&lt;/td&gt;
  &lt;td&gt;Simple and massively scalable website hosting&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;BitTorrent&lt;/td&gt;
  &lt;td&gt;Use the BitTorrent protocol to retrieve any publicly available object by automatically generating a .torrent file&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;ul&gt;
  &lt;li&gt;You can use S3 for following:
    &lt;ul&gt;
      &lt;li&gt;Backup and Storage: Providing data backup and storage services for others&lt;/li&gt;
      &lt;li&gt;Application Hosting: Provides services that deploy,install,and manage web applications.&lt;/li&gt;
      &lt;li&gt;Media Hosting: Building a redudant,scalable,and highly available insfrastrucute that hosts video,photo,or music uploads and downloads.&lt;/li&gt;
      &lt;li&gt;Software Delivery: Hosting software applications that customers can download.&lt;/li&gt;
      &lt;li&gt;Static Website: Hosting static sites such as html pages or blogsite.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-buckets&quot;&gt;Amazon S3 Buckets&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Files are stored in the bucket:
    &lt;ul&gt;
      &lt;li&gt;A bucket can be viewed as a container for objects.&lt;/li&gt;
      &lt;li&gt;A bucket is a flat container of objects.&lt;/li&gt;
      &lt;li&gt;It doesn’t provide a hiearchy of objects.&lt;/li&gt;
      &lt;li&gt;You can use an object key name(prefix) to mimic folders.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;100 buckets per account by default.&lt;/li&gt;
  &lt;li&gt;You can store unlimited objects in your buckets.&lt;/li&gt;
  &lt;li&gt;You can create folders in your buckets&lt;/li&gt;
  &lt;li&gt;You cannot create nested buckets.&lt;/li&gt;
  &lt;li&gt;An S3 Bucket is region specific.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-objects&quot;&gt;Amazon S3 Objects:&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Each object is stored and retrieved by a unique key (ID or name).&lt;/li&gt;
  &lt;li&gt;An object in S3 is uniquely identified and addressed through:
    &lt;ul&gt;
      &lt;li&gt;Service end point.&lt;/li&gt;
      &lt;li&gt;Bucket Name&lt;/li&gt;
      &lt;li&gt;Object Key&lt;/li&gt;
      &lt;li&gt;Optionally an object version&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Objects stored in a bucket will never leave the region in which they are stored unless you move them to another region or enable cross-region replication.&lt;/li&gt;
  &lt;li&gt;You can define permissions on objects when uploading and at any time afterwards using the AWS management console.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-sub-resources&quot;&gt;Amazon S3 Sub-resources&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Sub resources (configuration containers) associated with the buckets include:
    &lt;ul&gt;
      &lt;li&gt;Lifecycle - define an object’s lifecyle.&lt;/li&gt;
      &lt;li&gt;Website - configuration for hosting static sites.&lt;/li&gt;
      &lt;li&gt;Versioning - retain multiple versions of objects as they are changed&lt;/li&gt;
      &lt;li&gt;Access Control Lists (ACLs) - control permissions access to the bucket.&lt;/li&gt;
      &lt;li&gt;Bucket Policies - control access to the bucket.&lt;/li&gt;
      &lt;li&gt;CORs (Cross Origin Sharing Resources).&lt;/li&gt;
      &lt;li&gt;Logging&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-storage-classes&quot;&gt;Amazon S3 Storage Classes&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Storage classes include:
    &lt;ul&gt;
      &lt;li&gt;S3 Standard (durable,immediately available,frequent access)&lt;/li&gt;
      &lt;li&gt;S3 Intelligent-Tiering (automatically moves data to the most cost effective tiering)&lt;/li&gt;
      &lt;li&gt;S3 Standard-IA (durable,immediately-available,infrequent access)&lt;/li&gt;
      &lt;li&gt;S3 One Zone-IA (lower cost for infrequently accessed data with less resilience)&lt;/li&gt;
      &lt;li&gt;S3 Glacier (archieved data,longer retrieval times)&lt;/li&gt;
      &lt;li&gt;S3 Glacier Deep Archive (lowest cost storage class for long term retention).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-multipart-upload&quot;&gt;Amazon S3 Multipart upload&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Multipart upload uploads objects in parts independently, in a parallel and in any order.&lt;/li&gt;
  &lt;li&gt;Performed using the S3 Multipart upload API.&lt;/li&gt;
  &lt;li&gt;It is recommended for objects larger than &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;100MB&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;100MB&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Can be used for objects from 5MB upto 5TB.&lt;/li&gt;
  &lt;li&gt;Must be used for objects larger than 5GB.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-copy&quot;&gt;Amazon S3 Copy&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;You can create a copy of objects upto 5GB in size in a single atomic operation.&lt;/li&gt;
  &lt;li&gt;For files larger than 5GB you must use the multipart upload API.&lt;/li&gt;
  &lt;li&gt;Can be performed using the AWS SDKs or REST API.&lt;/li&gt;
  &lt;li&gt;The copy operation can be used to:
    &lt;ul&gt;
      &lt;li&gt;Generate additional copies of the objects.&lt;/li&gt;
      &lt;li&gt;Renaming the objects&lt;/li&gt;
      &lt;li&gt;Changing the copy’s storage class or encryption at rest status&lt;/li&gt;
      &lt;li&gt;Move objects across AWS locations/regions&lt;/li&gt;
      &lt;li&gt;Change object metadata.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-transfer-accelaration&quot;&gt;Amazon S3 Transfer Accelaration&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Amazon S3 Transfer Accelaration enables fast,easy,and secure transfers of files over long distances between your client and your S3 bucket.&lt;/li&gt;
  &lt;li&gt;S3 Transfer Accelaration leverages Amazon CloudFront’s globally distributed AWS Edge Locations.&lt;/li&gt;
  &lt;li&gt;Used to accelarate object uploads to S3 over long distances (latency)&lt;/li&gt;
  &lt;li&gt;Transfer accelaration is as secure as a direct upload to S3&lt;/li&gt;
  &lt;li&gt;You are charged only if there was a benefit in the transfer times&lt;/li&gt;
  &lt;li&gt;Need to enable transfer accelaration on S3 bucket.&lt;/li&gt;
  &lt;li&gt;Cannot be disabled, can only be suspended&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-s3-encryption&quot;&gt;Amazon S3 Encryption&lt;/h3&gt;

&lt;table style=&quot;width:100%&quot;&gt;
  &lt;tr&gt;
    &lt;th&gt;Option&lt;/th&gt;
    &lt;th&gt;How it works&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;SSE-S3&lt;/td&gt;
  &lt;td&gt;Use S3's existing encryption key for AES-256&lt;/td&gt; 
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;SSE-C&lt;/td&gt;
  &lt;td&gt;Upload your own AES-256 encryption key which uses S3 uses when it writes objects&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;SSE-KMS&lt;/td&gt;
  &lt;td&gt;Use a key generated and managed by AWS KMS&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
  &lt;td&gt;Client-Side&lt;/td&gt;
  &lt;td&gt;Encrypt objects using your own local encryption process before uploading to S3&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;

&lt;h3 id=&quot;amazon-s3-performance&quot;&gt;Amazon S3 Performance&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Measure Performance&lt;/li&gt;
  &lt;li&gt;Scale Storage Connections Horizontally&lt;/li&gt;
  &lt;li&gt;Use byte-range fetches&lt;/li&gt;
  &lt;li&gt;Retry Requests for Latency-Sensitive Applications&lt;/li&gt;
  &lt;li&gt;Combine Amazon S3 (Storage) and Amazon EC2 (Compute) in the Same AWS Region.&lt;/li&gt;
  &lt;li&gt;Use Amazon S3 Transfer accelaration to minimize Latency Caused by the distance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;amazon-cloudfront&quot;&gt;Amazon CloudFront&lt;/h2&gt;
&lt;p&gt;Cloud front is web service that distributes content with low latency and high data transfer speeds. Its usually used for dynamic,static,streaming and interactive content.
For instance Netflix might use this service to deliver their content globally.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CloudFront is Global Service:
    &lt;ul&gt;
      &lt;li&gt;Ingress to upload objects.&lt;/li&gt;
      &lt;li&gt;Egress to distribute the content&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;You can use a zone apex DNS name on cloudfront&lt;/li&gt;
  &lt;li&gt;CloudFront supports wildcard &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CNAME&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Supports &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSL&lt;/code&gt; certificates, Dedicated IP, Custom SSL and SNI Custom SSL (Cheaper)&lt;/li&gt;
  &lt;li&gt;You can restrict access to the content using the following methods:
    &lt;ul&gt;
      &lt;li&gt;Restrict access to content using the signed cookies or signed URLs.&lt;/li&gt;
      &lt;li&gt;Restrict access to objects in your S3 bucket.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;A special type of user called an Origin Access Identity (OAI) can be used to restrict access to content in an Amazon S3 bucket.&lt;/li&gt;
  &lt;li&gt;By using an OAI you can restrict users so they cannot access the content directly using the S3 url,they must connect via CloudFront.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Amazon CloudFront Edge Locations and Regional Edge Caches&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;An edge location is the location where the content is cached.&lt;/li&gt;
  &lt;li&gt;Requests are automatically routed to the nearest edge location&lt;/li&gt;
  &lt;li&gt;Edge locations are not tied to Availability Zones or Regions&lt;/li&gt;
  &lt;li&gt;Regional Edge caches are located between origin web servers and global edge locations and have a larger cache.&lt;/li&gt;
  &lt;li&gt;Regional Edge Caches have a larger cache-width than any individual edge location so your objects remain in cache longer at these locations.&lt;/li&gt;
  &lt;li&gt;Regional Edge caches aim to get content closer to users.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-cloudfront-origins&quot;&gt;Amazon CloudFront Origins&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;An origin is the origin of the files that CDN will distribute.&lt;/li&gt;
  &lt;li&gt;Origins can be either an S3 bucket,an EC2 instance,an ELB,or Route 53 - can also be external.&lt;/li&gt;
  &lt;li&gt;A custom origin server is a HTTP server which can be an EC2 instance or an on-premise/non AWS web servers.&lt;/li&gt;
  &lt;li&gt;Amazon EC2 instances are considered custom origins.&lt;/li&gt;
  &lt;li&gt;Static sites on Amazon S3 are also considered custom origins.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-cloudfront-distributions&quot;&gt;Amazon CloudFront Distributions&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;There are two types of distribution.&lt;/li&gt;
  &lt;li&gt;Web:
    &lt;ul&gt;
      &lt;li&gt;Static and Dynamic content including &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.html&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.js&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.css&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;Distributes files over &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Add,update,or delete objects and data from submit forms.&lt;/li&gt;
      &lt;li&gt;Use live streaming to stream an event in realtime.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;RMTP:
    &lt;ul&gt;
      &lt;li&gt;Distribute streaming media files using Adobe FLash Media Server’s RTMP protocol.&lt;/li&gt;
      &lt;li&gt;Allows an end user to begin playing a media file before the file has finished downloading from a CloudFront edge location&lt;/li&gt;
      &lt;li&gt;Files must be stored in an S3 bucket.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;amazon-cloudfront-charges&quot;&gt;Amazon CloudFront Charges&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;You pay for:
    &lt;ul&gt;
      &lt;li&gt;Data Transfer out to Internet&lt;/li&gt;
      &lt;li&gt;Data Transfer out to Origin&lt;/li&gt;
      &lt;li&gt;Number of HTTP/HTTPS Requests&lt;/li&gt;
      &lt;li&gt;Invalidation Requests&lt;/li&gt;
      &lt;li&gt;Dedicated IP Custom SSL&lt;/li&gt;
      &lt;li&gt;Field Level encryption requests.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;You don’t pay for:
    &lt;ul&gt;
      &lt;li&gt;Data transfer between AWS regions and Cloudfront&lt;/li&gt;
      &lt;li&gt;Regional Edge Cache&lt;/li&gt;
      &lt;li&gt;AWS ACM SSL/TLS Certificates&lt;/li&gt;
      &lt;li&gt;Shared Cloudfront certificates&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;amazon-ebs-elastic-block-store&quot;&gt;Amazon EBS (Elastic Block Store)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;EBS volumes are network attached storage that can be attached to EC2 instances.&lt;/li&gt;
  &lt;li&gt;EBS volume data persists independently of the life of the instance.&lt;/li&gt;
  &lt;li&gt;EBS Volumes do not need to be attached to an instance.&lt;/li&gt;
  &lt;li&gt;You can attach multiple EBS volumes to an instance.&lt;/li&gt;
  &lt;li&gt;You cannot attach an EBS volume to multiple instances (Use EFS instead).&lt;/li&gt;
  &lt;li&gt;EBS volume data is replicated across multiple servers in AZ&lt;/li&gt;
  &lt;li&gt;EBS volumes must be in same AZ as the instances they are attached to&lt;/li&gt;
  &lt;li&gt;Root EBS volumes are deleted on termination by default.&lt;/li&gt;
  &lt;li&gt;Extra non-boot volumes are not deleted on termination by default.&lt;/li&gt;
  &lt;li&gt;The behavior can be changed by altering the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DeleteOnTermination&lt;/code&gt; attribute.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: These are comprehensive and covers almost everything but if you like to add more to it feel free fork this and create a PR. I would be happy to add your new changes&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/mraza007/knowledge-book/edit/master/_posts/2020-06-16-aws-sa-notes.md&quot;&gt;REPO LINK&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://muhammadraza.me/&quot;&gt;Main Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Tue, 16 Jun 2020 00:00:00 +0000</pubDate>
        <link>/2020/06/16/aws-sa-notes/</link>
        <guid isPermaLink="true">/2020/06/16/aws-sa-notes/</guid>
        
        <category>aws</category>
        
        
      </item>
    
      <item>
        <title>AWS Certification Notes for Cloud Practioner</title>
        <description>&lt;!-- MarkdownTOC  levels=&quot;2,3&quot; autolink=&quot;true&quot; --&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-cloud-practioner&quot;&gt;AWS Cloud Practioner&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#where-you-can-take-this-exam-&quot;&gt;Where you can take this exam ?&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#exam-guide&quot;&gt;Exam Guide&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#what-is-cloud-computing&quot;&gt;What is Cloud Computing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#benefits-of-the-cloud-computing&quot;&gt;Benefits of the cloud computing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#types-of-cloud-computing&quot;&gt;Types of Cloud Computing&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#cloud-computing-models&quot;&gt;Cloud Computing Models&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-global-infrastructure&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; Global Infrastructure&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#regions-aws&quot;&gt;Regions &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#azsavailability-zones&quot;&gt;AZs(Availability Zones)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#edge-locations-get-data-fast-or-upload-data-fast&quot;&gt;Edge Locations (Get Data Fast or Upload Data Fast)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#gov-cloud&quot;&gt;Gov Cloud&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#ec2-instances&quot;&gt;EC2 Instances&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#ami-amazon-machine-image&quot;&gt;AMI (Amazon Machine Image)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#autoscaling&quot;&gt;AutoScaling&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#elastic-load-balancer-elbs&quot;&gt;Elastic Load Balancer &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(ELBs)&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#s3-buckets&quot;&gt;S3 Buckets&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#cloudfront-cdn&quot;&gt;CloudFront &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(CDN)&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#rds-relational-database-service&quot;&gt;RDS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(Relational Database Service)&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-lambda&quot;&gt;AWS Lambda&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#ec2-pricing-models&quot;&gt;EC2 Pricing Models&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#on-demand&quot;&gt;On Demand&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#reserved-instances&quot;&gt;Reserved Instances&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#spot-instances&quot;&gt;Spot instances&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#dedicated&quot;&gt;Dedicated&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#billing-and-pricing&quot;&gt;Billing and Pricing&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-free-services&quot;&gt;AWS Free Services&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-support-plan&quot;&gt;AWS Support Plan&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-marketplace&quot;&gt;AWS MarketPlace&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-trusted-advisor-check&quot;&gt;AWS Trusted Advisor Check&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#consolidated-billing&quot;&gt;Consolidated Billing&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-cost-explorer&quot;&gt;AWS Cost Explorer&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-budgets&quot;&gt;AWS Budgets&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#tco-calculator&quot;&gt;TCO Calculator&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-landing-zone&quot;&gt;AWS Landing Zone&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-resource-groups--tagging&quot;&gt;AWS Resource Groups &amp;amp; Tagging&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-quickstart&quot;&gt;AWS QuickStart&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-cost-and-usage-report&quot;&gt;AWS Cost and Usage Report&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-networking&quot;&gt;AWS Networking&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-database-services&quot;&gt;AWS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Database&lt;/code&gt; Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-provisioning-services&quot;&gt;AWS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Provisioning&lt;/code&gt; Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-compute-services&quot;&gt;AWS Compute Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-storage-services&quot;&gt;AWS Storage Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-business-centric-services&quot;&gt;AWS Business Centric Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-enterprise-integration&quot;&gt;AWS Enterprise Integration&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-logging-services&quot;&gt;AWS Logging Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#most-common-aws-initials&quot;&gt;Most Common &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; Initials&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-security&quot;&gt;AWS Security&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#things-customer-should-take-care-of&quot;&gt;Things Customer should take care of&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#things-aws-takes-care-of&quot;&gt;Things AWS takes care of&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-compliance-programs&quot;&gt;AWS Compliance Programs&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-artifact&quot;&gt;AWS Artifact&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-inspector&quot;&gt;AWS Inspector&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-waf-web-application-firewall&quot;&gt;AWS WAF (Web Application Firewall)&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-shield&quot;&gt;AWS Shield&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#aws-penetration-testing&quot;&gt;AWS Penetration Testing&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#permitted-services&quot;&gt;Permitted Services&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#prohibited-services&quot;&gt;Prohibited Services&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#amazon-guard-duty-service&quot;&gt;Amazon Guard Duty Service&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#kms-key-management-system&quot;&gt;KMS (Key Management System)&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#envelope-encryption&quot;&gt;Envelope Encryption&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#amazon-macie&quot;&gt;Amazon Macie&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#security-groups-vs-naclsnetwork-access-control-lists&quot;&gt;Security Groups VS NACLs(Network Access Control Lists)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-vpnvirtual-private-network&quot;&gt;AWS VPN(Virtual Private Network)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#same-name-but-different-services-dont-get-confused&quot;&gt;Same Name But Different Services (Don’t Get Confused)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#aws-connect-services&quot;&gt;AWS Connect Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#elastic-transcoder-vs-aws-elemental-mediaconvert&quot;&gt;Elastic Transcoder VS AWS Elemental MediaConvert&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#sns-vs-sqs&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SNS&lt;/code&gt; vs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SQS&lt;/code&gt;&lt;/a&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#sns&quot;&gt;SNS&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#sqs-examples-rabbitmq---think-of-it-as-message-broker-service&quot;&gt;SQS (Examples &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RabbitMQ&lt;/code&gt;) - (think of it as message broker service)&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#nlb-vs-alb-vs-clb&quot;&gt;NLB vs ALB  vs CLB&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;!-- /MarkdownTOC --&gt;

&lt;h2 id=&quot;aws-cloud-practioner&quot;&gt;AWS Cloud Practioner&lt;/h2&gt;
&lt;p&gt;This certification is mostly used by people to get the understanding of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services.&lt;/p&gt;

&lt;h2 id=&quot;where-you-can-take-this-exam-&quot;&gt;Where you can take this exam ?&lt;/h2&gt;
&lt;p&gt;You can take this exam on Pearson VUE online.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;This cost $100&lt;/li&gt;
  &lt;li&gt;90 mins&lt;/li&gt;
  &lt;li&gt;65 Questions&lt;/li&gt;
  &lt;li&gt;70% passing score&lt;/li&gt;
  &lt;li&gt;Valid for 3 years.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;exam-guide&quot;&gt;Exam Guide&lt;/h2&gt;
&lt;p&gt;This is what exam mostly comprises of&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Cloud Concepts &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;28%&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Security &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;24%&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Technology &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;36%&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Billing &amp;amp; Pricing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;12%&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We have total of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;65&lt;/code&gt; questions and most of them are &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mutiple choice&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multiple response&lt;/code&gt; questions.&lt;/p&gt;

&lt;h2 id=&quot;what-is-cloud-computing&quot;&gt;What is Cloud Computing&lt;/h2&gt;

&lt;p&gt;Its the practice of using a network of remote servers hosted on the internet to store,manage and process data rather using a local server or personal computer.&lt;/p&gt;

&lt;h2 id=&quot;benefits-of-the-cloud-computing&quot;&gt;Benefits of the cloud computing&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;No upfront costs such as paying for server. You can Pay On Demand.&lt;/li&gt;
  &lt;li&gt;Economies of sale you can simply save alot of money since there are so many people using the cloud.&lt;/li&gt;
  &lt;li&gt;You can scale up or scale down based on your need.&lt;/li&gt;
  &lt;li&gt;With few clicks of a button your service is deployed.&lt;/li&gt;
  &lt;li&gt;No more maintenance costs.&lt;/li&gt;
  &lt;li&gt;Go global in few minutes since there are global regions where cloud servers are hosted.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;types-of-cloud-computing&quot;&gt;Types of Cloud Computing&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SaaS&lt;/code&gt; –&amp;gt; Software as a Service. Basically a complete product that is ran and managed by the service provider.(Examples: Salesforce,Gmail,GoogleDocs)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PaaS&lt;/code&gt; –&amp;gt; Platform as a Service. Focusing on deploying applications without worrying about managing the infrastructure.
(Examples: Heroku,Netlify and etc)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IaaS&lt;/code&gt; –&amp;gt; Infrastructure as a Service. The building blocks of the IT. Providing computers access and storage needs and etc.
(Examples: AWS,GCP and Azure).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;cloud-computing-models&quot;&gt;Cloud Computing Models&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Cloud (Fully hosted on Cloud such as startups)&lt;/li&gt;
  &lt;li&gt;Hybrid (On-Premise and Public Cloud such as Banks)&lt;/li&gt;
  &lt;li&gt;On-Premise (On Private Cloud where sensitive data is being stored).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-global-infrastructure&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; Global Infrastructure&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;There over a million active customers using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;there are total &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;69&lt;/code&gt; Availability Zones &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;22&lt;/code&gt; Geographic Regions around the world.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Regions&lt;/code&gt; –&amp;gt; physical location with multiple availabilty zones.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Availability Zones(AZ)&lt;/code&gt; –&amp;gt; one or more discrete data locations.(owned by aws)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Edge Locations&lt;/code&gt; –&amp;gt; data center owned by trusted partner of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;regions-aws&quot;&gt;Regions &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;A geographically distinct location with multiple data centers.&lt;/li&gt;
  &lt;li&gt;Each region has two &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AZs&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;US-EAST(North Virginia)&lt;/code&gt; is the largest &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; region and services almost always become available first in this region.&lt;/li&gt;
  &lt;li&gt;Not all services are available in the all regions.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;US-EAST-1&lt;/code&gt; is where you see your billing information.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;azsavailability-zones&quot;&gt;AZs(Availability Zones)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Each Region has two AZs.&lt;/li&gt;
  &lt;li&gt;An AZ is a data center ran and owned by AWS.&lt;/li&gt;
  &lt;li&gt;less than 10ms latency between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AZs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;edge-locations-get-data-fast-or-upload-data-fast&quot;&gt;Edge Locations (Get Data Fast or Upload Data Fast)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;A data center owned by trusted partner of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; and has direct connection to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; network.&lt;/li&gt;
  &lt;li&gt;These location serve requests for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFront&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Route53&lt;/code&gt;. Requests going to either of these services will be routed to the nearest edge location automatically.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3 Transfer accelaration&lt;/code&gt;  and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;API Gateway &lt;/code&gt; endpoint also use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Edge Network&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;This allows for low latency no matter where ever you are located.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;gov-cloud&quot;&gt;Gov Cloud&lt;/h2&gt;
&lt;p&gt;An &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; service that allows customers to host sensitive Controlled 
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Unclassified Information&lt;/code&gt; or other types of workloads&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Only operated by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;US Citizens&lt;/code&gt; or on the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;US Soil&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Should follow several compliance guidelines.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/govcloud-us/?whats-new-ess.sort-by=item.additionalFields.postDateTime&amp;amp;whats-new-ess.sort-order=desc&quot;&gt;GovCloud&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ec2-instances&quot;&gt;EC2 Instances&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;In order to create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; instance head over to &lt;a href=&quot;https://console.aws.amazon.com&quot;&gt;AWS Console&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Choose &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; and follow along. Make sure you select &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon Linux 2 AMI&lt;/code&gt; and select the type as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;t2.micro&lt;/code&gt; since that is offered with free tier.&lt;/li&gt;
  &lt;li&gt;Now follow along and make sure to set IAM role.&lt;/li&gt;
  &lt;li&gt;lastly make sure you have billing alerts turned on.&lt;/li&gt;
  &lt;li&gt;You can either use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ssh&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sessions manager&lt;/code&gt; to get into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; instance.&lt;/li&gt;
  &lt;li&gt;You can also get to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sessions-manager&lt;/code&gt; by going to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;systems manager&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sessions-manager&lt;/code&gt; opens a simple &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bash&lt;/code&gt; shell that can help you access your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ami-amazon-machine-image&quot;&gt;AMI (Amazon Machine Image)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;You can create an image by going into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; management console and clicking on actions and selecting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;image&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Basically this creates a copy that allows you launch multiple servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;autoscaling&quot;&gt;AutoScaling&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;This allows you ensure that multiple instances and multiple servers are running.&lt;/li&gt;
  &lt;li&gt;This also allows you meet the demand of web traffic.&lt;/li&gt;
  &lt;li&gt;In order to configure this its located in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; management console.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;elastic-load-balancer-elbs&quot;&gt;Elastic Load Balancer &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(ELBs)&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;This allows reroute the traffic. especially when doing updates to the application.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;s3-buckets&quot;&gt;S3 Buckets&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Its usually global and the buckets are usually region specific.&lt;/li&gt;
  &lt;li&gt;its a block storage used to store the files.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;cloudfront-cdn&quot;&gt;CloudFront &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(CDN)&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;CloudFront is basically Cotent Delivery Network.&lt;/li&gt;
  &lt;li&gt;It makes easier for companies to distribute there content.&lt;/li&gt;
  &lt;li&gt;Hook it up to S3 Bucket and deliver your content around the world.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;rds-relational-database-service&quot;&gt;RDS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(Relational Database Service)&lt;/code&gt;&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;It’s used to setup a relational database (Examples: SQL,PSQL).&lt;/li&gt;
  &lt;li&gt;Amazon aurora would be default when setting up this service&lt;/li&gt;
  &lt;li&gt;It has auto scaling.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-lambda&quot;&gt;AWS Lambda&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Serverless framework.&lt;/li&gt;
  &lt;li&gt;Allows you to run simple functions you can think of it as cronjobs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;ec2-pricing-models&quot;&gt;EC2 Pricing Models&lt;/h2&gt;
&lt;p&gt;E2 has four different pricing models&lt;/p&gt;

&lt;h3 id=&quot;on-demand&quot;&gt;On Demand&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Low Cost and Flexible.&lt;/li&gt;
  &lt;li&gt;only charges per hr&lt;/li&gt;
  &lt;li&gt;short term&lt;/li&gt;
  &lt;li&gt;good for first time apps or prototypes.&lt;/li&gt;
  &lt;li&gt;No upfront payment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;reserved-instances&quot;&gt;Reserved Instances&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Good for committed applications.&lt;/li&gt;
  &lt;li&gt;Standard savings 75% (Cannot change the RI attributes.)&lt;/li&gt;
  &lt;li&gt;Best for long term&lt;/li&gt;
  &lt;li&gt;You can schedule to reserve the instances.&lt;/li&gt;
  &lt;li&gt;there’s a commitment like 1 to 3 year with AWS.&lt;/li&gt;
  &lt;li&gt;RI’s can be shared between multiple accounts.&lt;/li&gt;
  &lt;li&gt;You can even sell your unused instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;spot-instances&quot;&gt;Spot instances&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;You can think of it has a hotel who offers discounts to fill there spots.&lt;/li&gt;
  &lt;li&gt;Just like hotel &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; uses similar approach to maximize the usage of there idle servers.&lt;/li&gt;
  &lt;li&gt;There are conditions such as,
    &lt;ul&gt;
      &lt;li&gt;Instances can be terminated anytime.&lt;/li&gt;
      &lt;li&gt;If you instance gets terminated you dont get charged for partial hour of usuage.&lt;/li&gt;
      &lt;li&gt;If you terminate an instance you will be charged for any hour that it ran.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Good for applications feasible for very low usage.&lt;/li&gt;
  &lt;li&gt;It provides you 90% savings.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;dedicated&quot;&gt;Dedicated&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Its the most expensive &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; instance.&lt;/li&gt;
  &lt;li&gt;Its built for tenant customers. Its more useful for large enterprises.&lt;/li&gt;
  &lt;li&gt;Its offered both in demand and reserved.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;billing-and-pricing&quot;&gt;Billing and Pricing&lt;/h2&gt;

&lt;h3 id=&quot;aws-free-services&quot;&gt;AWS Free Services&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;IAM &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(Identity Access Management)&lt;/code&gt; –&amp;gt; used for creating user roles.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Auto Scaling&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;CloudFormation&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Elastic Bean&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Opswork&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Amplify&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AppSync&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;CodeStar&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;AWS Cost Explorer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Services in bold are free but they can provision AWS Services to cost money.&lt;/p&gt;

&lt;h3 id=&quot;aws-support-plan&quot;&gt;AWS Support Plan&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;$0/month - Basic (Support Only by Email).&lt;/li&gt;
  &lt;li&gt;$20/month - Developer (Tech Support Via Email &lt;em&gt;reply within 24hrs&lt;/em&gt;)
    &lt;ul&gt;
      &lt;li&gt;No Third Party Support.&lt;/li&gt;
      &lt;li&gt;General Guidance only.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;$100/month - Business (Tech Support Via Chat/Phone &lt;em&gt;24/7&lt;/em&gt;)
    &lt;ul&gt;
      &lt;li&gt;Does support third party.&lt;/li&gt;
      &lt;li&gt;Production system down less than 1hr response time (&lt;em&gt;business downtime&lt;/em&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;$15000/month - Enterprise (Tech Support Via Chat/Phone &lt;em&gt;24/7&lt;/em&gt;)
    &lt;ul&gt;
      &lt;li&gt;Personal Concierge.&lt;/li&gt;
      &lt;li&gt;TAM (Technical Account Manager)&lt;/li&gt;
      &lt;li&gt;Response time less than 15min. (&lt;em&gt;business downtime&lt;/em&gt;)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-marketplace&quot;&gt;AWS MarketPlace&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;A place where you will thousands of software listings from independant software vendors.&lt;/li&gt;
  &lt;li&gt;The product is free to use or can have a charge which becomes part of the&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; bill.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-trusted-advisor-check&quot;&gt;AWS Trusted Advisor Check&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;This advises customers on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;security&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;saving money&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;performance&lt;/code&gt; , &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;service limits&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fault tolerance&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;FREE has 7 trusted Advisor Checks&lt;/li&gt;
  &lt;li&gt;Enterprise and Business - All trusted advisor checks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;consolidated-billing&quot;&gt;Consolidated Billing&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;One Master account for all member accounts.&lt;/li&gt;
  &lt;li&gt;Cost Explorer tool for visualizing the usage.&lt;/li&gt;
  &lt;li&gt;It also offers volume discounts (The more you use the cheaper it gets.)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-cost-explorer&quot;&gt;AWS Cost Explorer&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Allows you to visualize the  usage of the multiple accounts.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-budgets&quot;&gt;AWS Budgets&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;First two budgets are free of charge.&lt;/li&gt;
  &lt;li&gt;Allows you setup alerts when you exceed your limits.&lt;/li&gt;
  &lt;li&gt;You can set three types of alerts &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Budget&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Usage&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;instance reservation&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Alerts supports &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RDS&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RedShift&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic Cache&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;You can manage budgets from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Budget Dashboard&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Budgets API&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Get notified through email or ChatBot.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;tco-calculator&quot;&gt;TCO Calculator&lt;/h3&gt;
&lt;p&gt;The Total Cost of Ownership calculator allows you show how much can save by shifting to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A tool that allows you build reports for execs to show how much you can save.&lt;/li&gt;
  &lt;li&gt;Only for approximation purposes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-landing-zone&quot;&gt;AWS Landing Zone&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Meant for enterprises.&lt;/li&gt;
  &lt;li&gt;Automatically provisions and configure new accounts via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Service Catalog template&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSO&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-resource-groups--tagging&quot;&gt;AWS Resource Groups &amp;amp; Tagging&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Tags are words or phrases that act as metadata for organizing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; resources.&lt;/li&gt;
  &lt;li&gt;Resource Groups are collection of resources that share one or more tag.&lt;/li&gt;
  &lt;li&gt;Resource Group can display following details of about a group of resource based on.
    &lt;ul&gt;
      &lt;li&gt;Metrics&lt;/li&gt;
      &lt;li&gt;Alarms&lt;/li&gt;
      &lt;li&gt;Configuration Settings.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-quickstart&quot;&gt;AWS QuickStart&lt;/h3&gt;
&lt;p&gt;Prebuilt templates offered by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; partners that helps you deploy popular stacks on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt;. This allows to reduce the manual effort.&lt;/p&gt;

&lt;p&gt;It’s divided into three steps.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;A reference architecture for deployment.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS CloudFormation&lt;/code&gt; templates that automate and configure the deployment.&lt;/li&gt;
  &lt;li&gt;A guide explaining the architecture and implementation in detail.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-cost-and-usage-report&quot;&gt;AWS Cost and Usage Report&lt;/h3&gt;
&lt;p&gt;This allows you to generate a detailed report of your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; costs.
You’ll get a spreadsheet highlighting the costs.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Reports are stored in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;You can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ATHENA&lt;/code&gt; to turn this into queryable database.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QuickSight&lt;/code&gt; for analyzing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-networking&quot;&gt;AWS Networking&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Region&lt;/code&gt; -&amp;gt; The geographic location of the network.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VPC&lt;/code&gt; -&amp;gt; An isolated space of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; where you can launch &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; resources.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AZ&lt;/code&gt; -&amp;gt; the data center of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; resources.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Security Groups&lt;/code&gt; -&amp;gt; Acts as a firewall at the instance level.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Internet Gateway&lt;/code&gt; -&amp;gt; Enables access to the internet.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NACLs&lt;/code&gt; -&amp;gt; acts as a firewall at the subnet level.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Route Tables&lt;/code&gt; -&amp;gt; determine where network traffic from your subnets are directed.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Subnets&lt;/code&gt; -&amp;gt; A logical partition of an IP network into multiple,smaller network segments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-database-services&quot;&gt;AWS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Database&lt;/code&gt; Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DynamoDB&lt;/code&gt; -&amp;gt; NoSQL &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key/value&lt;/code&gt; database. (Examples:Cassandra).This is really fast for read and write access.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DocumentDB&lt;/code&gt; -&amp;gt; NoSQL Document database that is compatible to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MongoDB&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RDS&lt;/code&gt; -&amp;gt; Relational DataBase Service that supports multiple engines &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MySQL&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Postgres&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MariaDB&lt;/code&gt;. (Most Popular DB)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AuroraDB&lt;/code&gt; -&amp;gt; MySQL (5x fast) and PSQL (3x Fast) fully managed database. (Runs 6 copies of the Database when  used and more expensive DB)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Aurora Serverless&lt;/code&gt; -&amp;gt; Only runs when needed.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Neptune&lt;/code&gt; -&amp;gt; Graph DataBase.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RedShift&lt;/code&gt; -&amp;gt; Columnar Database petabyte warehouse.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic Cache&lt;/code&gt; -&amp;gt; Redis or Memecached database.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-provisioning-services&quot;&gt;AWS &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Provisioning&lt;/code&gt; Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic BeanStalk&lt;/code&gt; -&amp;gt; Think of it as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Heroku&lt;/code&gt;. Its a service used for deploying and scaling the web applications and services deployed with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Java&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;python&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;c++&lt;/code&gt; and etc (Perfect for deploying WebApps)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;OpsWork&lt;/code&gt; -&amp;gt; Configuration management service that provides managed instances of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CHEF&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Puppet&lt;/code&gt;.(It has layers like tier 2 or tier 3)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFormation&lt;/code&gt; -&amp;gt; IaaS , Infrastructure as Code &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;JSON&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YAML&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS QuickStart&lt;/code&gt; -&amp;gt; ready made templates that can launch and configure your aws compute, network, and other services.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS MarketPlaces&lt;/code&gt; A place where you can buy or sell software or services for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Cloud&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-compute-services&quot;&gt;AWS Compute Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; -&amp;gt; Elastic Compute Cloud highly configurable server.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ECS&lt;/code&gt; -&amp;gt; Elastic Container Service &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Docker As Service&lt;/code&gt; highly scalable,high performance and good for microservices.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Fargate&lt;/code&gt; -&amp;gt; You don’t chose the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; like you might chose in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ECS&lt;/code&gt;. You define and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; will run the service. (Like Lambda since you dont pay for EC2)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EKS&lt;/code&gt; -&amp;gt; Kuberenetes as services makes it easy to deploy ,manage and scale.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Lambda Serverless&lt;/code&gt;. Just upload code as function and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; will run the code for you.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Elastic BeanStalk&lt;/code&gt; -&amp;gt; upload the code and it will do the rest for you. Good for developers who want to just upload there apps.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Batch&lt;/code&gt; -&amp;gt; Its for Batch Processing where you can schedule &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Batch&lt;/code&gt; jobs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-storage-services&quot;&gt;AWS Storage Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3&lt;/code&gt; -&amp;gt; A simple storage service - Object Store (Simply Upload Files).&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3 Glacier&lt;/code&gt; -&amp;gt; low cost for storage and good for archiving the data for long term backup.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Storage Gateway&lt;/code&gt; -&amp;gt; A hybrid solution from on premisis to cloud for storage.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EBS (Elastic Block Storage)&lt;/code&gt; -&amp;gt; A hard drive in cloud you attach to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ec2&lt;/code&gt; instance such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSDs&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HDDS&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EFS (Elastic File Storage)&lt;/code&gt; -&amp;gt; file storage moutable to multiple &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; instances at the same time.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Snowball&lt;/code&gt; -&amp;gt; A way of moving data from on premise to aws.
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Snowball Edge&lt;/code&gt; -&amp;gt; 100 TB (better version and additional features).&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SnowMobile&lt;/code&gt; -&amp;gt; Allows to move petabytes of data (DataCenter on Wheels).&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-business-centric-services&quot;&gt;AWS Business Centric Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon Connect&lt;/code&gt; -&amp;gt; Cloud Based call center service you can setup in few minutes and later you can save the calls in s3 for furhter analysis.You can even route calls based on defined rules&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WorkSpaces&lt;/code&gt; -&amp;gt; Secured managed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;virutal desktops&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WorkDocs&lt;/code&gt; -&amp;gt; aws version of sharepoint where you can collaborate and share documents.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Chime&lt;/code&gt; -&amp;gt; Think of it as skype where you can do business calls and meetings.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WorkMail&lt;/code&gt; -&amp;gt; Managed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; email service just like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft Outlook Exchange&lt;/code&gt; uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IMAP&lt;/code&gt; Protocol&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PinPoint&lt;/code&gt; -&amp;gt; For marketing campaigns for targetted sending emails and sms notifications.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SES (Simple Email Service)&lt;/code&gt; A cloud based email sending service used to send emails and notifications (Good for webapps that supports sending email notifications and has &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTML&lt;/code&gt; format email option)&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QuickSight&lt;/code&gt;. Think of it as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QlikSense&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tableau&lt;/code&gt; as this allows you to visualize the data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-enterprise-integration&quot;&gt;AWS Enterprise Integration&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Direct Connect&lt;/code&gt; -&amp;gt; A dedicated Gigabit connection from on premise to aws.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VPN&lt;/code&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Site to Site&lt;/code&gt; -&amp;gt; Connecting to on premise to aws.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Client Vpn&lt;/code&gt; -&amp;gt; Connecting a client to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; network.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Storage Gateway&lt;/code&gt; A hybrid storate service that enables on premise applications to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; cloud storage.
    &lt;ul&gt;
      &lt;li&gt;Good for backup.&lt;/li&gt;
      &lt;li&gt;Archiving&lt;/li&gt;
      &lt;li&gt;Disaster Recovery.&lt;/li&gt;
      &lt;li&gt;migration&lt;/li&gt;
      &lt;li&gt;data processing.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AD (Active Directory)&lt;/code&gt; An AWS directory service for Microsoft Active Directory also known as AWS Managed Microsoft AD - Enables your workloads and AWS related resources to use managed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AD&lt;/code&gt; in aws cloud.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-logging-services&quot;&gt;AWS Logging Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudTrail&lt;/code&gt; -&amp;gt; a logging service that logs all the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;api calls&lt;/code&gt; (SDK,CLIs) between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; services.
    &lt;ul&gt;
      &lt;li&gt;Who created the service.&lt;/li&gt;
      &lt;li&gt;Who spun up the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt; instance.&lt;/li&gt;
      &lt;li&gt;Who launched sagemaker notebook&lt;/li&gt;
      &lt;li&gt;Detects developer misconfigurations.&lt;/li&gt;
      &lt;li&gt;Detects Malicious Activity.&lt;/li&gt;
      &lt;li&gt;Automates responses.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch&lt;/code&gt; A collection of multiple services. Its more like a storage solution for all the logs.
    &lt;ul&gt;
      &lt;li&gt;Stores all types of the logs.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch Metrics&lt;/code&gt; -&amp;gt; timeseries data of logs.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch Events&lt;/code&gt; -&amp;gt; trigger event based on a condition.(Taking the snapshot of the server)&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch Alarms&lt;/code&gt; -&amp;gt; trigger notifications based on metrics.&lt;/li&gt;
      &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch Dashboard&lt;/code&gt; -&amp;gt; create visualizations based on metrics.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;most-common-aws-initials&quot;&gt;Most Common &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; Initials&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IAM&lt;/code&gt;:Identity Access Management.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3&lt;/code&gt;: Simple Storage&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SWF&lt;/code&gt;: Simple Workflow Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SNS&lt;/code&gt;: Simple Notification System.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SQS&lt;/code&gt;: Simple Queue Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SES&lt;/code&gt;: Simple Email Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SSM&lt;/code&gt;: Simple Systems Manager.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RDS&lt;/code&gt;: Relations DataBase Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VPC&lt;/code&gt;: Virtual Private Cloud.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VPN&lt;/code&gt;: Virtual Private Network.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CFN&lt;/code&gt;: Cloud Formation&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WAF&lt;/code&gt;: Web Application Firewall.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MQ&lt;/code&gt;: Amazon ActiveMQ.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ASG&lt;/code&gt;: AutoScaling Groups.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TAM&lt;/code&gt;: Technical Account Manager.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ELB&lt;/code&gt;: Elastic Load Balancer.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ALB&lt;/code&gt;: Application Load Balancer.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NLB&lt;/code&gt;: Network Load Balancer.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EC2&lt;/code&gt;: Elastic Cloud Compute .&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ECS&lt;/code&gt;: Elastic Container Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ECR&lt;/code&gt;: Elastic Container Repository.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EBS&lt;/code&gt;: Elastic Block Storage.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ELF&lt;/code&gt;: Elastic File Storage.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EMR&lt;/code&gt;: Elastic MapReduce.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EB&lt;/code&gt;: Elastic Beanstalk.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ES&lt;/code&gt;: Elastic Search.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EKS&lt;/code&gt;: Elastic Kubernetes Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MKS&lt;/code&gt;: Managed Kafka Service.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IoT&lt;/code&gt;: Internet of Things.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RI&lt;/code&gt;: Reserved Instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-security&quot;&gt;AWS Security&lt;/h2&gt;

&lt;p&gt;In the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Shared Responsibility Model&lt;/code&gt; the customer is responsible for the security of the cloud such as securing the data and using the right configuration.
and anything the customer can’t touch or get access is secured by aws. Such as Hardward,Operation of Managed Services and Global Infrastructure.&lt;/p&gt;

&lt;h3 id=&quot;things-customer-should-take-care-of&quot;&gt;Things Customer should take care of&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;IAM&lt;/li&gt;
  &lt;li&gt;Customer Data&lt;/li&gt;
  &lt;li&gt;OS,Network and Firewall Configs.&lt;/li&gt;
  &lt;li&gt;Maintaining Encryption Protocols.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;things-aws-takes-care-of&quot;&gt;Things AWS takes care of&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;Software&lt;/li&gt;
  &lt;li&gt;Hardware&lt;/li&gt;
  &lt;li&gt;Services that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; provides.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-compliance-programs&quot;&gt;AWS Compliance Programs&lt;/h3&gt;
&lt;p&gt;A set of internal policies and procedures of a company to comply with rules and regulations or to uphold reputation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;two most popular ones&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;HIPPA&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;PCI (Payment Card Data/You can readmore by googling it)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/compliance/&quot;&gt;ReadMore Here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-artifact&quot;&gt;AWS Artifact&lt;/h3&gt;
&lt;p&gt;A no cost, self service portal for on demand access to AWS compliance reports.&lt;/p&gt;

&lt;h3 id=&quot;aws-inspector&quot;&gt;AWS Inspector&lt;/h3&gt;
&lt;p&gt;AWS inspector is a tool that runs a security benchmarks against specific EC2 instances. The most popular one is run by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CIS (Center for Internet Security)&lt;/code&gt; which has &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;699&lt;/code&gt; benchmarks.It can even inspect the network to check if there are any ports are open and running.&lt;/p&gt;

&lt;h3 id=&quot;aws-waf-web-application-firewall&quot;&gt;AWS WAF (Web Application Firewall)&lt;/h3&gt;
&lt;p&gt;It allows you protect your web application against the most common exploits.
You can write your own rules that will allow the traffic based on the contents of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt; requests. You can  use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ruleset&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS&lt;/code&gt; trusted secuirty partner. It can be either attached to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFront&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Application Load Balance (ALB)&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Most Common Attacks Include&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Injection&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Broken Authentication&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Sensitive Data Exposure&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XML External Entities XXE&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Broken Access Control&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Security Misconfigurations&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XSS Cross Site Scripting&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Insecure Deserialization&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Using Components with known Vulnerabilities&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Insufficient logging and Monitoring&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-shield&quot;&gt;AWS Shield&lt;/h3&gt;
&lt;p&gt;A managed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DDOS(Distributed Denial of Service)&lt;/code&gt; protection service that safeguards applications running on aws.&lt;/p&gt;

&lt;p&gt;All AWS customers benefit from the automatic protections of AWS shield standard at no charge.&lt;/p&gt;

&lt;p&gt;When you route your traffic through &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ROUTE53&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFront&lt;/code&gt; you are using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Shield&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Protects you against &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Layer3&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Layer4&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Layer7&lt;/code&gt; attacks&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;7 Application&lt;/li&gt;
  &lt;li&gt;4 Transport&lt;/li&gt;
  &lt;li&gt;3 Network&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There’s also a paid tier known as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Shield Advance&lt;/code&gt; and that costs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$3000/Year&lt;/code&gt;(upfront or Commitment).
It gives you extra protection with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;24/7&lt;/code&gt; support and its available on&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Amazon Route 53&lt;/li&gt;
  &lt;li&gt;Amazon CloudFront&lt;/li&gt;
  &lt;li&gt;ELB&lt;/li&gt;
  &lt;li&gt;AWS Global Accelarator&lt;/li&gt;
  &lt;li&gt;Elastic IP(Amazon Elastic Compute Cloud and Netword and Load Balancer).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;aws-penetration-testing&quot;&gt;AWS Penetration Testing&lt;/h3&gt;
&lt;p&gt;An authorized service that allows you simulate a cyber attack on a computer system, performed to evaluate the security of the system.&lt;/p&gt;

&lt;h3 id=&quot;permitted-services&quot;&gt;Permitted Services&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;EC2 Instances,NAT Gateways, and ELB.&lt;/li&gt;
  &lt;li&gt;RDS&lt;/li&gt;
  &lt;li&gt;CloudFront&lt;/li&gt;
  &lt;li&gt;Aurora&lt;/li&gt;
  &lt;li&gt;API Gateways&lt;/li&gt;
  &lt;li&gt;AWS Lambda and Lambda@Edge function&lt;/li&gt;
  &lt;li&gt;LightSail resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;prohibited-services&quot;&gt;Prohibited Services&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;DNS zone walking via Amazon Route 53 Hosted Zones.&lt;/li&gt;
  &lt;li&gt;DoS(Denial Of Service),DDoS,Simulated DoS,Simulated DDoS.&lt;/li&gt;
  &lt;li&gt;Port flooding&lt;/li&gt;
  &lt;li&gt;Protocol flooding&lt;/li&gt;
  &lt;li&gt;Request flooding&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;amazon-guard-duty-service&quot;&gt;Amazon Guard Duty Service&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IDS&lt;/code&gt;: Intrustion Detection System&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;IPS&lt;/code&gt;: Intrustion Protection System&lt;/p&gt;

&lt;p&gt;A device or software that monnitors a network or systems for malicious activity or policy violations.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Guard Duty&lt;/code&gt; is a threat detection service that continuously monitors for the malicious,suspicious activity and unauthorized behavior. It uses machine learning ty8111o analyze following AWS logs.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;CloudTrail Logs.&lt;/li&gt;
  &lt;li&gt;VPC Flow Logs&lt;/li&gt;
  &lt;li&gt;DNS logs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It will alert you of the findings which you can automate an incident response via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch&lt;/code&gt; Events or 3rd Party Software.&lt;/p&gt;

&lt;h2 id=&quot;kms-key-management-system&quot;&gt;KMS (Key Management System)&lt;/h2&gt;

&lt;p&gt;A managed service that makes it easy for you to create or control the encryption keys used to encrypt that data.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KMS&lt;/code&gt; is a multi-tenant HSM (Hardware Security Model).&lt;/li&gt;
  &lt;li&gt;Many AWS services are intergrated to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KMS&lt;/code&gt; to encrypt your data with simple checkbox.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KMS&lt;/code&gt; uses Envelope Encryption.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;envelope-encryption&quot;&gt;Envelope Encryption&lt;/h3&gt;
&lt;p&gt;When you encrypt your data, your data is protect but you have to protect your encryption key. When you encrypt your data key with master key as an additional layer of security. &lt;a href=&quot;https://lobster1234.github.io/2017/09/29/aws-kms-envelope-encryption/&quot;&gt;READMORE&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;amazon-macie&quot;&gt;Amazon Macie&lt;/h2&gt;
&lt;p&gt;Macie is fully managed service that continuously monitors &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;S3 data access&lt;/code&gt; activity for anomalies and generates detailed alerts when it detects risk of unqthorized access or inadvertent data leaks.&lt;/p&gt;

&lt;p&gt;It uses machine learning to analyze &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudTrail&lt;/code&gt; logs.&lt;/p&gt;

&lt;p&gt;It provides you with following alerts.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Anonymized Access.&lt;/li&gt;
  &lt;li&gt;Config Compliance&lt;/li&gt;
  &lt;li&gt;Credential loss&lt;/li&gt;
  &lt;li&gt;Data Compliance&lt;/li&gt;
  &lt;li&gt;File Hosting&lt;/li&gt;
  &lt;li&gt;Identity Enumeration&lt;/li&gt;
  &lt;li&gt;Information Loss&lt;/li&gt;
  &lt;li&gt;Location Anomaly&lt;/li&gt;
  &lt;li&gt;Open Permisson&lt;/li&gt;
  &lt;li&gt;Privilege Escalation&lt;/li&gt;
  &lt;li&gt;Ransomware&lt;/li&gt;
  &lt;li&gt;Service Disruption&lt;/li&gt;
  &lt;li&gt;Suspiscious Activity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;security-groups-vs-naclsnetwork-access-control-lists&quot;&gt;Security Groups VS NACLs(Network Access Control Lists)&lt;/h2&gt;

&lt;table&gt;
    &lt;thead&gt;
        &lt;tr&gt;
            &lt;th&gt;Security Groups&lt;/th&gt;
            &lt;th&gt; Network Access Control Lists (NACLs)&lt;/th&gt;
        &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;Acts as a firewall at the instance level. &lt;/td&gt;
            &lt;td&gt;Acts as a firewall at the subnet level&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;Implicitly denies all traffic. You create Allow rules (For Example allow an `EC2` Instance to access `port 22`)&lt;/td&gt;
            &lt;td&gt;You create `allow` and `deny` rules &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;aws-vpnvirtual-private-network&quot;&gt;AWS VPN(Virtual Private Network)&lt;/h2&gt;

&lt;p&gt;It allows you create a secure and private tunnel from your network or device to the aws global network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Site-to-Site VPN&lt;/strong&gt; : Securely connect to on premises network or branch office site to VPC.
&lt;strong&gt;AWS Client VPN:&lt;/strong&gt; Securely connect users to AWS or on premises networks.&lt;/p&gt;

&lt;h2 id=&quot;same-name-but-different-services-dont-get-confused&quot;&gt;Same Name But Different Services (Don’t Get Confused)&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFormation&lt;/code&gt;: IaaS (Infrastructure as a Service) used to setup template scripting (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YAML&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;JSON&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudTrail&lt;/code&gt;: logs all the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;api&lt;/code&gt; calls between &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws-services&lt;/code&gt; (who to blame).&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudFront&lt;/code&gt;:  CDN(Content Delivery Network),It is used to distribute the content (Such as videos,static assets and etc).&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudWatch&lt;/code&gt;: a collection of multiple services&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CloudSearch&lt;/code&gt;: search engine for your site (Ecommerce).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;aws-connect-services&quot;&gt;AWS Connect Services&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Direct Connect&lt;/code&gt;: A dedicated fiber optics connections from data center to AWS.
Lets say an enterprise want a direct connection from there on premise datacenter to aws they might use this service to connect to AWS. 
If you want to add extra layer of security you might need a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vpn&lt;/code&gt; connection.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Amazon Connect&lt;/code&gt;: Call Center Service.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Media Connect&lt;/code&gt;: A new version of Elastic Transcoder, Converts videos to different formats.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lets say you have 1000 videos and you need to transcode them into different formats then this might be a useful service. You can even add watermarks and insert intro infront of every video.&lt;/p&gt;

&lt;h2 id=&quot;elastic-transcoder-vs-aws-elemental-mediaconvert&quot;&gt;Elastic Transcoder VS AWS Elemental MediaConvert&lt;/h2&gt;

&lt;table&gt;
&lt;thead&gt;
  &lt;tr&gt;
    &lt;th&gt;Elastic Transcoder `OldWay`&lt;/th&gt;
    &lt;th&gt;AWS Elemental MediaConvert `NewWay`&lt;br /&gt;&lt;/th&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
  &lt;tr&gt;
    &lt;td&gt;Transcodes videos to &lt;br /&gt; streaming formats&lt;/td&gt;
    &lt;td&gt;Transcodes videos to&lt;br /&gt;streaming formats&lt;br /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Overlay images&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Insert Video Clips&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Extract captions data&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;/td&gt;
    &lt;td&gt;Better and Robust UI&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;sns-vs-sqs&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SNS&lt;/code&gt; vs &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SQS&lt;/code&gt;&lt;/h2&gt;

&lt;p&gt;They Both Connect Apps via Messages.&lt;/p&gt;

&lt;h3 id=&quot;sns&quot;&gt;SNS&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;It uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PubSub&lt;/code&gt; model which is also known as publisher subscriber model.&lt;/li&gt;
  &lt;li&gt;It sends notifications to subscribers via protocols such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTP&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Email&lt;/code&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SQS&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SMS&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;It is generally used for sending &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;plaintext&lt;/code&gt; emails which is triggered via other &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;aws&lt;/code&gt; services. The best example can be billing alerts.&lt;/li&gt;
  &lt;li&gt;Can retry sending in case of failure for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HTTPS&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Its good for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;webhooks&lt;/code&gt;,internal emails and triggering lambda functions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;sqs-examples-rabbitmq---think-of-it-as-message-broker-service&quot;&gt;SQS (Examples &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RabbitMQ&lt;/code&gt;) - (think of it as message broker service)&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Queue Up Messages, Guaranteed Delivery&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;It places messages into a queue and applications pull queue using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS SDK&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;It can retain a message for up to 14 days.&lt;/li&gt;
  &lt;li&gt;Can send them in sequential order or parallel.&lt;/li&gt;
  &lt;li&gt;Can ensure only one message is sent.&lt;/li&gt;
  &lt;li&gt;Can ensure messages are delivered at least once.&lt;/li&gt;
  &lt;li&gt;Really good for delayed tasks,queueing up emails.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can readmore about this &lt;a href=&quot;https://stackoverflow.com/questions/13681213/what-is-the-difference-between-amazon-sns-and-amazon-sqs&quot;&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;nlb-vs-alb--vs-clb&quot;&gt;NLB vs ALB  vs CLB&lt;/h3&gt;

&lt;table&gt;
&lt;thead&gt;
  &lt;tr&gt;
    &lt;th&gt;Application&lt;/th&gt;
    &lt;th&gt;Network&lt;/th&gt;
    &lt;th&gt;Classic&lt;/th&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;code&gt;Layer 7&lt;/code&gt; Requests&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;Layer 4&lt;/code&gt; IP protocol data&lt;br /&gt;&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;Layer 4&lt;/code&gt; and &lt;code&gt;Layer 7&lt;/code&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;code&gt;HTTPS&lt;/code&gt; and &lt;code&gt;HTTP&lt;/code&gt; traffic&lt;/td&gt;
    &lt;td&gt;&lt;code&gt;TCP&lt;/code&gt; and &lt;code&gt;TLS&lt;/code&gt; traffic where extreme&lt;br /&gt;performance is required (Example: Netflix)&lt;br /&gt;&lt;/td&gt;
    &lt;td&gt;Intended for applications&lt;br /&gt;that were built within the &lt;br /&gt;&lt;br /&gt;&lt;code&gt;EC2 Classic network&lt;/code&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;**Routing Rules**,more usability &lt;br /&gt;&lt;br /&gt;from one load balancer&lt;br /&gt;&lt;/td&gt;
    &lt;td&gt;Capable of handling millions of requests&lt;br /&gt;per second while maintaining `ultra-low-latencies`&lt;br /&gt;&lt;/td&gt;
    &lt;td&gt;Doesn't use Target Groups&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;Can attach WAF(WebApp Firewall)&lt;/td&gt;
    &lt;td&gt;Optimized for `sudden and volatile` traffic patterns&lt;br /&gt;while using a single static IP address per AZ&lt;br /&gt;&lt;/td&gt;
    &lt;td&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Can Attach &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ACM (Amazon Certification Manager) SSL Manager&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Anyways this all you need to know for your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AWS Cloud Practitioner&lt;/code&gt; Exam and I hope you found these helpful.&lt;/p&gt;

&lt;p&gt;If you think I missed anything or mispelled anything feel free to &lt;a href=&quot;https://github.com/mraza007/knowledge-book&quot;&gt;fork&lt;/a&gt; this repo and create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PR&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I am always available through &lt;a href=&quot;https://twitter.com/muhammad_o7&quot;&gt;twitter&lt;/a&gt;
and &lt;a href=&quot;mailto:muhammadraza0047@gmail.com&quot;&gt;email&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://adayinthelifeof.nl/2020/05/20/aws.html&quot;&gt;Oneliner AWS Services&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://quizlet.com/491460826/overview-of-amazon-web-services-flash-cards/&quot;&gt;FlashCards&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Fri, 05 Jun 2020 00:00:00 +0000</pubDate>
        <link>/2020/06/05/aws-notes/</link>
        <guid isPermaLink="true">/2020/06/05/aws-notes/</guid>
        
        <category>aws</category>
        
        
      </item>
    
      <item>
        <title>Enabling Wifi on Linux using CLI</title>
        <description>&lt;p&gt;When wifi has a soft block due to some faulty software or kernal it can be enabled using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rfkill&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt; rfkill list 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;To list and then unblock the wifi using the following command.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;sudo rfkill unblock wifi
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate>
        <link>/2019/10/25/enabling-wifi-linux/</link>
        <guid isPermaLink="true">/2019/10/25/enabling-wifi-linux/</guid>
        
        <category>linux</category>
        
        
      </item>
    
      <item>
        <title>Connecting to Projector using XRANDR</title>
        <description>&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XRANDR&lt;/code&gt; is a commandline utility that allows you to connect to an external monitor or projector. I use this utility since I don’t have any access to gui that allows me to connect to project so I have us &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xrandr&lt;/code&gt; to connect to projectors.&lt;/p&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;xrandr
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;This command will list all the connected displays once we have a connected display then we can connect to it using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xrandr&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;xrandr --output DPI --auto
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--auto&lt;/code&gt; auto scale the resolution or you can use your own resolution that is supported by the monitor or projector.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-console highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;go&quot;&gt;xrandr --output DP1 --mode 1920x1080
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For custom resolution.&lt;/p&gt;
</description>
        <pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate>
        <link>/2019/10/25/connecting-to-projector-using-xrandr/</link>
        <guid isPermaLink="true">/2019/10/25/connecting-to-projector-using-xrandr/</guid>
        
        <category>linux</category>
        
        
      </item>
    
      <item>
        <title>Using Regex To Extract Links.</title>
        <description>&lt;p&gt;In order to extract links from a file we can use regular expressions&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;(?:(?:https?|ftp):\/\/)?[\w/\-?=%.]+\.[\w/\-?=%.]+
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will match all the urls in the file and we can write a python script to extract the urls.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;text&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;&amp;lt;CONTAINING URLS&amp;gt;&quot;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;urls&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;re&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;findall&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'(?:(?:https?|ftp):\/\/)?[\w/\-?=%.]+\.[\w/\-?=%.]+'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;urls&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Thu, 10 Oct 2019 00:00:00 +0000</pubDate>
        <link>/2019/10/10/extracting-urls-using-regex/</link>
        <guid isPermaLink="true">/2019/10/10/extracting-urls-using-regex/</guid>
        
        <category>linux</category>
        
        
      </item>
    
      <item>
        <title>My Favorites Pandas Tricks</title>
        <description>&lt;p&gt;In this post I will be writing about my favorite tricks about pandas that I use when doing some data analysis.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Finding unique values&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pandas&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read_csv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'https://gist.githubusercontent.com/tiangechen/b68782efa49a16edaf07dc2cdaa855ea/raw/0c794a9717f18b094eabab2cd6a6b9a226903577/movies.csv'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Film&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;unique&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will print only unique values in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Film&lt;/code&gt; column in the csv.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Filtering Data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Lets say in the dataset you are only looking for movies that had audience score above 50 and were comedy only. You can use filtering in this case which is really useful.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;new_data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Audience&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;score&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Genre&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'Comedy'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;Saving to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;csv&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pandas have a function that allows you to save data to csv file.
For instance in order to save all the unique movie names we have to convert it to a data frame&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;uniq&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Film&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;unique&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;out&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DataFrame&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;uniq&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;to_csv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'uniq.csv'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will create a csv file of unique names.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Groupby&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This allows us to group data into groups. For instance if we want to look at the count of movies according genre we can use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;groupby&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;groupby&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'Genre'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Film&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;agg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'count'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will out put the total numbers of movies for each genre. You can also use other parameters like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sum&lt;/code&gt; , &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mean&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;median&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;String Operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also use string operations when working with text data.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;lower&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;specific&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;column&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'Genre'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'Genre'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lower&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This will lowercase your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Genre&lt;/code&gt; column in the data. you can also use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;upper()&lt;/code&gt; for uppercase and you can also apply your own regex by using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;replace&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Anyways these were my favorite things about pandas and I hope you enjoyed reading it. Let me know in the comments what’s your favorite thing about pandas.&lt;/p&gt;
</description>
        <pubDate>Sun, 29 Sep 2019 00:00:00 +0000</pubDate>
        <link>/2019/09/29/pandas-tricks/</link>
        <guid isPermaLink="true">/2019/09/29/pandas-tricks/</guid>
        
        <category>python</category>
        
        
      </item>
    
      <item>
        <title>Natural Language Processing</title>
        <description>&lt;p&gt;NLP is a branch of computer science that allows computers to understand Human Language.Using NLP we are able to derive meaningful insights and use them in practical applications such as 
ChatBots,Spam filtering,spell check ,making &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;google&lt;/code&gt; search better and the list goes on ….&lt;/p&gt;

&lt;p&gt;NLP has few steps such as&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Tokenization&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Stemmation&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Lemmetization&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;POS Tags&lt;/code&gt;(Parts of Speech).&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Named Entity Recognition&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Chunking&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;tokenization&quot;&gt;Tokenization&lt;/h3&gt;
&lt;p&gt;Tokenization is the first step of the NLP process. It’s process of splitting text into minimal meaningful units so our machine can understand.
&lt;a href=&quot;https://nlp.stanford.edu/IR-book/html/htmledition/tokenization-1.html&quot;&gt;Furthermore Read&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;stemmation&quot;&gt;Stemmation&lt;/h3&gt;
&lt;p&gt;In simplest terms Stemmation is a process of getting a root word. For instance if there are words such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Plays&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Played&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Playing&lt;/code&gt; for this example the root word is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Play&lt;/code&gt;.
Stemming is usually done by stripping the prefixes and suffixes from the words.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Read&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html&quot;&gt;Link 1&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.datacamp.com/community/tutorials/stemming-lemmatization-python&quot;&gt;Link 2&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;lemmetization&quot;&gt;Lemmetization&lt;/h3&gt;
&lt;p&gt;Lemmetization is more sophisticated technique compared &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stemmation&lt;/code&gt;. As we know stemmation just gets the root word for instance words like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;car&lt;/code&gt; wont be matched with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;automobile&lt;/code&gt; when doing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;stemmation&lt;/code&gt;. But in case of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lemmmetization&lt;/code&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;car&lt;/code&gt; will be matched with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;automobile&lt;/code&gt;. In lemmatization, the part of speech of a word should be first determined and the normalisation rules will be different for different part of speech.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Stemmation&lt;/code&gt; only strips down words to root words while stripping prefixes and suffixes. While lemmatization will put together words by the use of correct vocabulary.
For instance , &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;car&lt;/code&gt; will be matched with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;automobile&lt;/code&gt;. or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truck&lt;/code&gt; will be matched with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lorry&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Further Read&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://nlp.stanford.edu/IR-book/html/htmledition/stemming-and-lemmatization-1.html&quot;&gt;Link 1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://textminingonline.com/dive-into-nltk-part-iv-stemming-and-lemmatization&quot;&gt;Link 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;pos&quot;&gt;POS&lt;/h3&gt;

&lt;p&gt;Tagging words with correct parts of speech.&lt;/p&gt;

&lt;h3 id=&quot;named-entities&quot;&gt;Named Entities.&lt;/h3&gt;

&lt;p&gt;This process is related to defining the named entities in the text. For instance Mark Zuckerburg is the CEO of Facebook. In this examples &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Mark Zuckerburg&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Facebook&lt;/code&gt; is a named entity.&lt;/p&gt;

&lt;h3 id=&quot;chunking&quot;&gt;Chunking&lt;/h3&gt;

&lt;p&gt;Chunking is a process of extracting phrases from unstructured text. Instead of just simple tokens which may not represent the actual meaning of the text, its advisable to use phrases such as “South Africa” as a single word instead of ‘South’ and ‘Africa’ separate words.&lt;/p&gt;

&lt;p&gt;** Further Read **&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://medium.com/greyatom/learning-pos-tagging-chunking-in-nlp-85f7f811a8cb&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Fri, 20 Sep 2019 00:00:00 +0000</pubDate>
        <link>/2019/09/20/things-i-learned-about-nlp/</link>
        <guid isPermaLink="true">/2019/09/20/things-i-learned-about-nlp/</guid>
        
        <category>theory</category>
        
        
      </item>
    
  </channel>
</rss>
