What is Amazon Elastic Compute Cloud (Amazon EC2)
EC2 is an IaaS service from Amazon Web Services. It provides resizable compute capacity in the AWS cloud. You can create various types of virtual servers in cloud and connect through internet.
What is the difference between instance backed storage and EBS backed storage
EC2 instances support two types for block level storage
- Elastic Block Store (EBS)
- Instance Store (Ephemeral store)
EC2 instances can be launched by choosing between AMIs backed instance store and AMIs backed by EBS. AWS recommends use of EBS backed AMIs, because they launch faster and use persistent storage
Amazon Elastic Block Store (EBS)
- In case of EBS backed instance, the root device for an instance launched from the AMI is an EBS volume created from an EBS snapshot
- An EBS volume is an external block device that can be attached to a single instance. Its a network attached storage.
- Volume persists independently from the running life of an instance.
- EBS volume can be detached from one instance and attached to another instance
- EBS volumes can be created as encrypted volumes using the EBS encryption feature
Instance Store (Ephemeral storage)
- An Instance store backed instance is using an Instance store as root device volume created from a template stored in S3.
- Instance store volumes are physically attached to the host computer.
- Data on an instance store volume persists only during the instance is running. if an instance is stopped or terminated, any data on instance store volumes is lost
- Instance store provides temporary block-level storage for instances.
- When an Instance stored instance is launched, the image that is used to boot the instance is copied to the root volume.
What is Bootstrapping
It allows you to run a script to initialize your instance with OS configurations and applications. This feature allows instances to configure themselves upon launch. For example if you want to run some shell scripts while launching your instance, you can provide the same scripts in instance user data.
What is Amazon Machine Images (AMIs)
The Amazon Machine Image (AMI) defines the initial software that will be on an instance when it is launched. An AMI defines every aspect of the software state at instance launch, including:
- The Operating System (OS) and its configuration
- The initial state of any patches
- Application or system software
All AMIs are based on x86 OSs, either Linux or Windows.
There are four sources of AMIs:
- Published by AWS: AWS publishes AMIs with versions of many different OSs, both Linux and
- The AWS Marketplace: AWS Marketplace is an online store that helps customers find, buy, and
immediately start using the software and services that run on Amazon EC2. Many AWS partners have made their software available in the AWS Marketplace.
- Generated from Existing Instances: An AMI can be created from an existing Amazon EC2
instance. This is a very common source of AMIs. Customers launch an instance from a published
AMI, and then the instance is configured to meet all the customer’s corporate standards for updates, management, security, and so on. An AMI is then generated from the configured instance and used to generate all instances of that OS.
- Uploaded Virtual Servers: Using AWS VM Import/Export service, customers can create images from various virtualization formats, including raw, VHD, VMDK, and OVA. The current list of supported OSs (Linux and Windows) can be found in the AWS documentation.
What is an Elastic IP Address
An Elastic IP address is a static IPv4 address , which is reachable from the internet. It is allocated to your AWS account, and is yours until you release it. If your instance does not have a public IPv4 address, you can associate an Elastic IP address with your instance to enable communication with the internet.
- An Elastic IP address is static; it does not change over time.
- To use an Elastic IP address, you first allocate one to your account, and then associate it with your instance or a network interface.
- When you associate an Elastic IP address with an instance, it is also associated with the instance’s primary network interface.
- When you associate an Elastic IP address with an instance or its primary network interface, the instance’s public IPv4 address (if it had one) is released back into Amazon’s pool of public IPv4 addresses.
- You can disassociate an Elastic IP address from a resource, and then associate it with a different resource.
- A disassociated Elastic IP address remains allocated to your account until you explicitly release it. AWS apply small hourly charge for Elastic IP addresses that are not associated with a running instance.
- When you associate an Elastic IP address with an instance that previously had a public IPv4 address, the public DNS host name of the instance changes to match the Elastic IP address.
- An Elastic IP address comes from Amazon’s pool of IPv4 addresses, or from a custom IP address pool that you have brought to your AWS account.
- An Elastic IP address is for use in a specific Region only, and cannot be moved to a different Region.