Are AWS EC2 instances docker images or virtual machines? - amazon-web-services

If I am not wrong Amazon Web Services (AWS) uses Docker containerization.
Does EC2 service uses Docker technology or it is another different one such as real virtual machines or others?

EC2 instances are set up using Amazon Machine Images (AMI), Amazon proprietary not based on Docker.
Linux Amazon Machine Images use one of two types of virtualization: paravirtual (PV) or hardware virtual machine (HVM). The main differences between PV and HVM AMIs are the way in which they boot and whether they can take advantage of special hardware extensions (CPU, network, and storage) for better performance.

EC2 is a virtual machine and you can have full root access control with it as for registered users of AWS

Related

Creating docker image from VM snapshot

I was tasked with taking an on prem Windows virtual machine and converting it to a Amazon ecs container. A linux container at that. Is there a way of doing this if I get the snapshot of the VM? Also, would I run into some issues with compatibility since VM snapshots might have some windows artifacts? My plan was to take the vm snapshot, convert that to EC2 and then convert the ec2 ami to ecs. Is that overkill? Is there a simpler way?

What is the difference between AWS Workspaces and a RDP enabled EC2 instance?

AWS Workspaces provide RDP machines but are more costly compared to EC2 instances. Also the control is less than what we can achieve running EC2 instances on the cloud. Are there any advantages ?
Amazon WorkSpaces support Windows 10.
EC2 does not support Windows 7/8/10 except on Dedicated Hosts and Dedicated Instances and you must provide your own licenses (BYOL). EC2 only supports Windows Server versions otherwise.
WorkSpaces provides a PCoIP protocol optimized for desktop experience. EC2 does not.
ref:
https://www.reddit.com/r/aws/comments/6c8jdm/ec2_equivalent_of_aws_standard_workspace/dhtdt36?utm_source=share&utm_medium=web2x
http://www.teradici.com/what-is-pcoip/pcoip-ultra
I think EC2 is best for the development of applications. see What is Amazon EC2
AWS Workspaces, on the other hand, is a manged multi-purpose desktop as a service offering like V2 Cloud's WorkSpaces

Can AWS RDS services run on hardware hosts dedicated to a single customer?

AWS offers the option to run VMs on hardware hosts that are dedicated to a single customer (for compliance purposes, added security, etc).
This is available when using their Amazon EC2 Dedicated Instances
My question is: Do they offer similar hardware-level single-tenancy in their managed DB services ? (AWS RDS. For example using Oracle, or MySQL)
I looked for that option but cannot find it anywhere.
To run RDS on dedicated hardware, you need to create a dedicated VPC and then launch the RDS instance into that VPC. You also need to choose a DB instance class that is an approved EC2 dedicated instance type e.g. db.m3.medium.
For more, see Working with a DB Instance in a VPC.

Creation of VMS within AWS Ec2

I am trying to design and making architecture of cloud application deployment resources in AWS cloud using EC2, S3, and RDS. Here I have a little bit of confusion about AWS infrastructure, which I am describing here.
I already have a AWS EC2 machine - Ubuntu 16.04 LTS. Is possible to create another VMs within my Ubuntu? I mean, can I use Linux or CentOS within my EC2 Ubuntu machine?
I am a beginner in cloud and AWS world, still exploring about AWS infrastructure.
When you instantiate your EC2 instance you are required to select an AMI. the AMI is an amazon machine image. This essentially describes what OS (CentOS, Ubuntu, RedHat, etc) will be installed on your EC2 instance. Most likely you selected the Amazon Linux AMI which installs amazon's own flavor of CentOS. Once the instance is up, you will not be able to install a different OS on it. You will have to terminate your existing instance and spin up a new EC2 instance with the AMI that you want.
That being said, you can also use a tool such as Docker https://www.docker.com/. This allows you to spin up docker containers. Each docker container acts like a VM and will allow you to spin up multiple different docker containers with whatever OS you want within your single EC2 instance.

AWS EC2 Instance - Is it a single virtual image or single physical machine?

Sorry, I had a few basic questions. I'm planning to use an AWS EC2 instance.
1) Is an EC2 instance a single virtual machine image or is it a
single physical machine? Documentation from Amazon states that it is
a "virtual server", but I wanted to clarify if it is an image
embedded inside one server or if it is an single physical server
itself.
2) Is an Elastic Load Balancer a single EC2 instance that handles
all requests from all users and simply forwards the request to the
least loaded EC2 instances?
3) When Auto-Scaling is enabled for an EC2 instance, does it simply
exactly replicate the original EC2 instance when it needs to scale
up?
An EC2 instance is a VM that gets some percentage of the underlying physical host's RAM, CPU, disk, and network i/o. That percentage could theoretically be 100% for certain instance types, including bare-metal instances, but is typically some fraction depending on which instance type you choose.
ELB is a service, not a single EC2 instance. It will scale on your behalf. It routes by round robin for TCP, and routes on fewest outstanding requests for HTTP and HTTPS.
Auto Scaling is "scale out" (it adds new EC2 instances), not "scale up" (resizing an existing EC2 instance). It launches a new instance from a template called an AMI.
It is a virtual server, a VM, as stated in the documentation.
It's a little more complicated that that, based on the way AWS might scale the load balancer, or create a version in each availability zone, etc. It also provides more features such as auto-scaling integration, health checks, SSL termination. I suggest you read the documentation.
It uses a machine image that you specify when you create the auto-scaling group (when you create the Launch Configuration used by the Auto-scaling group to be more precise). A common practice is to configure a machine image that will download any updates and launch the latest version of your application on startup.
You might also be interested in Elastic Beanstalk which is a PaaS that manages much of the AWS infrastructure for you. There are also third-party PaaS offerings such as OpenShift and Heroku that also manage AWS resources for you.