Getting Started With AWS
Getting Started With AWS
Table of Contents
Getting Started with AWS ................................................................................................................... 1
What Can I Do with AWS? ........................................................................................................... 1
How Do I Get Started? ................................................................................................................ 1
How Do I Access AWS? ............................................................................................................... 2
Pricing ...................................................................................................................................... 2
AWS Overview ................................................................................................................................... 3
Regions and Availability Zones ..................................................................................................... 3
Security .................................................................................................................................... 4
AWS Product Categories ............................................................................................................. 4
Compute and Networking Services ............................................................................................... 5
Key Services ...................................................................................................................... 5
Key Concepts ..................................................................................................................... 6
Architecture ....................................................................................................................... 8
Documentation .................................................................................................................. 9
Storage and Content Delivery Services .......................................................................................... 9
Key Services ...................................................................................................................... 9
Key Concepts ................................................................................................................... 10
Usage Scenarios ............................................................................................................... 11
Documentation ................................................................................................................ 12
Security and Identity Services .................................................................................................... 12
Key Services .................................................................................................................... 13
Key Concepts ................................................................................................................... 13
Documentation ................................................................................................................ 13
Database Services ..................................................................................................................... 13
Key Services .................................................................................................................... 13
Key Concepts ................................................................................................................... 14
Usage Scenarios ............................................................................................................... 15
Documentation ................................................................................................................ 16
Analytics Services ..................................................................................................................... 16
Key Services .................................................................................................................... 16
Documentation ................................................................................................................ 16
Application Services .................................................................................................................. 16
Key Services .................................................................................................................... 17
Key Concepts ................................................................................................................... 17
Documentation ................................................................................................................ 18
Management Tools ................................................................................................................... 19
Key Tools ........................................................................................................................ 19
Key Concepts ................................................................................................................... 19
Documentation ................................................................................................................ 20
AWS Tutorials .................................................................................................................................. 21
Run a Virtual Server ................................................................................................................. 21
Store Files ............................................................................................................................... 21
Share Digital Media .................................................................................................................. 22
Deploy a Website ..................................................................................................................... 22
Host a Website (Linux) .............................................................................................................. 22
Host a Website (Windows) ......................................................................................................... 22
Run a Database ........................................................................................................................ 23
Analyze Your Data .................................................................................................................... 23
iii
Getting Started with AWS
What Can I Do with AWS?
Amazon Web Services (AWS) provides on-demand computing resources and services in the cloud, with
pay-as-you-go pricing. For example, you can run a server on AWS that you can log on to, congure,
secure, and run just as you would a server that's sitting in front of you. For more information, see What is
Cloud Computing?
Using AWS resources instead of your own is like purchasing electricity from a power company instead of
running your own generator, and it provides many of the same benets: capacity exactly matches your
need, you pay only for what you use, economies of scale result in lower costs, and the service is provided
by a vendor experienced in running large-scale networks.
1
Getting Started with AWS
How Do I Access AWS?
A web interface. To get started, see the Getting Started with the AWS Management Console.
AWS Command Line Interface (AWS CLI)
Commands for a broad set of AWS products. To get started, see AWS Command Line Interface User
Guide.
Command Line Tools
Commands for individual AWS products. For more information, see Command Line Tools.
AWS Software Development Kits (SDK)
APIs that are specic to your programming language or platform. For more information, see SDKs.
Query APIs
Low-level APIs that you access using HTTP requests. For more information, see the API
documentation for each service.
Pricing
AWS can oer signicant cost savings compared to the equivalent on-premises infrastructure. You can
use the AWS Simple Monthly Calculator to estimate what it would cost to use AWS.
Note that if you created your AWS account within the last 12 months, you are eligible for the AWS Free
Tier.
For more information about managing your costs, see Pricing and the Economics Center.
2
Getting Started with AWS
Regions and Availability Zones
AWS Overview
AWS oers a broad set of services that help you move faster, lower your costs, and scale your
applications. The following documentation provides a high-level overview of the concepts that you
should understand before you get started with AWS.
Contents
Each region contains multiple distinct locations called Availability Zones. Each Availability Zone is
engineered to be isolated from failures in other Availability Zones, and to provide inexpensive, low-
latency network connectivity to other zones in the same region. By placing resources in separate
Availability Zones, you can protect your website or app from the failure of a single location.
AWS resources can be tied to a region or tied to an Availability Zone. Not every region or Availability
Zone supports every AWS resource. When you view your resources, you'll only see the resources tied to
the region you've specied. This is because regions are isolated from each other, and we don't replicate
resources across regions automatically.
3
Getting Started with AWS
Security
EU (Frankfurt) eu-central-1
EU (Ireland) eu-west-1
Security
AWS provides a secure global infrastructure, plus a range of features that you can use to secure your data
in the cloud. The following are highlights:
Physical access to AWS data centers is strictly controlled, monitored, and audited.
Access to the AWS network is strictly controlled, monitored, and audited.
You can manage the security credentials that enable users to access your AWS account using AWS
Identity and Access Management (IAM). You can create ne-grained permissions to AWS resources and
apply them to users or groups of users.
You can apply ACL-type permissions on your data and can also use encryption of data at rest.
You can set up a virtual private cloud (VPC), which is a virtual network that is logically isolated from
other virtual networks in the AWS cloud. You can control whether the network is directly routable to
the Internet.
You control and congure the operating system on your virtual server.
You can set up a security group, which acts as a virtual rewall to control the inbound and outbound
trac for your virtual servers.
You can specify a key pair when you launch your virtual server, which is used to encrypt your login
information. When you log in to your virtual server, you must present the private key of the key pair to
decrypt the login information.
4
Getting Started with AWS
Compute and Networking Services
You can use the compute and networking services with the storage, database, and application services
to provide a complete solution for computing, query processing, and storage across a wide range of
applications.
Contents
Key Services (p. 5)
Key Concepts (p. 6)
Architecture (p. 8)
Documentation (p. 9)
Key Services
The following are the key compute and networking services:
Amazon EC2
Routes trac to your domain name to a resource, such as a virtual server or a load balancer.
AWS Lambda
Runs your code on virtual servers from Amazon EC2 in response to events.
Amazon ECS
5
Getting Started with AWS
Key Concepts
Key Concepts
The following are concepts that you should understand before using the compute and networking
services.
When you launch an instance, you select an instance type, which determines the hardware capabilities
(such as memory, CPU, and storage) of the host computer for the instance. You can access your instance
using its assigned public DNS name or public IP address. The public DNS names for instances are as
follows:
ec2-public_ip.compute-1.amazonaws.com
Other regions
ec2-public_ip.region_code.compute.amazonaws.com
Your instances keep running until you stop or terminate them, or until they fail. If an instance fails, you
can launch a new one from the AMI.
You start from an existing AMI that most closely meets your needs, log on to the instance, and then
customize the instance with additional software and settings. You can save this customized conguration
as a new AMI, which you can then use to launch new instances whenever you need them.
6
Getting Started with AWS
Key Concepts
A subnet is a segment of a VPC's IP address range that you can launch instances into. Subnets enable
you to group instances based on your security and operational needs. To enable instances in a subnet
to reach the Internet and AWS services, you must add an Internet gateway to the VPC and a route table
with a route to the Internet to the subnet.
We recommend that you launch your EC2 instances into a VPC. Note that if you created your AWS
account after 2013-12-04, you have a default VPC and you must launch EC2 instances into a default or a
nondefault VPC.
Security Groups
A security group acts as a virtual rewall for your instance to control inbound and outbound trac. You
can specify one or more security groups when you launch your instance. When you create a security
group, you add rules that control the inbound trac that's allowed, and a separate set of rules that
control the outbound trac. All other trac is discarded. You can modify the rules for a security group
at any time and the new rules are automatically enforced.
Amazon Route53 enables you to organize your DNS records using hosted zones. When you create a
hosted zone, you receive four name servers to help ensure a high level of availability.
7
Getting Started with AWS
Architecture
Load Balancer
A load balancer distributes trac to multiple instances. You can achieve even higher levels of fault
tolerance by using your load balancer with instances in multiple Availability Zones. As instances are
launched and terminated, the load balancer automatically directs trac to the running instances. Elastic
Load Balancing also performs health checks on each instance. If an instance is not responding, the load
balancer can automatically redirect trac to the healthy instances.
Architecture
The following diagram shows an example architecture for your compute and networking services.
There are EC2 instances in public and private subnets. Access to the instances in the public subnets over
protocols like SSH or RDP is controlled by one or more security groups. Security groups also control
whether the instances can talk to each other. The Auto Scaling group maintains a eet of EC2 instances
that can scale to handle the current load. This Auto Scaling group spans multiple Availability Zones to
protect against the potential failure of a single Availability Zone. The load balancer distributes trac
evenly among the EC2 instances in the Auto Scaling group. When the Auto Scaling group launches
or terminates instances based on load, the load balancer automatically adjusts accordingly. Amazon
Route53 provides secure and reliable routing of your domain name to your infrastructure hosted on
AWS.
8
Getting Started with AWS
Documentation
Documentation
For more information, see the following documentation:
Amazon EC2
Amazon ECS
Amazon Route53
Amazon VPC
Auto Scaling
AWS Lambda
Elastic Load Balancing
Contents
Key Services (p. 9)
Key Concepts (p. 10)
Usage Scenarios (p. 11)
Documentation (p. 12)
Key Services
The following are the key storage and content delivery services:
Amazon S3
9
Getting Started with AWS
Key Concepts
CloudFront
Key Concepts
The following are concepts that you should understand before using the storage and content delivery
services.
You can group objects using folders. These folders are included in the key name for an object. For
example, mysite/html/default.html. Each object can be accessed through its unique URL:
protocol://domain/bucket_name/object_key
protocol
CloudFront Distributions
Use Amazon CloudFront to create a content delivery network (CDN) that makes your website content
available from data centers around the world, called edge locations. You store your content on an
origin server, such as an Amazon S3 bucket or an HTTP server running on an EC2 instance. You create a
CloudFront distribution, associate the distribution with the origin server, and then use a CloudFront URL
to access your content:
http://distribution_id.cloudfront.net/file.ext
10
Getting Started with AWS
Usage Scenarios
Alternatively, you can associate your own domain name with your CloudFront distribution.
When a user accesses an object that's part of a CloudFront distribution, CloudFront checks whether the
object is already in a cache that's near the user. If it is, CloudFront serves the content from the cache;
otherwise, CloudFront copies the requested content from the origin server to the cache.
An instance store volume is usable only from a single instance and only during its lifetime. For instance
types that support multiple instance store volumes, you can stripe your data across multiple volumes.
The data on an instance store volume is erased when the instance terminates. If an application uses
instance store volumes for persistent data, it must periodically replicate the data or copy it to durable
storage.
You can back up the data on your Amazon EBS volumes by creating snapshots, which are stored in
Amazon S3. You can create a new Amazon EBS volume from a snapshot and then attach it to an EC2
instance.
Usage Scenarios
The following table summarizes the common usage scenarios for the AWS storage options. For more
information, see AWS Storage Options.
Amazon EBS Use for data that changes frequently and must
persist. For example, use EBS volumes as the
primary storage for a database or le system, or
11
Getting Started with AWS
Documentation
Instance store volumes Use instance store volumes for temporary storage
of data that changes frequently, such as buers,
caches, or scratch data, or data that is replicated
across a eet of instances.
Documentation
For more information, see the following documentation:
Amazon CloudFront
Amazon EBS
Amazon Glacier
Amazon S3
AWS Import/Export
AWS Storage Gateway
12
Getting Started with AWS
Key Services
Key Services
The following are the key security and identity services:
Manage user access to AWS through your existing Microsoft Active Directory, or a directory you
create in the AWS cloud.
Key Concepts
The following are concepts that you should understand before using the security and identity services.
User Permissions
AWS Identity and Access Management (IAM) enables you to manage users and user permissions in AWS.
You can control which users can access which AWS resources.
Directory Services
AWS Directory Service enables you to grant access to AWS to directory users and groups. You can create
a new directory in the cloud, or connect to an existing on-premises directory, such as Microsoft Active
Directory.
Documentation
For more information, see the following documentation:
Contents
Key Services (p. 13)
Key Concepts (p. 14)
Usage Scenarios (p. 15)
Documentation (p. 16)
Key Services
The following are the key database services:
13
Getting Started with AWS
Key Concepts
Amazon RDS
Key Concepts
The following are concepts that you should understand before using the database services.
Relational Database
A relational database is organized into tables that are related to each other by key values. It is the
traditional type of database.
If your application primarily indexes and queries data and doesn't require joins or complex transactions,
consider a NoSQL database instead. If you have large binary les (audio, video, and image), consider
storing the les in Amazon Simple Storage Service (Amazon S3) and storing the metadata for the les in
your database.
NoSQL Database
A NoSQL database oers schema exibility (for example, to provide JSON document model support),
fast read and write performance, virtually limitless scaling, and high availability. NoSQL database tables
are schemaless and can be used to store JSON-style documents or key-value pairs. This functionality
makes NoSQL databases ideal for managing structured or unstructured data.
If your application requires joins or complex transactions, consider a relational database instead. If you
have large binary les (audio, video, and image), consider storing the les in Amazon S3 and storing the
metadata for the les in your database.
DB Instance
A DB instance is the basic building block of Amazon Relational Database Service (Amazon RDS); it is an
isolated database environment in the cloud. A DB instance can contain multiple databases.
When you launch a DB instance, you select a database engine (MySQL, PostgreSQL, Oracle, or Microsoft
SQL Server) and a DB instance class, which determines the compute and memory capabilities for the DB
instance. You also specify a security group for the DB instance. The rewall for the DB instance prevents
any access to its databases other than what you've granted through the rules for the security group. You
can launch your DB instance in a virtual private cloud (VPC) for additional network access control. You
can also use the security features of your DB engine the same way that you'd use them on your local
network.
In a Multi-AZ deployment, Amazon RDS automatically provisions and maintains a synchronous standby
replica in a dierent Availability Zone. The primary DB instance is synchronously replicated across
Availability Zones to a standby replica to provide data redundancy, eliminate I/O freezes, and minimize
14
Getting Started with AWS
Usage Scenarios
latency spikes during system backups. In the event of a planned or unplanned outage of your DB
instance, Amazon RDS automatically switches to a standby replica.
Amazon RDS can use replication functionality built into the PostgreSQL or MySQL DB engine to create a
special type of DB instance called a read replica from a source DB instance.
Amazon RDS provides two dierent methods for backing up and restoring your DB instances: automated
backups and user-initiated backups known as DB snapshots.
Usage Scenarios
The following table summarizes the common usage scenarios for the AWS database options. For more
information, see Running Databases on AWS.
Amazon ElastiCache Provides a fast, fully managed, in-memory cache in the cloud. You
have a choice of caching engines: Memcached and Redis. Common
use cases include improving performance by caching the results
of I/O-intensive queries, managing web session data, and caching
dynamically-generated web pages.
Hosted on Amazon EC2 Enables you to manage the software, compute resources, and
storage resources for your database with complete control. For best
performance, select the right EC2 instance type and EBS volume
type for your scenario. You can also increase the number of EBS
volumes and use striping to increase performance.
15
Getting Started with AWS
Documentation
Documentation
For more information, see the following documentation:
Amazon DynamoDB
Amazon ElastiCache
Amazon RDS
Amazon Redshift
Key Services
Amazon EMR (Amazon EMR) uses Hadoop, an open source framework, to manage and process data.
Hadoop uses the MapReduce engine to distribute processing using a cluster.
Amazon EMR makes it easier to install, congure, and manage Hadoop. You identify the data source,
specify the number and type of EC2 instances for the cluster and what software should be on them,
and provide a MapReduce program or run interactive queries. Amazon EMR manages the computing
resources and runs your MapReduce program or provides tools like Hive or Pig for queries.
AWS Data Pipeline makes it easy for you to regularly move and process data. You create a pipeline, which
denes the input data source, the compute resources (EMR clusters or EC2 instances) to perform the
processing, any conditions that must be met before performing any processing, and the output data
location (such as Amazon S3, Amazon Redshift, Amazon RDS, and Amazon DynamoDB).
Amazon Kinesis enables real-time processing of streaming data at a massive scale. You can send data
from Amazon Kinesis to a data warehouse, such as Amazon Simple Storage Service (Amazon S3) or
Amazon Redshift, or to an Amazon EMR cluster.
Amazon ML makes is easy for developers to use machine learning technology to obtain predictions for
their applications using simple APIs. Amazon ML nds patterns in your existing data, creates machine
learning models, and then uses those models to process new data and generate predictions.
Documentation
For more information, see the following documentation:
Amazon EMR
Amazon Kinesis
Amazon Machine Learning
AWS Data Pipeline
Contents
16
Getting Started with AWS
Key Services
Key Services
The following are the key application services:
Amazon AppStream
Host your streaming application in the AWS cloud and stream the input and output to your users'
devices.
Amazon CloudSearch
Convert digital media into the formats required by your users' devices.
Amazon SES
Enable components in your application to store data in a queue to be retrieved other components.
Amazon SWF
Key Concepts
The following are concepts that you should understand before using the app services.
Message Queues
A queue contains messages and enables processes to coordinate their work in an asynchronous manner.
Processes write, read, and delete messages from the queue, and perform work based on the information
contained in the retrieved messages. You can design your application in a modular way, so that instead of
performing tasks in serial and waiting until each task completes, tasks are performed independently and
communicate with each other when there is work to be done.
Amazon Simple Queue Service (Amazon SQS) ensures that each message is delivered at least once,
supports multiple processes reading and writing from the same queue, and enables you to control who
can write to and read from the queue. Each queue must have a unique name and receives a unique URL.
Messages are small, so you'll often use Amazon Simple Storage Service (Amazon S3) to store data and
include a pointer to the data in your message.
Notications
A notication lets a recipient know when an event has occurred. Unlike a message queue, the information
is delivered to the recipient automatically, so the recipient doesn't need to check for messages and
retrieve them.
17
Getting Started with AWS
Documentation
Amazon Simple Notication Service (Amazon SNS) coordinates and manages the delivery of messages
to recipients. A publisher produces messages and sends them to a topic, which denes the message
protocol (such as email, SMS, or Amazon SQS) and the recipient list. A consumer subscribes to the topic
and receives the messages sent to the topic. When you create a topic, you can control which publishers
can send messages to the topic and which subscribers can register for notications.
Workows
A workow engine coordinates work across distributed components. A workow is a set of activities
together with the logic that coordinates the activities. Amazon Simple Workow Service (Amazon SWF)
serves as a central hub for the workow and also maintains the state of each workow execution.
You create and register activity workers, which complete the work, and a decider, which provides the
coordination logic. Then you start one or more executions of your workow.
Email
Amazon Simple Email Service (Amazon SES) provides an easy and cost-eective way for you to send a
high volume of email. Amazon SES handles outbound email only. It also collects metrics for you about
the messages that were delivered, bounced, rejected, and marked as spam, and provides access to your
metrics in real time.
Search
Amazon CloudSearch makes it easy for you to add search capability for your content to your website.
First, create a search domain, which denes the data to search, controls how Amazon CloudSearch
indexes your data, and allocates instances to index the data and process requests. Next, upload the data
for search to your domain. Amazon CloudSearch analyzes your data and generates a search index, which
provides the results for search requests. Now you can submit search requests to the search endpoint for
your domain to quickly locate content that meets the specied search criteria.
Streaming Applications
Amazon AppStream deploys your application on AWS infrastructure and streams input and output
between your application and a variety of devices, such as personal computers and mobile devices. The
processing occurs in the cloud, so the client application on the device can be small in size and require
minimal computing power.
Transcoding
Transcoding is the process of converting a video from one format to another. This enables the video
to play back on a variety of mobile devices, web browsers, and televisions. Amazon Elastic Transcoder
simplies common transcoding tasks. You create a job, which denes the transcoding operation for
a specic video stored in Amazon S3. Elastic Transcoder completes the job, providing status updates
during the transcoding operation, and storing the output video in Amazon S3.
Documentation
For more information, see the following documentation:
Amazon AppStream
Amazon CloudSearch
Amazon Elastic Transcoder
Amazon SES
Amazon SNS
Amazon SQS
18
Getting Started with AWS
Management Tools
Amazon SWF
Contents
Key Tools (p. 19)
Key Concepts (p. 19)
Documentation (p. 20)
Key Tools
The following are the key management tools:
Amazon CloudWatch
Track the usage history for your AWS resources by logging AWS API calls.
AWS Cong
View the current and previous conguration of your AWS resources, and monitor changes to your
AWS resources.
AWS OpsWorks
Congure and manage the environment for your application, whether in the AWS cloud or your own
data center.
AWS Service Catalog
Distribute servers, databases, websites, and applications to users using AWS resources.
Key Concepts
The following are concepts that you should understand before using the management services.
CloudWatch Metrics
CloudWatch monitors your AWS resources and provides you with data known as metrics. You can also
congure CloudWatch to send alerts. For example, you can receive an email when your AWS bill reaches
a certain amount, or congure Auto Scaling to add or remove EC2 instances from your Auto Scaling
group as demand changes.
CloudTrail Logging
CloudTrail captures AWS API calls made for your AWS account by the AWS Management Console, AWS
SDKs, command line tools, and AWS deployment and management services, and delivers log les to
19
Getting Started with AWS
Documentation
Amazon S3 so that you can get a history of the calls. The logs contain the identity of the users and
accounts that made the calls, the source IP addresses the calls were made from, and when the calls
occurred.
If you know which AWS resources you want to use and how to congure them, you might prefer to use
AWS CloudFormation instead.
Documentation
For more information, see the following documentation:
Amazon CloudWatch
AWS CloudFormation
AWS CloudTrail
AWS Cong
AWS Elastic Beanstalk
AWS OpsWorks
AWS Service Catalog
20
Getting Started with AWS
Run a Virtual Server
AWS Tutorials
The following tutorials are designed to get you started creating and using resources on AWS.
Tutorials
Run a Virtual Server (p. 21)
Store Files (p. 21)
Share Digital Media (p. 22)
Deploy a Website (p. 22)
Host a Website (Linux) (p. 22)
Host a Website (Windows) (p. 22)
Run a Database (p. 23)
Analyze Your Data (p. 23)
For video tutorials, see Getting Started with AWS and AWS Instructional Videos and Labs.
Task Tutorial
Launch and connect to a Linux instance Getting Started with Amazon EC2 Linux Instances
Launch and connect to a Windows instance Getting Started with Amazon EC2 Windows
Instances
Store Files
You can use AWS to store les that you'll access or share on a regular basis, or les that you need to
archive and access infrequently.
21
Getting Started with AWS
Share Digital Media
Task Tutorial
Use Amazon S3 to store data and retrieve it Getting Started with Amazon Simple Storage
quickly Service
Use Amazon Glacier to store archival data at a low Getting Started with Amazon Glacier
cost
Deploy a Website
You can use AWS to host your static website. You can also use AWS deployment services to quickly set up
a dynamic website.
Task Tutorial
Deploy a static website using Amazon S3 Getting Started with AWS: Hosting a Static
Website
Deploy a web app using AWS Elastic Beanstalk Getting Started with AWS: Deploying a Web App
Task Tutorial
Host Drupal using scaling and load balancing Getting Started with AWS: Hosting a Web App for
Linux
Task Tutorial
Host a .NET app using scaling and load balancing Getting Started with AWS: Hosting a .NET Web
App
22
Getting Started with AWS
Run a Database
Run a Database
You can use AWS to run your database. For more information, see Running Databases on AWS.
Task Tutorial
Use Amazon RDS to set up, operate, and scale a Getting Started
relational database in the cloud
Task Tutorial
Use Hive with Amazon EMR to process sample Getting Started: Analyzing Big Data with Amazon
data in Amazon S3 EMR
23