Alfonso Baqueiro Bernal
Tuesday March 15, 2022
[ UP ]

AWS Cloud Practitioner / Architecture Design Principles

A Hypervisor is the software that produces and manages virtual infrastructure , allowing multiple operating systems to run and share resources on a single physical machine

Sharing CPU cycles, RAM memory and storage.

The system running the hypervisor is called the host

It is commonly a rack mounted server blade.

The virtual machines running on the host are the guest

Each VM takes one set of physical hw

Multi-tenancy of guests usually involves OS like windows, linux, BSD, etc

Types of Hypervisors

Type 1 (native or bare metal)

HW
Hypervisor
Guest OS(s)
App(s)

Some implementations are:

AWS runs on Xen type 1 hypervisors

Type 2 hypervisor

HW
Host OS
Apps, one is a Type2 Hypervisor
Guest OS
App(s)

Some implementations are:

AWS shared responsability model

AWS manages physical security and hypervisor security, it ensures guests OS run securely isoletad from one another.

The consumer takes responsability for managing the guest operating system (including updates and security patches), related application security, the design of the virtual networks and logical firewall.

Risk treatment

Reduction or Acceptance

How much do you decide to manage or use managed services?

How much is on-premises and how much is on cloud?

Shared responsability is a form of risk transference

When you migrate resources to a cloud services provider (CSP), the service level agreement (SLA) becomes a joint shared responsability between the provider and the consumer

IasS and SaaS have clear demarcation points

PaaS demarcation is less clear, and depend on how managed service means.

AWS provider responsability

AWS responsabilities:

In IaaS AWS responsability lies in the gray area in the image

Customers responsabilities:

The particular services determines the customer-side responsabilities.

For example with EC2 instances you would be responsible for updates and upgrades and security patching.

The customer is ultimately responsible for compliance, regulations and adhering to attestation and auditing by third parties.

Root account

Only the root account can do:

AWS Core services

VPC (virtual private cloud)

On VPC Dashboard

There are several network resources

There is a default VPC, it uses a 16bit mask, you can have several subnets

You can have many VPCs on your account, Custom VPC is labeled as Non-default VPC

Example: having 3 subnets in your VPC, you can put each one in an availability zone having high availability.

VPC wizard is infrastructure as code: You can use CloudFormation

Ways to configure a VPC:

  1. VPC with a single public subnet
  2. VPC with public and private subnets
  3. VPC with public and private subnets and hardware VPN access
  4. VPC with a private subnet only and hardware VPN access

Networking details

AWS creates a default VPC

For each VPC it creates 3 subnets

You can view the route table for each subnet

If a subnet has configured a IGW (Internet Gateway) it is considered public

If I remove the IGW it becomes a private subnet

I can add a VPG (Virtual Private Gateway) to connect to a VPN

An Instance can be asigned a public IP address from the IP pool or an Elastic IP address

An Elastic IP address is also taken from the pool, but the beauty is asigned to your account, and you can reallocate to other EC2 instance. If you have a Elastic IP and is not assigned, you will be charged.

To being able to communicate a instance that is only on private subnet, you have to add a NAT gateway, the NAT gateway sits in the public subnet.

By the way, a NAT gw has to use an Elastic IP address. NAT is used only for IPv4.
For IPv6 you need to use an Egress Only Internet Gateway only for IPv6.

DHCP options can be used if you want to modify the default DHCP server.

Network Endpoints

Endpoints allows you to setup communication between services in the AWS cloud, there are 2 types:

AMI :: Amazon Machine Image

EC2 - Elastic Cloud Compute

EC2 instance is a provisioned virtual machine, to provision a virtual machine you start from a software stack image or AMI.

There is a AMI marketplace with more than 500 images of different OSs and software stacks.

You can build your own AMI with the EC2 Image Builder, also it can build docker Images.

AMI is a software template which includes OS and optionaly applications.

There is a lot of Linux distributions for everyone like:

For several architectures:

The AMI will include the root volume of that particular OS

In IaaS you will be responsible of licence and software that is installed within the Instance

Storage

Will be covered later.

Secure connectivity options

There are several options to connect to the resources in a VPC that is not public: