Amazon AWS Intro
Amazon AWS Intro
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 Concepts ............................................................................................................... 5
Architecture .................................................................................................................. 8
Documentation ............................................................................................................. 9
Storage and Content Delivery Services ..................................................................................... 9
Key Concepts ............................................................................................................... 9
Usage Scenarios ......................................................................................................... 11
Documentation ............................................................................................................ 12
Database Services ............................................................................................................... 12
Key Concepts ............................................................................................................. 12
Usage Scenarios ......................................................................................................... 13
Documentation ............................................................................................................ 14
Analytics Services ............................................................................................................... 14
Overview .................................................................................................................... 14
Documentation ............................................................................................................ 15
App Services ...................................................................................................................... 15
Key Concepts ............................................................................................................. 15
Documentation ............................................................................................................ 16
Deployment Services ........................................................................................................... 17
Key Concepts ............................................................................................................. 17
Documentation ............................................................................................................ 17
Management Services .......................................................................................................... 18
Key Concepts ............................................................................................................. 18
Documentation ............................................................................................................ 18
AWS Tutorials ............................................................................................................................. 19
Run a Virtual Server ............................................................................................................. 19
Store Files .......................................................................................................................... 19
Share Digital Media .............................................................................................................. 20
Deploy a Website ................................................................................................................. 20
Host a Website (Linux) .......................................................................................................... 20
Host a Website (Windows) ..................................................................................................... 20
Run a Database .................................................................................................................. 21
Analyze Your Data ................................................................................................................ 21
Related Resources ...................................................................................................................... 22
iii
Pricing
AWS can offer significant 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.
AWS Overview
AWS offers 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
Regions and Availability Zones (p. 3)
Security (p. 4)
AWS Product Categories (p. 4)
Region Code
ap-northeast-1
ap-southeast-1
ap-southeast-2
Name
Region Code
EU (Frankfurt)
eu-central-1
EU (Ireland)
eu-west-1
sa-east-1
us-east-1
us-west-1
US West (Oregon)
us-west-2
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 fine-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 configure the operating system on your virtual server.
You can set up a security group, which acts as a virtual firewall to control the inbound and outbound
traffic 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.
For more information, see the following resources:
AWS Security Center
AWS Overview of Security Processes
AWS Security Best Practices
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:
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 configuration
as a new AMI, which you can then use to launch new instances whenever you need them.
Security Groups
A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. 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 traffic that's allowed, and a separate set of rules that control
the outbound traffic. All other traffic is discarded. You can modify the rules for a security group at any
time and the new rules are automatically enforced.
Load Balancer
A load balancer distributes traffic 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 traffic 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 traffic 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 fleet 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 traffic 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 Route 53 provides
secure and reliable routing of your domain name to your infrastructure hosted on AWS.
Documentation
For more information, see the following documentation:
Amazon EC2
Auto Scaling
Elastic Load Balancing
Amazon VPC
Amazon Route 53
Key Concepts
The following are concepts that you should understand before using the storage and content delivery
services.
buckets. You can control who has permissions for each bucket. A bucket can contain any number of
objects of any type, such as HTML pages, source code files, image files, and encrypted data. The name
of each bucket must be globally unique.
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
The protocol is either http or https.
domain
The domain is s3.amazonaws.com for buckets created in US Standard or
s3-region_code.amazonaws.com for buckets created in a region.
bucket_name
The name of the bucket.
object_key
The full key name for the object.
For example, https://s3.amazonaws.com/mysite/html/default.html (US Standard) or
https://s3-us-west-2.amazonaws.com/my-bucket/image.png (US West (Oregon)).
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
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.
10
Usage Scenarios
The following table summarizes the common usage scenarios for the AWS storage options. For more
information, see AWS Storage Options.
Storage Option
Usage
Amazon S3
Amazon EBS
Amazon CloudFront
11
Storage Option
Usage
AWS Import/Export
Amazon Glacier
Documentation
For more information, see the following documentation:
Amazon S3
Amazon CloudFront
Amazon EBS
Amazon Glacier
AWS Import/Export
AWS Storage Gateway
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 files (audio, video, and image), consider
storing the files in Amazon Simple Storage Service (Amazon S3) and storing the metadata for the files
in your database.
12
NoSQL Database
A NoSQL database offers schema flexibility (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 files (audio, video, and image), consider storing the files in Amazon S3 and storing the
metadata for the files 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 firewall 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 different 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
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 different 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.
Database Option
Usage
Amazon RDS
13
Database Option
Usage
Amazon Redshift
Amazon DynamoDB
Amazon ElastiCache
Documentation
For more information, see the following documentation:
Amazon RDS
Amazon DynamoDB
Amazon ElastiCache
Amazon Redshift
Overview
Amazon Elastic MapReduce (Amazon EMR) uses Hadoop, an open source framework, to manage and
process data. Hadoop uses the MapReduce engine to distribute processing using a cluster.
14
Amazon EMR makes it easier to install, configure, 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 defines 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.
Documentation
For more information, see the following documentation:
Amazon EMR
Amazon Kinesis
AWS Data Pipeline
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.
Notifications
A notification 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.
Amazon Simple Notification Service (Amazon SNS) coordinates and manages the delivery of messages
to recipients. A publisher produces messages and sends them to a topic, which defines the message
protocol (such as email, SMS, or Amazon SQS) and the recipient list. A consumer subscribes to the topic
15
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 notifications.
Workflows
A workflow engine coordinates work across distributed components. A workflow is a set of activities
together with the logic that coordinates the activities. Amazon Simple Workflow Service (Amazon SWF)
serves as a central hub for the workflow and also maintains the state of each workflow 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 workflow.
Email
Amazon Simple Email Service (Amazon SES) provides an easy and cost-effective 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 defines 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 specified 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
simplifies common transcoding tasks. You create a job, which defines the transcoding operation for a
specific 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 SQS
Amazon SWF
16
Key Concepts
The following are concepts that you should understand before using the deployment services.
Documentation
For more information, see the following documentation:
Elastic Beanstalk
17
AWS CloudFormation
AWS CodeDeploy
AWS OpsWorks
Key Concepts
The following are concepts that you should understand before using the management 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.
CloudWatch Metrics
CloudWatch monitors your AWS resources and provides you with data known as metrics. You can also
configure CloudWatch to send alerts. For example, you can receive an email when your AWS bill reaches
a certain amount, or configure 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 files to
Amazon S3 so that you can get a history of the calls. The logs contain the identify the users and accounts
that made the calls, the source IP addresses the calls were made from, and when the calls occurred.
Documentation
For more information, see the following documentation:
AWS Identity and Access Management
AWS CloudTrail
Amazon CloudWatch
AWS Directory Service
18
AWS Tutorials
The following tutorials are designed to get you started creating and using resources on AWS.
Tutorials
Run a Virtual Server (p. 19)
Store Files (p. 19)
Share Digital Media (p. 20)
Deploy a Website (p. 20)
Host a Website (Linux) (p. 20)
Host a Website (Windows) (p. 20)
Run a Database (p. 21)
Analyze Your Data (p. 21)
For video tutorials, see Getting Started with AWS.
Tutorial
Store Files
You can use AWS to store files that you'll access or share on a regular basis, or files that you need to
archive and access infrequently.
For more information, see Backup and Recovery.
19
Task
Tutorial
Use Amazon S3 to store data and retrieve it quickly Getting Started with Amazon Simple Storage 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. For more information, see Deployment and Management on AWS.
Task
Tutorial
Tutorial
Tutorial
Host a .NET app using scaling and load balancing Getting Started with AWS: Hosting a .NET Web
App
20
Run a Database
You can use AWS to run your database. For more information, see Running Databases on AWS.
Task
Tutorial
Getting Started
Tutorial
Use Hive with Amazon EMR to query Apache web Tutorial: Web Server Log Analysis
server logs
Use Hadoop with Amazon EMR to evaluate Twitter Tutorial: Sentiment Analysis
data
Automate moving and processing data using AWS Processing Access Logs
Data Pipeline
21
Related Resources
The following table lists some of the AWS resources that you'll find useful as you work with AWS.
Resource
Description
AWS Documentation
Official documentation for each AWS product, including service introductions, service features, and API reference.
Contact Us
The hub for creating and managing your AWS Support cases.
Also includes links to other helpful resources, such as forums,
technical FAQs, service health status, and AWS Trusted Advisor.
AWS Support
The home page for AWS Support, a one-on-one, fast-response support channel to help you build and run applications
in the cloud.
Provides access to information, tools, and resources to compare the costs of Amazon Web Services with IT infrastructure
alternatives.
Provides technical whitepapers that cover topics such as architecture, security, and economics. These whitepapers have
been written by the Amazon team, customers, and solution
providers.
22
Resource
Description
AWS Blogs
AWS Podcast
23