Uploaded by giorgos32

aws fundamentals student material

advertisement
ut
e
ib
tr
is
D
or
STUDENT MANUAL
D
o
N
ot
D
up
lic
at
e
AWS™
Fundamentals
o
D
N
ot
D
at
e
up
lic
or
tr
is
D
ib
AWS™
Fundamentals
ut
e
ut
e
AWS™ Fundamentals
Part Number: 093025
Course Edition: 1.0
ib
Acknowledgements
tr
PROJECT TEAM
Media Designer
Content Editor
Chrys Thorsen
Brian Sullivan
Michelle Farney
D
is
Author
Notices
or
DISCLAIMER
up
lic
at
e
While Logical Operations, Inc. takes care to ensure the accuracy and quality of these materials, we cannot guarantee their
accuracy, and all materials are provided without any warranty whatsoever, including, but not limited to, the implied warranties of
merchantability or fitness for a particular purpose. The name used in the data files for this course is that of a fictitious company. Any
resemblance to current or future companies is purely coincidental. We do not believe we have used anyone's name in creating this
course, but if we have, please notify us and we will change the name in the next revision of the course. Logical Operations is an
independent provider of integrated training solutions for individuals, businesses, educational institutions, and government agencies.
The use of screenshots, photographs of another entity's products, or another entity's product name or service in this book is for
editorial purposes only. No such use should be construed to imply sponsorship or endorsement of the book by nor any affiliation of
such entity with Logical Operations. This courseware may contain links to sites on the Internet that are owned and operated by third
parties (the "External Sites"). Logical Operations is not responsible for the availability of, or the content located on or through, any
External Site. Please contact Logical Operations if you have any concerns regarding such links or External Sites.
TRADEMARK NOTICES
Logical Operations and the Logical Operations logo are trademarks of Logical Operations, Inc. and its affiliates.
D
Amazon Web Services™ and AWS™ are trademarks of Amazon.com, Inc. in the U.S. and other countries. The other Amazon
products and services discussed or described may be trademarks or registered trademarks of Amazon.com, Inc. All other product
and service names used may be common law or registered trademarks of their respective proprietors.
N
ot
Copyright © 2016 Logical Operations, Inc. All rights reserved. Screenshots used for illustrative purposes are the property of the
software proprietor. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording, storage in an information retrieval system, or otherwise, without
express written permission of Logical Operations, 3535 Winton Place, Rochester, NY 14623, 1-800-456-4677 in the United States
and Canada, 1-585-350-7000 in all other countries. Logical Operations’ World Wide Web site is located at
www.logicaloperations.com.
D
o
This book conveys no rights in the software or other products about which it was written; all use or licensing of such software or
other products is the responsibility of the user according to terms and conditions of the owner. Do not make illegal copies of books
or software. If you believe that this book, related materials, or any other Logical Operations materials are being reproduced or
transmitted without permission, please call 1-800-456-4677 in the United States and Canada, 1-585-350-7000 in all other countries.
ut
e
tr
ib
AWS™ Fundamentals
is
Lesson 1: Getting Started with AWS.................................1
Topic A: AWS.................................................................................. 2
D
Topic B: Leverage AWS in Your Business Strategy..........................14
or
Topic C: Work with the AWS Management Console....................... 19
at
e
Lesson 2: Implementing AWS Storage and Database
Services................................................................. 31
Topic A: Configure AWS Storage .................................................. 32
up
lic
Topic B: Deploy Amazon Database Services ................................. 43
Lesson 3: Implementing Compute and Network
Services................................................................. 57
D
Topic A: Implement Elastic Cloud Compute Services..................... 58
N
ot
Topic B: Implement Virtual Networks............................................ 71
D
o
Lesson 4: Using AWS Management Tools...................... 77
Topic A: Automate AWS Resource Provisioning............................. 78
Topic B: Manage AWS Resources...................................................83
Lesson 5: Securing an AWS Deployment........................ 93
Topic A: Enforce AWS Security ..................................................... 94
| AWS™ Fundamentals |
Topic B: Optimize AWS Security............................................................ 100
Solutions............................................................................................ 115
Glossary............................................................................................. 119
Index.................................................................................................. 123
ib
ut
e
About This Course
is
tr
Welcome to the AWS™ Fundamentals course! Congratulations on choosing the finest
materials available on the market today for expert-facilitated learning in any presentation
modality.
D
Course Description
up
lic
at
e
or
Target Student
The AWS™ Fundamentals course is designed for technology enthusiasts who are working in
IT (as an administrator, software developer, or manager), or any other interested individual
who would like to learn about the core cloud services provided by AWS, such as:
• Information Technology practitioners and leaders who are new to AWS and who will be
supporting or implementing AWS in their organizations.
• Business and technology leaders responsible for articulating the technical and business
benefits of using AWS.
• Administrators and developers who are evaluating the use of AWS services.
D
o
N
ot
D
Course Prerequisites
You should have the following prerequisite skills before taking this class:
• Be able to navigate Windows.
• Be able to use a web browser.
• Experience logging on to, navigating, and searching a website.
• Basic end-user skills with personal productivity software such as Microsoft® Office or
Google Apps™.
• Familiarity with networking concepts such as server, database, storage, IP subnet, load
balancing, authentication, authorization.
• Some experience as an IT practitioner, manager, or leader may be helpful.
Course Objectives
By the end of this course, you will be able to:
• Reach customers with AWS.
• Implement AWS storage and database services.
• Optimize compute and network services.
• Use AWS management tools.
• Secure an AWS deployment.
| AWS™ Fundamentals |
The CHOICE Home Screen
up
lic
at
e
or
D
is
tr
ib
ut
e
Logon and access information for your CHOICE environment will be provided with your class
experience. The CHOICE platform is your entry point to the CHOICE learning experience, of
which this course manual is only one part.
On the CHOICE Home screen, you can access the CHOICE Course screens for your specific
courses. Visit the CHOICE Course screen both during and after class to make use of the world of
support and instructional resources that make up the CHOICE experience.
Each CHOICE Course screen will give you access to the following resources:
• Classroom: A link to your training provider's classroom environment.
• eBook: An interactive electronic version of the printed book for your course.
• Files: Any course files available to download.
• Checklists: Step-by-step procedures and general guidelines you can use as a reference during
and after class.
• Spotlights: Brief animated videos that enhance and extend the classroom learning experience.
• Assessment: A course assessment for your self-assessment of the course content.
• Social media resources that enable you to collaborate with others in the learning community
using professional communications sites such as LinkedIn or microblogging tools such as
Twitter.
Depending on the nature of your course and the components chosen by your learning provider, the
CHOICE Course screen may also include access to elements such as:
• LogicalLABS, a virtual technical environment for your course.
• Various partner resources related to the courseware.
• Related certifications or credentials.
• A link to your training provider's website.
• Notices from the CHOICE administrator.
• Newsletters and other communications from your learning provider.
• Mentoring services.
Visit your CHOICE Home screen often to connect, communicate, and extend your learning
experience!
How to Use This Book
D
o
N
ot
D
As You Learn
This book is divided into lessons and topics, covering a subject or a set of related subjects. In most
cases, lessons are arranged in order of increasing proficiency.
The results-oriented topics include relevant and supporting information you need to master the
content. Each topic has various types of activities designed to enable you to solidify your
understanding of the informational material presented in the course. Information is provided for
reference and reflection to facilitate understanding and practice.
Data files for various activities as well as other supporting files for the course are available by
download from the CHOICE Course screen. In addition to sample data for the course exercises, the
course files may contain media components to enhance your learning and additional reference
materials for use both during and after the course.
Checklists of procedures and guidelines can be used during class and as after-class references when
you're back on the job and need to refresh your understanding.
At the back of the book, you will find a glossary of the definitions of the terms and concepts used
throughout the course. You will also find an index to assist in locating information within the
instructional components of the book.
| About This Course |
| AWS™ Fundamentals |
As You Review
Any method of instruction is only as effective as the time and effort you, the student, are willing to
invest in it. In addition, some of the information that you learn in class may not be important to you
immediately, but it may become important later. For this reason, we encourage you to spend some
time reviewing the content of the course after your time in the classroom.
Description
tr
Icon
ib
Course Icons
Watch throughout the material for the following visual cues.
ut
e
As a Reference
The organization and layout of this book make it an easy-to-use resource for future reference.
Taking advantage of the glossary, index, and table of contents, you can use this book as a first
source of definitions, background information, and summaries.
is
A Note provides additional information, guidance, or hints about a topic or task.
D
A Caution note makes you aware of places where you need to be particularly careful
with your actions, settings, or decisions so that you can be sure to get the desired
results of an activity or task.
or
Spotlight notes show you where an associated Spotlight is particularly relevant to
the content. Access Spotlights from your CHOICE Course screen.
at
e
Checklists provide job aids you can use after class as a reference to perform skills
back on the job. Access checklists from your CHOICE Course screen.
D
o
N
ot
D
up
lic
Social notes remind you to check your CHOICE Course screen for opportunities to
interact with the CHOICE community using social media.
| About This Course |
ut
e
Lesson Time: 1 hour, 45 minutes
tr
ib
1
Getting Started with AWS
is
Lesson Objectives
D
In this lesson, you will:
• You will describe the AWS global infrastructure.
or
• You will leverage AWS benefits in your business strategy.
• You will work with the AWS Management Console.
at
e
Lesson Introduction
D
o
N
ot
D
up
lic
AWS™ provides a rich and vast array of cloud services. So much so that it's easy to become
bewildered when first starting out. For this reason, it is important to first understand what
AWS is, how its services are organized, and how it can help your organization achieve its
goals.
2 | AWS™ Fundamentals
TOPIC A
AWS
ut
e
In order to get started with AWS, you must first have a larger understanding of what cloud services
are, the various service types that exist, and how AWS fits into the world of cloud computing.
Web Service Hosting Types
up
lic
at
e
or
D
is
tr
ib
In the early 1990's, if a company wanted a website they had to purchase their own server and set it
up on their own network. They needed to provide all of their own expertise in developing the
website and managing the network and server infrastructure that the website ran on.
By the mid 90's, third party companies started offering to host websites on their servers, relieving
customers of the need to purchase and manage their own equipment. Hosting was shared, meaning
that multiple customer websites ran on the same physical server. These services were managed. The
provider did all the work, while the customer did not need much technical expertise. They uploaded
their web content onto the provider's server, without worrying about configuring or managing the
hardware.
As the need for more reliability and scalability grew, additional types of web hosting emerged to
address these needs. These hosting types included dedicated, Virtual Private Server (VPS) , and grid.
You could also choose to have the provider do all the work (managed services) or you be in
complete control (dedicated, colocated).
By 2009, cloud services were starting to replace traditional hosting as customer needs evolved and
became more sophisticated. Traditional web hosting still exists and is still an excellent choice for a
small organization with modest requirements and limited resources. With the cost savings associated
with virtual platforms today, most traditional hosting now is virtual. All cloud hosting is virtual.
The following table compares the different types of hosting solutions.
Solution
Technical
Knowledge
Required by
Customer
Pros and Cons
On premises
The customer owns, installs,
and manages its own
equipment.
Very high
• Customer has complete control over the
service and site
• The most expensive
• Requires the most expertise
• Sometimes still chosen for high security
environments
D
o
N
ot
D
Web Service Hosting
Types
Some students may not
be familiar hosting types
other than traditional
web hosting. As you go
over the differences in
the table in this section,
ask students if they have
ever used any of these
hosting types, and to
share their experience to
help compare and
contrast the different
style of offerings.
Point out to students that
many of today's hosting
providers have
combined solutions into
a single package to be
more competitive. For
example, you might
have VPS hosting that
offers scalability and
load balancing, or direct
hosting that is also
managed.
Lesson 1: Getting Started with AWS | Topic A
AWS™ Fundamentals | 3
•
•
•
•
• Customer does not have to purchase
equipment
• Typically unmanaged
• Customer has to pay for the server
whether it's fully utilized or not
• Customer is completely responsible for
setting up, configuring, and managing
the site
• Equipment is chosen by the provider,
usually with no service level agreement
(SLA)
• A sudden spike in traffic could crash the
server
or
D
Very high
Very high
• Unrestricted in nature
• Customer places anything they want in
the data center
• Customer saves on floor space, power,
and physical security
• Gives businesses ability to plan for
growth, and deploy mirroring, load
balancing, and other options that may
not be available from a dedicated
hosting solution
• Colocation provider does not provide
any service or support
D
o
N
ot
D
Colocation
Customer places their own
equipment into a provider's
data center.
up
lic
at
e
Dedicated Hosting
Customer leases the server
from the provider on a
monthly or yearly basis.
Equipment is typically located
at the provider's site. Most
commonly used for web
services.
Good entry level option
Easy to use and set up
Inexpensive
Provider does all the work
Customer has little flexibility and no
control
Meant for only smaller websites
Single server is a single point of failure
Heavy traffic or denial-of-service attack
on one website could take down all
websites
Classic example of a managed service
ut
e
•
•
•
•
•
ib
Shared Hosting
Very low
Multiple customers have their
websites on a single server,
sharing its CPU, RAM, disk
space, and network bandwidth.
Pros and Cons
tr
Technical
Knowledge
Required by
Customer
is
Solution
Lesson 1: Getting Started with AWS | Topic A
4 | AWS™ Fundamentals
Technical
Knowledge
Required by
Customer
Pros and Cons
Virtual Private Server (VPS)
Hosting
Provider isolates customer
website into its own virtual
machine. Also known as
dedicated virtualization or
private cloud.
Depends on the
service provided
• Customer can choose from a variety of
options
• You can stand up the server quickly
with a few mouse clicks
• Website gets more resources than a
shared environment
• Price is variable
• Less efficient than cloud computing
• Resources are dedicated to a virtual
machine, whether they are used or not
Grid Hosting
Several physical computers are
combined into one computing
grid. Different computers
execute different tasks.
Depends on the
service provided
• Allows the webmaster some level of
resource scaling
• Scaling does not go beyond the physical
capabilities of the servers involved
Cloud Computing
Takes virtualization to a whole
new level. Virtualizes all
services across many (even
thousands) of physical
computers.
Very high
is
D
• Robust, reliable
• Scales very well very quickly (depending
on the provider, the scaling can be
global)
• Has excellent performance and uptime
• Unless there are regional bandwidth or
cost restrictions, can be used for nearly
any computing solution
• Minimizes operational expenses
• Customers only pay for what they use
• Because of the high level of
virtualization, is the most cost effective
for the performance delivered
• Has a higher technical and managerial
learning curve
• Providers today, including AWS and
Google Cloud Services™, offer a
dizzying array of services and features
that may initially overwhelm the
customer
or
at
e
up
lic
D
N
ot
D
o
IaaS and Cloud
Computing
Remind students that
IaaS only provides the
infrastructure. It will be
up to the AWS customer
to design, develop, and
deploy their websites,
applications, databases,
and other services on
that infrastructure. Most
large companies employ
teams of software
developers to customize
their online services for
tr
ib
ut
e
Solution
IaaS and Cloud Computing
Cloud computing is a way of delivering IT resources on-demand, usually across the Internet.
Customers pay to use someone else's servers to accomplish computing tasks. The servers are
networked together in the provider's data center. The customer then makes a remote connection to
those servers, usually via a web browser across the Internet. Cloud computing is very popular
because a customer does not have to invest huge amounts of money in equipment, infrastructure,
and expertise to get world-class computing capabilities. Instead, the customer pays only for what is
used, when it is used, and no more.
Infrastructure-as-a-Service (IaaS) is one of three primary cloud computing services, along with Softwareas-a-Service (SaaS) and Platform-as-a-Service (PaaS). In IaaS, the provider offers servers, storage,
Lesson 1: Getting Started with AWS | Topic A
ib
hardware, networking, and other infrastructure components that a customer (usually a company)
would otherwise have to purchase and install on their own premises. The customer in turn builds
their website (or other service) on top of the IaaS service. The website then offers services to be
delivered to the end user. The end user could be employees or members within the customer's
organization, or the general public that the customer is trying to sell goods or services to.
To make the IaaS model viable, the services are virtualized, meaning they are actually applications
that run on the provider's physical hardware. Before virtualization, it was commonplace to find that
servers in a server room were very under-utilized. With virtualization, many customers share the
same hardware, thus making better use of the equipment. Customers are then only charged for the
amount of resources (CPU time, memory, disk space, bandwidth, etc.) that they actually use. The
provider maximizes their hardware investment by accommodating as many customers as their
servers can handle. The customer pays dramatically less for professionally-managed computing
power than if they installed and managed the equipment themselves.
ut
e
AWS™ Fundamentals | 5
is
tr
Note: While using a browser across the Internet is the most common way to manage your AWS
services, some companies also opt to pay for a virtual private network (VPN) connection
between their own premises and the AWS cloud.
D
AWS
AWS
Explain to students that
web-scale does not refer
to a specific technology,
but rather an approach
to creating and
delivering an
infrastructure that can
serve the diverse
requirements of
organizations of any size
and purpose.
D
o
N
ot
D
up
lic
at
e
or
Amazon Web Services is a collection of cloud-based services designed to give customers an instant,
pay-as-you-go infrastructure for developing their own web-based services. Some common uses for
AWS include:
• Host a website (static or dynamic).
• Store data (public or private).
• Provide Internet-based services to customers and employees.
• Provide online training or other meeting forums.
• Conduct scientific research.
• Collect and analyze business data.
Amazon had already built a very strong, resilient global infrastructure to deliver its own online retail
services. They knew from their own experience that building a traditional reliable, scalable data
center is extremely expensive, not only in price but also time and expertise. Since Amazon already
had a very reliable infrastructure of its own, they decided to replicate their own model and sell it to
the general public. As Jeff Bezos, founder of Amazon, once said in an interview: "...we wanted
[Amazon's] data-center guys to give the apps guys a set of dependable tools, a reliable infrastructure
that they could build products on top of. Then we realized, Whoa, everybody who wants to build
web-scale applications is going to need this. We figured with a little bit of extra work we could make
it available to everybody. We’re going to make it anyway—let’s sell it." (https://www.quora.com/
How-and-why-did-Amazon-get-into-the-cloud-computing-business)
Lesson 1: Getting Started with AWS | Topic A
6 | AWS™ Fundamentals
The AWS Utility Pricing Model
ut
e
The AWS Utility Pricing Model takes the concept of pay-as-you-go and applies it to software
licensing. The customer does not have to pay software licensing fees up front. Instead, licensing is
only paid for based on use, with no need to pay once you stop using the service. Currently Red
Hat®, Novell, IBM®, and a few other software companies permit this model on AWS. You can also
pay as you go if you select a pre-built Amazon Machine Image (AMI) with Windows Server® and
(optionally) Microsoft® SQL Server® pre-installed. Other Microsoft products, Adobe®, Oracle®,
and Sybase still require traditional licensing if you use their products in the AWS cloud.
Note: For more information on licensing, see https://aws.amazon.com/windows/
resources/licensing/.
ib
The AWS Utility Pricing
Model
Inform students that
more and more software
vendors are adopting the
pay-go pricing model
when their products are
used in AWS. Currently,
®
Microsoft offers pay-go
for some of its products,
®
such as Windows and
®
SQL Server , but not all.
Elastic Capacity in Cloud Computing
tr
Elastic capacity in cloud computing is a design architecture that allows the amount of resources
allocated to your cloud service to be quickly and easily scaled up or down. It is the basic principle
behind all AWS services. The scaling can be configured to happen automatically, or if manually
configured, in a matter of minutes. It means that if your website suddenly becomes very popular, it
can seamlessly handle the spike in demand. Once the traffic returns to more normal levels, the
amount of allocated resources are also trimmed to only provide what's needed. The benefit is that
your organization can handle any sudden increase in online traffic, paying for the extra only as it is
needed. When it is no longer needed, you no longer use it and you no longer pay for it.
or
D
is
Elastic Capacity in Cloud
Computing
up
lic
The AWS Global Infrastructure is one of distributed, redundant data centers scattered through the
world. The infrastructure is based on the concept of an Availability Zone (AZ), which is a subdivision
of a geographical region. There are currently thirty-five Availability Zones divided among thirteen
regions, For fault tolerance, each region has at least two AZs, which are designed so that a failure in
one AZ does not affect the others. AWS is planning to deploy 9 more Availability Zones and five
more regions in 2016.
In addition, there are 55 edge locations distributed across most of the major cities around the world.
These edge locations serve your website's actual content to end users. They are geographically close
to the people they serve. This is particularly important if your website includes video content, or has
features that are time sensitive. When a user connects to your web service they use a URL, also
known as an endpoint, that points to a server that is geographically closest to them. Having the
content physically close to the end user reduces latency and improves the end user experience.
When setting up your AWS services, you choose which regions and Availability Zones you would
like your data to be hosted in. AWS AZs are connected to each other via fast, private fiber optic
networks. They continuously replicate with each other, providing automatic redundancy, fault
tolerance, and load balancing. In addition to replicating between AZs in the same region, you can
also replicate between regions. Choosing AZs near your end users not only provides for a faster and
better experience for your customers, but it also allows you to comply with regional legal and data
residency requirements.
D
o
N
ot
D
The AWS Global
Infrastructure
Inform students that they
will need to know their
region, region code, and
Availability Zone as they
perform the activities.
Advise them to always
select the same region
and Availability Zone in
the activities throughout
this course.
at
e
The AWS Global Infrastructure
Lesson 1: Getting Started with AWS | Topic A
Figure 1-1: AWS Global Infrastructure.
at
e
or
D
is
tr
ib
ut
e
AWS™ Fundamentals | 7
up
lic
Note: For a visual map of regions, AZs, endpoints, and other AWS service locations, see
https://www.google.com/maps/d/u/0/viewer?
mid=1m6v8XPxwp0Dx4THiakRKFkZwIGE&hl=en_US.
D
Note: For more information on regions, AZs, and endpoints, see the article "Amazon Elastic
Compute Cloud" at http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/usingregions-availability-zones.html.
Region
N
ot
Regions and AZs
AWS frequently updates regions and AZs. The following table lists both current and planned AWS
Regions and Availability Zones.
Region Code
Availability Zones
us-east-1
us-east-1a, us-east-1c, us-east-1d, useast-1e
us-west-2
us-west-2a, us-west-2b, us-west-2c
US West (N. California)
us-west-1
us-west-1a, us-west-1b, us-west-1c
EU (Ireland)
eu-west-1
eu-west-1a, eu-west-1b, eu-west-1c
EU (Frankfurt)
eu-central-1
eu-central-1a, eu-central-1b
Asia Pacific (Singapore)
ap-southeast-1
ap-southeast-1a, ap-southeast-1b
o
US East (N. Virginia)
D
US West (Oregon)
Lesson 1: Getting Started with AWS | Topic A
8 | AWS™ Fundamentals
Region Code
Availability Zones
Asia Pacific (Tokyo)
ap-northeast-1
ap-northeast-1a, ap-northeast-1b, apnortheast-1c
Asia Pacific (Sydney)
ap-southeast-2
ap-southeast-2a, ap-southeast-2b, apsoutheast-2c
Asia Pacific (Seoul)
ap-northeast-2
ap-northeast-2a, ap-northeast-2b, apnortheast-2c
Asia Pacific (Mumbai)
ap-south-1
ap-south-1a, ap-south-1b
South America (São Paulo)
sa-east-1
sa-east-1a, sa-east-1b, sa-east-1c
AWS GovCloud (US)
us-gov-west-1
us-gov-west-1a, us-gov-west-1b
China (Beijing)
-
-
Montreal (coming soon)
-
unknown
Ohio (coming soon)
-
unknown
Ningxia (coming soon)
-
unknown
UK (coming soon)
-
India (coming soon)
-
D
is
tr
ib
ut
e
Region
or
unknown
unknown
up
lic
Amazon's Core Infrastructure Services are organized into four major categories:
• Compute
• Storage & Content Delivery
• Database
• Networking
Each category has its own set of services, as shown in the following table.
Service Name
Amazon EC2™
Virtual servers in the Cloud
Amazon EC2 Container Registry
Containers to store and retrieve Docker images for
automating application deployments
N
ot
o
D
Description
COMPUTE
D
AWS Core Infrastructure
Services
Explain to students that
the Core services
comprise less than half
of all AWS offerings.
Additionally, not all of
these technologies will
be covered in this
course. Many are out-ofscope for a foundations
course.
at
e
AWS Core Infrastructure Services
Amazon EC2 Container Service
Docker container management
AWS Elastic Beanstalk
One-click web app deployment
AWS Lambda
Event-driven code execution
Auto Scaling
Automatic elasticity
Elastic Load Balancing
High scale load balancing
STORAGE & CONTENT
DELIVERY
Amazon S3
Scalable object storage in the Cloud
Amazon EBS
EC2 block storage volumes
Lesson 1: Getting Started with AWS | Topic A
AWS™ Fundamentals | 9
Service Name
Description
AWS Import/Export Snowball
Large scale data transport
AWS Storage Gateway
Hybrid storage integration
Amazon CloudFront™
Global content delivery network
Managed relational database service
AWS Database Migration Service
Database migration with minimal downtime
Amazon DynamoDB™
Managed NoSQL database
Amazon ElastiCache™
In-memory caching service
Amazon Redshift™
Cost-effective and simple data warehousing
Isolated virtual private clouds
AWS Direct Connect
Dedicated network connection to AWS
Elastic Load Balancing
High scale load balancing
Amazon Route 53™
Scalable Domain Name System
or
D
Amazon VPC™
is
tr
NETWORKING
ib
Amazon RDS
ut
e
DATABASE
Note: You will learn about many of these services throughout this course.
up
lic
at
e
Note: A Docker image is a new way of bundling a Linux® application together with all of its
dependencies into a single container. Docker images are much lighter weight and more portable
than virtual machines, allowing more applications to run on the same server hardware.
AWS Security Features
AWS provides a number of security features to help keep your network operational and your data
safe. The following table summarizes the security features available in the AWS cloud.
Security Feature
Description
Isolate your virtual networks and servers from the rest of the
cloud.
D
Virtual Private Clouds (VPCs)
Filter unwanted client connections and malicious web traffic.
Infrastructure Security
Apply firewall rules, data in transit encryption, and private
dedicated connectivity
Distributed Denial-of-Service
(DDoS) Mitigation
Deploy redundant content delivery and DNS lookups
o
N
ot
Traffic Filtering
D
Encryption
AWS Security Features
Inform students that they
will study AWS security
in greater detail in
Lesson 5.
Encrypt both data at rest (stored) and data in transit
(transmitted) with public key cryptography.
Inventory and Configuration
Management
Determine asset vulnerability, use change management tools
to adhere to your organization's standards.
Logging and Monitoring
Obtain deep visibility into API calls, log aggregation,
compliance reporting, alert thresholds and notifications.
Lesson 1: Getting Started with AWS | Topic A
10 | AWS™ Fundamentals
Description
Identity and Access Control
Implement directory services, multi-factor authentication,
individual account permissions and authorization.
Penetration Testing Policies
Use policies to distinguish legitimate customer vulnerability
testing from unwanted malicious hacking.
Security Assessment Tools
Make security recommendations and analyze application
security.
ut
e
Security Feature
Shared Security Model
ib
AWS insists on a shared security model, in which AWS is responsible for the security of its
infrastructure services, while the customer is responsible for the security of anything they build on
top of that infrastructure. The following diagram shows this division of responsibility.
up
lic
at
e
or
D
is
tr
Shared Security Model
D
Figure 1-2: AWS Shared Security Model.
N
ot
Guidelines for Selecting AWS Infrastructure Components
D
o
Guidelines for Selecting
AWS Infrastructure
Components
Note: All of the Guidelines for this lesson are available as checklists from the Checklist tile on
the CHOICE Course screen.
Here are some guidelines you can use for selecting AWS infrastructure components:
• Whenever possible, choose products that use the AWS Utility Pricing Model to reduce up-front
licensing costs.
• Design your application to take advantage of AWS elastic capacity.
• Identify where your end users will be geographically, and select Availability Zones, regions, and
endpoints closest to them to provide the best performance and end user experience.
• Also consider legal and business requirements when choosing AZs, regions, and endpoints.
• Whenever designing or deploying AWS services, take advantage of that service's embedded
security features.
Lesson 1: Getting Started with AWS | Topic A
AWS™ Fundamentals | 11
• Keep in mind that, as an AWS customer, you are responsible for the security of everything you
build in the AWS cloud. AWS is only responsible for the security of its infrastructure.
Lesson 1: Getting Started with AWS | Topic A
12 | AWS™ Fundamentals
ACTIVITY 1-1
Introducing That's Cheezy Cheese Emporium
ut
e
Data File
C:\093025Data\Getting Started with AWS\Introducing That's Cheezy Cheese Emporium.docx
is
D
1. Read the scenario in C:\093025Data\Getting Started with AWS\Introducing That's Cheezy Cheese
Emporium.docx.
As a consultant for That's Cheezy Cheese Emporium, what challenges to you foresee in helping That's
Cheezy understand the world of AWS cloud services?
at
e
or
A: Answers will vary. AWS will likely introduce new concepts to the company and its management.
You may need to help the company understand terminology and concepts before they can make
any informed decisions. You might also face opposition by those who see no value in changing
their operational model.
2. How do you think the AWS Global Infrastructure can assist a company like That's Cheezy Cheese
Emporium?
D
up
lic
A: Answers will vary. Since AWS has a global infrastructure, it is well positioned to provide service to
a company that is trying to expand into a global market. In addition, its global network of
Availability Zones will make it easier for That's Cheezy to build in redundancy and fault tolerance.
D
o
N
ot
Introducing That's
Cheezy Cheese
Emporium
That's Cheezy Business
and Technical Goals
This case study
introduces That's
Cheezy Cheese
Emporium, a fictitious
business that is moving
towards AWS cloud
services. It outlines the
immediate business
needs that the company
wants AWS to address,
as well as sets the
scope for activities
throughout this course.
Allow the students a few
minutes to absorb the
scenario, and then lead
the group in answering
the questions.
Ask the class if they
think using cloud
services must always
involve hosting a
website. This question
will be answered in the
next topic, "Leverage
AWS in Your Business
Strategy."
tr
ib
Scenario
That's Cheezy Cheese Emporium sells gourmet cheeses and other specialty food items. The
company is interested in AWS cloud services. You have been brought on board to assist the
company in exploring their AWS options.
Lesson 1: Getting Started with AWS | Topic A
AWS™ Fundamentals | 13
ACTIVITY 1-2
tr
ib
Scenario
Not all of the managing directors at That's Cheezy Cheese Emporium are on board with the idea of
using cloud services. They are wondering why the current website hosting provider can't supply the
necessary facilities that the sales, marketing, and IT teams need. Some are also asking if That's
Cheezy should host its own servers, or even colocate them to a data center. The CEO has asked you
to help the group understand the pros and cons of using different hosting solutions, including cloud
services.
ut
e
Selecting Appropriate Infrastructure Options
D
is
Note: In this activity, you will consider That's Cheezy's scenario and discuss possible hosting
options for the company. If you have any real-world experience with the various solutions, you
are encouraged to share your experience with the rest of the group.
or
1. Consider That's Cheezy's business scenario in light of what you have just learned, and answer the
following questions.
With regard to That's Cheezy's need to support growth trends and new marketing initiatives, which
online solution or solutions would be a good fit for their new requirements?
Lead the group in an
open discussion to
consider possible
hosting solutions for
That's Cheezy. If any of
the students have realworld experience with
the various options,
encourage them to
share it with the group.
up
lic
at
e
A: Answers will vary. The company's current website hosting provider hosts websites but does not
offer the other services that the company desires. Any solution chosen must be one that scales.
Cloud computing, grid computing, and colocation all support scalability to some level or another.
However, the desire to extend into a global market requires a service provider that can scale
globally. In this case, cloud computing is the best choice.
Selecting Appropriate
Infrastructure Options
2. How can AWS help That's Cheezy achieve its business objectives?
A: Answers will vary. First of all, it provides all of the services that the company desires. Its regions
and Availability Zones make it easy to scale and provide service to any part of the globe. It is also
convenient and economical to use.
D
3. If That's Cheezy chooses AWS cloud computing, what are some of the biggest challenges they will
face?
D
o
N
ot
A: Answers will vary. AWS provides only the infrastructure. That's Cheezy's IT department will have
to know how to build its online services on top of that infrastructure. It will need to be able to
choose the right services for its needs, build those applications, and secure the servers,
networking components, applications, and data.
Lesson 1: Getting Started with AWS | Topic A
14 | AWS™ Fundamentals
TOPIC B
Leverage AWS in Your Business Strategy
ut
e
Now that you have seen the AWS global infrastructure, it is time to explore how AWS can benefit
your organization.
AWS Cloud Benefits
The real benefit of using the AWS cloud is that you can stand up a high-performing global
infrastructure in a matter of minutes with little to no startup money. You can also have that
infrastructure respond quickly and dynamically to increased or decreased capacity needs. All of the
complexity, up-front cost, and required expertise has been taken care of for you. You pay for what
you use and no more. AWS claims that your total cost of ownership will be less than 30% (and in
some cases below 10%) of what you would otherwise spend to set up your own equipment. The
speed and convenience means your own project will have reduced time to market.
AWS lists the following benefits for using their cloud services:
• High reliability
• Quick scalability
• Excellent performance
• Cost effectiveness
• Pervasive security
• Convenience
• Flexibility
• Ease-of-use
Although one might think that the AWS IaaS is only useful for large companies, small organizations
can also really benefit from the convenience, redundancy, and security best practices built into the
AWS cloud. Your cloud-based applications do not have to be only for the general public. They can
also be for internal use. The only issue that might interfere with choosing a cloud platform for
internal operations is that to use it, one has to have good, consistent Internet connectivity with
sufficient bandwidth. While that is not an issue in most cases, there are still places in the world
where bandwidth costs are too prohibitive to move a company's internal operations to the cloud.
up
lic
at
e
or
D
is
tr
ib
AWS Cloud Benefits
AWS has a very diverse range of customers, from start-ups to global enterprises, government
departments to scientific research firms, retailers to schools. AWS need not be limited to ecommerce applications. Remember that it is an infrastructure that can house and deliver practically
any software or application. Its high-power, highly resilient, quickly scalable capabilities make it
suitable for any number of uses. You could use the AWS platform for nearly any purpose that
requires scalable, distributed, high-power computing. Possibilities include:
• An election campaign committee collecting, tracking, and analyzing voter registration, polling,
and donation data.
• A global company deploying an internal application to its business units around the world.
• A scientific research firm using massive computing power to perform large-scale simulations or
data analysis.
• An e-commerce website that must be able to respond immediately to sudden increased traffic.
• A news or entertainment organization delivering video and other multimedia content to end
users.
D
o
N
ot
Assure students that,
while the sheer scope of
AWS services can seem
overwhelming at first,
they have evolved to
provide for the needs of
practically any type of
organization. A quick
look at the AWS
customer case studies
will give an idea of how
others have used AWS.
D
AWS Platform Uses
Lesson 1: Getting Started with AWS | Topic B
AWS™ Fundamentals | 15
• A utilities company tracking substation and device status, customer power usage, outages, and
trends.
• A software company providing high-speed downloads to its customers.
• A university providing online classes.
• A large non-profit coordinating thousands of volunteers and outreach programs.
• A municipality or local government department offering many of its traditional walk-in services
online.
ib
AWS Strategy and Business Goals Alignment
ut
e
Note: AWS has published case studies of hundreds of its customers. You can scan these case
studies to get a sense of the diversity of purpose that others have used AWS for. For more
information see https://aws.amazon.com/solutions/case-studies/.
AWS Strategy and
Business Goals
Alignment
or
D
is
tr
Amazon has the following key recommendations for aligning your AWS IT strategy with business
goals:
• Make your AWS IT strategy a part of the overall business strategy, and not a separate strategy by
itself.
• Have a plan to identify both cost and value when making needed changes.
• As you move to the cloud, consider the impact to all aspects of the business and IT.
• Make adjustments as you go and stay flexible.
AWS CAF
up
lic
at
e
The AWS Cloud Adoption Framework (CAF) is a tool you can use to help align your AWS IT
strategy with your business strategy. It contains guidance that helps all aspects of your business
adapt its existing practices, as well as introduce any new practices necessary to move to a cloudbased environment. CAF guidance is organized into seven areas of focus, called perspectives. The
following table summarizes each perspective and its role in moving your organization to the cloud.
Description
Business Perspective
Align technical delivery to business strategic goals. Identify and
measure business impact.
Platform Perspective
Make optimal use of technology for implementation.
People Perspective
Identify and acquire technical skills needed to adopt AWS cloud.
Manage programs and projects to deliver outcome on time and in
budget. Manage risk.
N
ot
Process Perspective
D
Perspective Name
AWS CAF
Inform students that the
CAF will be especially
interesting to managers
and those who must
consider AWS from a
business perspective.
Optimize management of the AWS environment.
Security Perspective
Determine and implement risk management, governance, and any
required security mechanisms to achieve compliance.
Maturity Perspective
Define desired state of the overall system including all processes, and
create roadmaps for achieving that state.
D
o
Operations Perspective
Note: For more information on the CAF, see the whitepaper "An Overview of the Cloud
Adoption Framework" at https://d0.awsstatic.com/whitepapers/
aws_cloud_adoption_framework.pdf.
Lesson 1: Getting Started with AWS | Topic B
16 | AWS™ Fundamentals
AWS Marketplace
ut
e
AWS Marketplace™ is a place to shop for thousands of third-party products and services as you
build your cloud-based presence. It is for organizations that do not have the desire or in-house
expertise to create what they need for their site. There are thousands of products and service
offerings available. The marketplace changes frequently as new offerings become available.
at
e
or
D
is
tr
ib
AWS Marketplace
Inform students that
AWS Marketplace is a
great place to go if your
organization does not
have the expertise to
build its own apps and
services. This is
especially useful for
small to medium sized
organizations.
Figure 1-3: The AWS Marketplace.
up
lic
Note: For more information, visit the site at https://aws.amazon.com/marketplace.
Free Tier Eligible
D
Many, but not all, AWS services permit you to test drive them for little or no money. There are,
however, limits to how long you can use something for free. Usually, when you exceed your
maximum free usage allotment, charges start to automatically accrue. If you are exploring AWS
services for the sake of learning, make sure that when you select and launch any service that it is
marked Free Tier Eligible. Be sure to delete anything you launch once you are through practicing
with it.
When you are through exploring and practicing, consider deleting your AWS account.
For more information on Free Tier Usage, see http://docs.amazonwebservices.com/
gettingstarted/latest/awsgsg-freetier/TestDriveFreeTier.html.
D
o
N
ot
Free Tier Eligible
Warn students that it is
very easy to accidentally
incur credit card charges
in AWS, even when just
exploring the features.
Encourage them to take
the time (after class is
over) to really study the
guidelines for using Free
Tier Eligible services.
Guidelines for
Leveraging AWS in Your
Business Strategy
Guidelines for Leveraging AWS in Your Business Strategy
Here are some guidelines you can follow when leveraging AWS in your business strategy:
• Keep in mind that even small organizations can benefit from the features, convenience, and
security provided by the AWS cloud.
• Peruse the case studies on the AWS website to get a better idea of how different organizations
have used AWS for their diverse needs.
Lesson 1: Getting Started with AWS | Topic B
AWS™ Fundamentals | 17
• As a manager, use the Cloud Adoption Framework (CAF) to help prepare your organization to
move its IT infrastructure to the cloud.
• Take advantage of third party solutions and services available at the AWS Marketplace.
Lesson 1: Getting Started with AWS | Topic B
18 | AWS™ Fundamentals
ACTIVITY 1-3
Leveraging AWS in Your Business Strategy
D
1. You instructor will divide you into small teams.
2. As a team go to the AWS Case Studies web page at https://aws.amazon.com/solutions/case-studies/all/
and select a case study. Choose a case study that is different from the other teams' choices. Announce
your choice to the rest of the class.
or
Leveraging AWS in Your
Business Strategy
After the teams present
their findings, lead the
class in answering the
question in Step 5.
is
tr
ib
ut
e
Scenario
As That's Cheezy Cheese Emporium considers moving to AWS, the managing directors would like
to see how other organizations have benefited from moving to the cloud. They have asked you to
walk them through some case studies, highlighting the challenges those businesses faced, and how
those challenges were resolved.
In this activity, you will divide into small teams. Each team will choose a different case study from
the AWS website. Spend about 10 minutes as a team examining the case study, looking for both
challenges and solutions that the business encountered when moving to the AWS cloud. Be
prepared to report your key findings to the rest of the class. You will then spend a few minutes
presenting your findings.
up
lic
4. When invited by the instructor, present your findings to the rest of the class.
5. What can That's Cheezy Cheese Emporium do if it does not have the managerial or technical expertise
necessary to take advantage of AWS?
D
A: Answers will vary. Management can follow the guidelines laid out in the AWS CAF. The IT
department can engage third-party services and products available at the AWS Marketplace. IT
can also learn how to use the various services by first deploying the Free Tier Eligible versions.
D
o
N
ot
Findings might include:
ability to deploy new
services or programs
that they previously
could not; ability to reach
a broader market;
reduced cost; improved
uptime/reliability; easier
management; ability to
consolidate servers or
services; ability to use
analytics or Big Data for
the first time; ability to
more easily track and
manage remote devices;
ability to more easily
monitor and manage
staff workflows.
at
e
3. Examine the case study and discuss your findings. Look for the challenges the business needed to
overcome, and how AWS solved those challenges. Prepare to share your key findings with the class.
Spend about 10 minutes on this step.
Lesson 1: Getting Started with AWS | Topic B
AWS™ Fundamentals | 19
TOPIC C
Work with the AWS Management Console
The AWS Management Console User Interface
The AWS Management
Console User Interface
Remind students that
the purpose of AWS is to
provide building blocks
for organizations and
developers to build their
own online services.
D
up
lic
at
e
or
D
is
tr
ib
The AWS Management Console user interface is a web page with links to tools. It has over fifty
tools organized into thirteen categories, depending on what you want to build. In addition, there are
links to create resource groups and tags, as well as additional resource links. It also has a Service Health
section that allows you to see at-a-glance if your services are operating normally.
After creating your AWS account, you can log into the Management Console using your Amazon
login credentials. In addition to using a browser, you can also download the AWS Console mobile
app from the Amazon Appstore, Google Play™, or iTunes®.
ut
e
Now that you understand the various AWS service offerings and how they can benefit your
organization, it is time to start using the AWS Management Console.
N
ot
Figure 1-4: Amazon Web Services Management Console.
AWS Management Console Tools
o
The following table summarizes the categories and tools you can find in the AWS Management
Console.
D
Note: You will use a number of these tools throughout this course.
Category
Tools
Description
Compute
EC2, EC2 Container Service,
Elastic Beanstalk, Lambda
Create and manage virtual servers
and web apps
Remind students that
AWS regularly updates
their offerings, and to
expect the console to
change periodically to
reflect new tools and
services.
Lesson 1: Getting Started with AWS | Topic C
20 | AWS™ Fundamentals
Tools
Storage and Content
Delivery
S3, CloudFront, Elastic File
Manage storage and deliver
System, Glacier, Snowball, Storage multimedia content to end users
Gateway
Database
RDS, DynamoDB, ElastiCache,
Redshift, DMS
Create, manage, and optimize
databases
Networking
VPC, Direct Connect, Route 53
Create and optimize virtual
networks, as well as connections to
AWS
Developer Tools
CodeCommit, CodeDeploy,
CodePipeline
Store code and automate code
deployment
Management Tools
CloudWatch, CloudFormation,
CloudTrail, Config, OpsWorks,
Service Catalog, Trusted Advisor
Monitor and manage resources,
track activity, optimize
performance and security
Security & Identity
Identity and Access Management,
Directory Services, Inspector,
WAF, Certificate Manager
Create and manage user accounts,
authentication and authorization,
analyze application security, and
filter malicious web traffic
Analytics
EMR, Data Pipeline, Elasticsearch Manage workflows, Big Data,
Service, Kinesis, Machine Learning streaming data, and build smart
applications
Internet of Things
AWS IoT
ib
tr
is
D
or
Create multiplayer games
Mobile Hub, Cognito, Device
Farm, Mobile Analytics, SNS
Develop mobile apps including
authentication, collect and analyze
mobile usage data
Application Services
API Gateway, AppStream, Cloud
Search, Elastic Transcoder, SES,
SQS, SWF
Create and deploy APIs, manage
application streaming, search,
media transcoding, email, message
queueing, and workflows
Enterprise Applications
WorkSpaces, WorkDocs,
WorkMail
Desktops in the cloud, enterprise
storage and sharing, email and
calendaring
up
lic
D
N
ot
o
D
Connect everyday devices to the
cloud
GameLift
Mobile Services
AWS New Console
Preview
At the time of writing this
course, the new preview
version of the AWS
Management Console
requires a $1.00 credit
card pre-authorization
for each new service you
wish to try out. The
existing (previous or
classic) console view
has no such
requirements. Explain to
students that, in order to
avoid excessive
charges, delays, or other
logistical issues, this
course will use the
at
e
Game Development
Description
ut
e
Category
AWS New Console Preview
AWS regularly updates its products and services to improve your experience. This includes updating
the Management Console from time to time as well. At the time of writing this course, AWS started
previewing a new layout for the Management Console. All of the same tools are available, only they
are organized a little differently with shortcuts and quick starts to make it easier to get started.
When you first sign up for AWS, this new preview is your default view. You can switch back to
classic view by selecting the You can switch back to the previous version anytime. link at the
bottom of the page. Once you have switched to the previous view, you cannot switch back to the
new view without creating a new account.
Lesson 1: Getting Started with AWS | Topic C
D
is
tr
ib
ut
e
AWS™ Fundamentals | 21
or
Figure 1-5: AWS new console preview.
AWS Command Line
up
lic
at
e
If you do not wish to use the graphical AWS Management Console to administer your cloud, you
can alternatively use the command line interface. This is particularly useful for those who wish to
include commands in scripts or code. You can use the tool manually by opening a Windows
command line, and then entering the command aws <subcommand>. For example: aws configure
allows the command line to use an access key, set the default region, and choose the output format.
You can download the AWS command line tool at https://aws.amazon.com/cli/.
Keys
Tags
N
ot
D
AWS uses public/private key pairs for authentication and encryption. These keys are assigned to
user accounts, applications, roles, servers, and other entities that need to be authenticated. They are
also used to encrypt data and data communications. You can obtain your own keys from a third
party certification authority, or you can use AWS tools to request and create keys.
D
o
A tag is an optional label that you can assign to your AWS resources to better manage them. It
contains metadata, which describes the resource. A resource is anything you create and use in AWS. It
can be a virtual machine, a storage volume, an IP address, a database, a policy or rule, etc.
You can create tags using the AWS Management Console, as well as the command line. They help
you categorize your resources. These categories can be anything that makes sense to you such as
purpose, owner, project, cost center, department, environment, etc. Tags are useful when you have a
lot of similar resources, but you want to find only the ones that are for, say, a particular project or
developer team. Once you find the resource(s) you want by searching for its tag(s), you can then edit
or administer it as desired.
A tag is a case-sensitive string of characters that has two parts: key and value. Examples of tags
include:
• Owner = DBAdmin
Keys
Inform students that they
will create a key pair in a
later activity.
Tags
Remind students that
metadata is data about
the data. It describes
and gives context to the
data it is attached to. For
example, metadata
associated with a picture
could include who
created it and when, size
of the picture, color
depth, resolution, and
the like.
Lesson 1: Getting Started with AWS | Topic C
22 | AWS™ Fundamentals
• Project = EastCoastPilot
• Team = DevTeam1
• Stack = Production
Note: A stack is a group of resources such as virtual machines that are managed as a single unit.
ib
ut
e
You must create tags that have meaning to your environment, and assign them to resources you
create. They will not be assigned automatically. Not all resources support tagging. There are also
restrictions to using tags including:
• You can have up to 10 tags per resource.
• Tag keys and values are case sensitive.
• The aws: prefix is reserved for AWS system use and should not be used in tag keys or values.
is
tr
Note: For more information on using tags, see the article "What is a Tag?" at http://
docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-what.html.
The Tag Editor
or
D
The Tag Editor allows you to find resources, and then assign one or more tags to those resources.
You can assign multiple tags to multiple resources in multiple regions at the same time. You can also
choose tags you've already created, change the value of the key, or create new tags on the fly.
N
ot
D
up
lic
at
e
The Tag Editor
Ask students how they
might categorize their
AWS resources. By
department? Project?
Owner?
o
Figure 1-6: Tag Editor.
D
Resource Groups
Resource Groups
Resource groups exist for administrative convenience. A resource group is a collection of resources
that you can manage together. You create the group, and then you can create a custom console to
consolidate and organize information about that group into a single view. Your group can even
include different types of resources, including ones from different regions.
When creating a resource group, you assign the same tag (or portion of a tag) to all of the resources
you want to group together. Your various users can each have their own resource groups that are
only visible to them, or they can share with others.
Lesson 1: Getting Started with AWS | Topic C
AWS™ Fundamentals | 23
Figure 1-7: Resource Group Editor.
Note: To learn more, check out the Spotlight on AWS Resource Groups presentation from the
Spotlight tile on the CHOICE Course screen.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Use AWS Management Tools.
You may want to show
the Spotlight on AWS
Resource Groups
presentation available
on the Spotlight tile on
the CHOICE Course
screen. You might
choose to include it in
your instructional plans,
or you can remind
students about the tile
and the supplemental
information it contains.
Lesson 1: Getting Started with AWS | Topic C
24 | AWS™ Fundamentals
ACTIVITY 1-4
Creating an AWS Account
ut
e
Before You Begin
You have Internet access, a mobile phone, and a credit/debit card with at least $1.00 available on it.
D
is
Note: Activities may vary slightly if the software vendor has issued digital updates. Your
instructor will notify you of any changes.
1. Create an AWS account.
at
e
or
a) Open a browser and navigate to https://aws.amazon.com/console/.
b) Select Create an AWS Account.
c) On the Sign In or Create an AWS Account page, enter your email address, select I am a new user,
and then select Sign in using our secure server.
d) On the Login Credentials page, enter your details and select Create account.
e) On the Amazon Web Services Sign Up page, fill out the page, enter the Security Check text, select
the AWS Customer Agreement check box, and select Create Account and Continue.
f) On the Payment Information page, enter your credit card details and select Securely Submit.
g) On the Identity Verification page, enter a phone number and select Call Me Now. Make note of the
4-digit PIN number that appears in the browser.
h) When Amazon calls your phone, answer, and when prompted, enter the 4 digit PIN number
displayed in your browser.
i) When identity verification is complete, hang up your phone and in the browser select Continue to
Select Your Support Plan.
j) On the Support Plan page, ensure that Basic is selected and then select Continue.
k) On the Welcome to Amazon Web Services page, select Complete Sign Up.
l) On the Sign In or Create an AWS Account page, log in using your new Amazon account.
D
up
lic
Creating an AWS
Account
Remind students that
they will switch to the
"previous" version of the
console to avoid
excessive preauthorization charges
and delays.
Notify students of any
changes to activities
based on digital software
updates issued by the
software vendor.
tr
ib
Scenario
Now that the managing directors at That's Cheezy Cheese Emporium are on board with the idea of
moving to the cloud, the CIO wants to get started. You have been asked to help set up an AWS
account for the company to use.
D
o
N
ot
2. Configure the Management Console.
Note: Using the previous version of the Management Console will prevent AWS
from placing a $1 pre-authorization on your credit card for every service you use
during the course.
a) On the console home page, scroll to the bottom and select the switch back to the previous version
link.
b) On the Switching back to the previous experience page, select Remove this account from the
preview.
Lesson 1: Getting Started with AWS | Topic C
AWS™ Fundamentals | 25
c) Verify that you can see the (previous) AWS Management Console home page.
d) Leave the console open.
License
Lesson 1: Getting Started with AWS | Topic C
26 | AWS™ Fundamentals
ACTIVITY 1-5
Working with the AWS Management Console
ut
e
Before You Begin
You have already signed into the AWS classic Management Console.
is
1. Identify tools in the console.
D
a) Examine the tools in the Management Console. Verify that they are grouped by general function
such as Compute, Storage and Content Delivery, Database, Networking, and so on.
or
2. Which tools do you think you might use when building That's Cheezy's cloud-based infrastructure?
A: Answers will vary, though many will choose Compute, Storage and Content Delivery, and
Database.
at
e
3. Set your region to US East (N. Virginia).
a) In the upper-right corner, locate your account name.
b) To the right of your account name, select the region drop-down list, and set the region to US-East
(N. Virginia).
D
o
N
ot
D
up
lic
Working with the AWS
Management Console
Each step has some
questions for the group
to answer. Lead the
class in answering these
questions.
Inform students that it is
important that they use
the same region
throughout this course,
and that US East has all
AWS features available
to it, whereas some
other regions do not.
tr
ib
Scenario
The technical team at That's Cheezy Cheese Emporium is eager to get started on the new AWS
project. Management has asked you to help the IT department become familiar with the AWS
console. You will show them how the tools are organized, help them determine their region and
Availability Zone, how to track costs, and how to access additional resources.
c) On a sheet of paper or in a text file, record your region as US East (N. Virginia), and your region
code as us-east-1.
Note: You will use this information in a later activity.
4. Record your Account Id, and view the Dashboard.
Lesson 1: Getting Started with AWS | Topic C
AWS™ Fundamentals | 27
D
is
tr
ib
ut
e
a) Select the drop-down arrow next to your name. Examine the menu choices in the drop-down box.
b) Select My Account.
up
lic
at
e
or
Your account information opens in a new web page.
c) In the center pane, under Account Settings, find your Account Id. Record it in the same place you
recorded your region and region code in the previous step for future reference.
N
ot
D
d) On the left-hand side, select Dashboard. Examine the charts and reporting features that are
available.
e) In the upper-left corner, select the orange cube to quickly return to the console home page.
5. How will the Dashboard help you track your AWS costs?
D
o
A: Answers will vary. You can use the Spend Summary and Month-to-Date Spend by Service charts
to track the cost of various AWS services you are using. You can also set alerts to automatically
email you when a cost threshold has been reached.
6. Examine additional resources.
a) In the right pane, under Additional Resources and Service Health, explore the various resource links
including Getting Started, AWS Console Mobile App, AWS Marketplace, and Service Health
Dashboard.
b) Return to the console home page.
Lesson 1: Getting Started with AWS | Topic C
28 | AWS™ Fundamentals
7. Which of the additional resources do you think will be useful in your daily operations?
A: Answers will vary. In the beginning, admins might find Getting Started and AWS Marketplace to be
very useful. If they want to access the console via a mobile device, they might use the AWS
Console Mobile App. For daily operations, some may want to use the Service Health Dashboard.
8. What is the current Service Health status?
A: Answers may vary, but most likely it will show all services operating normally.
Lesson 1: Getting Started with AWS | Topic C
AWS™ Fundamentals | 29
Summary
In this lesson, you learned about AWS cloud services and the AWS global infrastructure. You
learned different ways AWS can benefit organizations, and the resources available to learn more
about AWS. You learned about the AWS security model, and how to minimize cost. You also
learned about AWS management tools including the AWS Management Console, the command line,
keys, tags, and resource groups.
In what way do you think AWS can benefit your organization?
A: Answers will vary. Some may wish to move internal IT operations to the cloud. Others may wish to
improve the performance of their website, database, storage, or other services. Still others may wish
to implement services or technologies that they currently do not have the infrastructure or resources
to deploy on premises.
Which AWS management tool do you think you will use the most?
A: Answers will vary. System administrators will probably start out using the AWS Management Console.
Over time, they will start to use the command line more and more. Application developers will
probably use coding language to deploy and manage AWS services.
Encourage students to
use the social
networking tools
provided on the CHOICE
Course screen to follow
up with their peers after
the course is completed
for further discussion
and resources to support
continued learning.
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Lesson 1: Getting Started with AWS |
ut
e
ib
2
Implementing AWS
Storage and Database
Services
In this lesson, you will:
or
Lesson Objectives
D
is
tr
Lesson Time: 1 hour, 30 minutes
at
e
• You will configure AWS storage options.
• You will deploy different AWS database types.
up
lic
Lesson Introduction
D
o
N
ot
D
The most basic, practical usage of AWS™ is to store data. For this reason, it is important to
understand the various data storage services that AWS has to offer.
32 | AWS™ Fundamentals
TOPIC A
Configure AWS Storage
ut
e
Now that you understand how the AWS Management Console is organized, it is time to create your
first AWS deployment.
AWS Storage Options
D
is
tr
ib
AWS has a number of storage options for its cloud services. They each have their own advantages
and can be used independently or in combination. They are:
• Amazon Elastic Block Store (Amazon EBS)
• Amazon Simple Storage Service (Amazon S3)
• Amazon Elastic File System (EFS)
• Amazon EC2™ Instance Store
• Amazon Glacier™ Storage
• Amazon CloudFront™ Content Delivery Network
at
e
Amazon Simple Storage Service (S3) is general-purpose, Internet-based storage. It was designed to make
it easier for developers to use web-scale computing. Amazon S3 uses the concept of a bucket and an
object for managing data. A bucket is an allocated amount of storage. An object is any file you wish to
store in the bucket. The object is a key-value combination that contains the object name (key) and
the data (value). It also contains access control information, version ID, and other metadata
(information about the data). You can retrieve the object by using an HTTP URL address.
For example: /photos/mystuff.jpg is stored in a bucket named mybucket. It has an addressable
URL:http://mybucket.s3.amazonaws.com/photos/mystuff.jpg.
When you create a bucket, keep the following in mind:
• Bucket objects can only be folders or files.
• You cannot edit an object once it is placed in a bucket. You can only replace it with an updated
object of the same name.
• Choose a region that is geographically close to those who will use it such as EU (Ireland) or US
West (N. California).
• You must give your bucket a globally unique name. If you choose a name that is already in use,
AWS will notify you.
• As a best practice, use all lowercase letters when naming your bucket.
• A good bucket naming strategy is to include your domain name and region in the name. For
example, mycompany-com-us-east.
• You can have up to 100 buckets for every AWS account.
• Each file you upload to a bucket cannot exceed 5 GB in size.
• In order to minimize latency in the different geographical regions your website might service,
you can have buckets in multiple regions.
• The bucket, as well as the objects it contains, stays in the region you specify.
D
o
N
ot
D
up
lic
Amazon S3
Inform students that
Dropbox, Netflix, and
Amazon itself all use S3
to store content.
or
Amazon S3
Amazon EBS
Inform students that they
will learn more about
Amazon virtual
machines, also known
as EC2 instances, later
in the course.
Amazon EBS
Amazon Elastic Block Store (EBS) is a cloud-based service that provides blocks of storage for cloudbased virtual machines. It is essentially a hard drive that you can custom design and use in the cloud.
When you create an EBS volume, it is initially not associated with any specific virtual machine, but
Lesson 2: Implementing AWS Storage and Database Services | Topic A
tr
ib
can be attached or detached as desired. It is optimized for data that must be quickly accessible and
persistently available.
EBS volumes behave like raw, unformatted block devices. You can create a file system on them,
encrypt them, and take point-in-time snapshots that can be used to create new EBS volumes. You
can copy EBS volumes across regions and AZs. You can also restore snapshots to EBS volumes for
disaster recovery or to quickly provide data to an application. You can use Amazon CloudWatch to
monitor the performance of your EBS volumes.
EBS is the recommended primary storage choice for file systems, databases, and any applications
that need fine-grained access to raw, unformatted, block-level storage. It's good for databases that
depend on random reads and writes. It's also good for applications that are throughput-intensive,
performing reads and writes that are long and continuous.
Depending on the limits of your AWS account, you can attach multiple EBS volumes to a single
virtual machine. Although each virtual machine can have multiple attached volumes, each volume
can only be attached to one virtual machine at a time. There are four types of EBS volumes you can
create.
ut
e
AWS™ Fundamentals | 33
Volume
Description
EBS General Purpose
SSD
gp2
Broad use including boot volumes, small- and mediumsized databases, and development and test
environments.
Provisioned IOPS SSD
io1
For provisioning a specific level of I/O performance.
Throughput Optimized
HDD
st1
Low-cost magnetic storage focused on throughput
rather than IOPS.
Cold HDD
sc1
Inexpensive magnetic block storage for infrequent data
access.
at
e
or
D
is
Type
D
up
lic
As you create EBS volumes, keep in mind the following:
• A volume can be from 1 GB to 1 TB in size.
• As with physical drives, you can organize the disks into any of the standard RAID configurations
to improve throughput and fault tolerance.
• If you need to store files larger than 1 TB (such as a database) you can created multiple EBS
volumes and stripe (split) the file across them.
• An EBS volume must be in the same AZ as the virtual machine that uses it.
• You can create a snapshot (point in time backup) of an EBS volume, and use that snapshot to
create another, fully populated, EBS volume in the same or different AZ or region.
N
ot
Note: Amazon uses the word instance to refer to its virtual machines.
Amazon EFS
D
o
Amazon Elastic File System (EFS) is a managed file system for your virtual machines. It is meant for
file hosting and collaborating, and was developed primarily for enterprise or developer
environments. It is essentially Network Attached Storage (NAS).
The key difference between EFS and EBS is that you can mount EFS onto several virtual machines
at the same time. This is very useful if you have an application that runs on multiple virtual
machines, and needs access to a common file system.
When mounting EFS to a virtual machine, you create a mount target in your Virtual Private Cloud
(VPC). The mount target has an IP address that you connect to using Network File System (NFS)
v4. The amount of storage grows and shrinks automatically on a need basis up to petabytes in size.
Performance also auto-scales as the volume size increases. You can use Amazon EFS to store both
Amazon EFS
Explain to students that
a "managed" service is
one in which AWS has
already set up the
service for your
immediate use. You do
not need to set up a
server or configure any
infrastructure to use the
service. You can start to
use it without worrying
about managing or
configuring the
Lesson 2: Implementing AWS Storage and Database Services | Topic A
34 | AWS™ Fundamentals
your data and metadata across multiple Availability Zones in a region. It has parallel access that
provides high amounts of data throughput for your application. Amazon EFS uses POSIX-style
permissions for access control.
Note: You will learn more about Virtual Private Clouds (VPCs) later in the course.
ib
ut
e
When using EFS, keep in mind the following:
• Currently, EFS only supports connections from Unix®/Linux® virtual machines. You cannot
connect a Windows® virtual machine to it.
• You can mount an Amazon EFS file system on virtual machines in only one VPC at a time.
• Both the file system and VPC must be in the same AWS region.
tr
Note: POSIX is a set of standards to make application programming interfaces (APIs) uniform
in Linux and UNIX systems. This makes applications portable across a wide range of Unix/
Linux operating systems.
D
Amazon S3, EBS, and EFS are different types of storage with different strengths and use cases. You
can use them in combination if desired. The following table summarizes the differences between S3,
EBS, and EFS.
or
Comparison of S3, EBS,
and EFS
is
Comparison of S3, EBS, and EFS
Amazon S3
Amazon EBS
up
lic
at
e
A web-oriented general purpose A device you can mount onto a
data store.
virtual machine. Behaves like a
raw, unformatted external hard
drive.
A managed, shareable file
service that behaves like a
Network Attached Storage
(NAS) volume. It is highly
scalable in both size and
performance.
Stores editable files the way a
normal hard drive does.
Good for immediately getting
started.
Good for applications that
Good for providing shared
need a conventional file system storage across multiple virtual
such as Linux ext3 and
machines.
Windows NTFS, or just raw,
block-level storage.
D
Stores files as uneditable
objects. If you update the file,
you will have to replace the
existing stored object with the
new version.
N
ot
o
D
Amazon EFS
Stores shareable, editable files
that multiple operating systems
can access.
Files are accessed via a browser Files are accessed through the
from anywhere on the Internet. virtual machine operating
system's file system.
Files can be accessed through
an IP-based mount point on a
virtual machine.
Effectively no size limits.
Can scale to petabytes.
Maximum volume size is 1
terabyte (TB).
Used by Amazon to run its own Designed to be the disk for
global network of websites,
your virtual machine.
including storing virtual
machine images and snapshots.
Designed for enterprise and
development environments.
Higher latency with eventual
consistency.
High throughput with readafter-write consistency and lowlatency file operations.
Low latency with write-back
caching for very low write
latency.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
AWS™ Fundamentals | 35
Amazon S3
Amazon EBS
Amazon EFS
Figure 2-1: Using different storage types.
at
e
or
D
is
tr
ib
The following image shows how AWS EC2 instances (virtual machines) can use the different types
of storage.
ut
e
Snapshots can be shared among An EBS volume can only be
EFS can be mounted by
virtual machines.
accessed by one virtual machine multiple virtual machines in the
at a time, and must be in same same VPC. Virtual machines in
AZ.
different subnets must have
their own mount point.
up
lic
Note: Remember that an AWS virtual machine is known as an "EC2 instance."
Amazon Glacier
Amazon Glacier
Inform students that
while you can use the
GUI to create a storage
vault, there is currently
no GUI tool for
uploading or
downloading files.
D
o
N
ot
D
Another type of storage is Amazon Glacier. Amazon Glacier is a very low cost, cloud–based, longterm storage solution. It is designed to offer a secure and durable alternative to storing your archive
data on premises, or physically sending it to a storage facility. It is meant for infrequently used or
cold data such as archives and backup copies that might go for years before being accessed again.
Amazon protects your data by storing it redundantly across multiple devices in multiple sites. You
can store as much or as little data is you wish, and can even choose which geographical region to
store the data in order to comply with any business or regulatory criteria.
Once you've created a Glacier vault, you can use the aws command line tool to upload and
download archives.
When creating a Glacier vault keep in mind the following:
• You must use the command line or an API in code to upload or download files.
• Files can be as large as 40 TB.
• For manageability, consider uploading multiple related files together in an archive file such
as .zip, .tgz, .rar, .7z, etc.
• If you send a multi-part file (such as a zip file that has been split into multiple evenly-sized
pieces), you will need to calculate a Secure Hash Algorithm (SHA) 256 hash for each piece, and
then combine the hashes into a single tree hash for Glacier to use during the upload.
• Data transmission is encrypted by SSL.
• The Glacier Vault inventory is updated only once per day, so uploads might not appear in the
GUI for 24 hours or more.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
36 | AWS™ Fundamentals
• Data retrieval can take 5 hours.
Note: For more information on using Amazon Glacier, see https://docs.aws.amazon.com/
amazonglacier/latest/dev/working-with-archives.html.
Amazon CloudFront CDN
ib
ut
e
Amazon CloudFront is a global content delivery network (CDN) that brings your website content as
close as possible to the customers who will need it. The Amazon CloudFront Global Edge Network
currently has 55 locations across six continents. Most of the major cities around the world have an
edge location. Their physical closeness to end users helps reduce latency when a user accesses
content from your website.
tr
Note: As with many AWS services, you can test the CDN for free using the Free Usage Tier.
is
In order to use the CloudFront, you must store your files on an origin server. This can be:
• Your own server
• An Amazon S3 bucket
• An Amazon EC2 instance
• An Elastic Load Balancer
You then create a distribution to tell CloudFront which origin server to retrieve the data from.
CloudFront then retrieves and caches copies of the files for distribution.
or
D
Amazon CloudFront
CDN
Explain to students that
while CloudFront is not a
standard storage system
like S3, EBS, or EFS. It
stores cached copies of
your website, bringing
the content
geographically closer to
end users for improved
performance.
at
e
Note: You will learn about Elastic Load Balancers later in the course.
up
lic
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Configure AWS Storage.
Guidelines for Selecting AWS Storage
Guidelines for
Configuring AWS
Storage
D
Note: All of the Guidelines for this lesson are available as checklists from the Checklist tile on
the CHOICE Course screen.
D
o
N
ot
Here are some guidelines you can follow for selecting an AWS Storage solution:
• Choose S3 when you need a highly scalable object store.
• S3 storage is regionally scoped.
• S3 uses URLs to make objects available from anywhere on the Internet.
• Choose EBS when your virtual machines need to have more traditional volumes attached to
them.
• EBS volumes are highly persistent, and can be attached to, and detached from, running
virtual machines.
• An EBS volume must be in the same Availability Zone as the virtual machine that uses it.
• Choose Glacier when you need inexpensive, highly durable, long-term archive storage.
• Glacier ensures that critical data is never lost.
• It is very low cost, but at the expense of slow performance.
• You must use a command line or code to upload/download archive files.
• Choose CDN when you need high performance, low latency delivery of files, especially
multimedia, close to your end users.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
AWS™ Fundamentals | 37
• CDN copies content from a source into edge servers of your choosing.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
38 | AWS™ Fundamentals
ACTIVITY 2-1
Choosing an AWS Storage Solution
tr
is
1. The IT team at That's Cheezy Cheese Emporium would like to deploy an application that stores its data
on the network. The application is actually comprised of several parts that work together. Each part runs
on a different server, though all of the parts store and share data in a common location. The data is
constantly updated by the application. For performance reasons, the team would like the servers to be
in the same subnet.
D
Choosing an AWS
Storage Solution
Lead the group in
considering the
scenarios and answering
the questions.
ib
ut
e
Scenario
Department managers at That's Cheezy Cheese Emporium have heard about the different storage
solutions AWS offers. They would like to know more, as they see a benefit in moving their everincreasing storage needs to the cloud. Some departments want to deploy AWS storage immediately.
Others will add it to next year's budget. They have asked your help in assessing their needs and in
recommending an appropriate AWS solution.
Which storage solution would best serve the IT department's needs?
at
e
or
A: Because several servers need to share data in a common network location, EFS would be the
best choice. EBS, like a physical hard drive, is mounted to only one server so it's not a good
choice. S3 does not allow objects in a bucket to be edited, but rather replaced by a new version.
For that reason, S3 is also not a good choice. Glacier is not meant for constant data access, so it
is not the right choice either.
up
lic
2. The graphics team creates promotional pictures and videos for the company. Some of the video clips
they work with are 20 GB in size. Rendering them all into a single video is time consuming, involving
large amounts of disk throughput. Additionally, they cannot use their workstations during the time that
the video is being rendered. Sometimes this takes hours. What they want to do is to be able to edit
individual clips on their workstations, and then quickly move the data to another computer where the
clips can be rendered into a single video. They would also like the rendering machine to have the
highest possible disk throughput to shorten video post production time.
Which storage solution would be the best fit for the graphics team?
D
o
N
ot
D
A: The graphics team has two needs, and EBS can serve both. Each graphic artist should have an
editing computer with at least one additional EBS volume attached. As they edit, they can save
the clips to this volume. The EBS volume can then be detached from the artist's workstation and
reattached to a computer dedicated to rendering video. The rendering machine can have
additional EBS volumes configured in a RAID 0 disk striping array for maximum throughput. EFS
is not a good choice because of the latency added by network access between the workstation
and storage. Additionally, you cannot stripe EFS shares. S3 also cannot be striped, and has
network latency. It is also not meant for continuous editing of the same files. Glacier is meant for
cold storage only, so could not possibly be used for this purpose.
3. The sales team needs a web-based location where they can download the latest product literature and
price sheets from. Because team members travel all over the world to visit customers, they need to be
able to access the documents from anywhere. There are not that many documents, so they don't need
a complex hierarchy for organizing the files. They just want something simple, with fast response time,
that they can access wherever they are. In the past, they used an FTP site to host these files. This
caused a lot of problems for team members as some hotels and airport hotspots block the FTP protocol.
Which storage solution would be best for the sales team?
A: Because they need files to be available from anywhere in the world, an S3 bucket is a good
choice. It's easy to set up, requiring little effort. Although S3 does not allow objects to be directly
edited, this should not be a problem. When new product literature and price sheets are available,
Lesson 2: Implementing AWS Storage and Database Services | Topic A
AWS™ Fundamentals | 39
4. The legal department just reminded management that accounting records need to be stored for at least
7 years. Although the files are unlikely to be used, they should nonetheless always be available in case
the company gets audited. Because of the long term storage requirements, they need a solution they
can depend on for years to come.
Which storage solution would satisfy the company's legal requirements?
A: Glacier is by far the best choice in this scenario. It is meant for long term, safe storage of data at a
very low cost.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
40 | AWS™ Fundamentals
ACTIVITY 2-2
Creating an S3 Bucket
ut
e
Data File
C:\093025Data\Implementing AWS Storage and Database Services\cheese.jpg
ib
Before You Begin
You will need to know your region code (recorded in step 2 of the activity "Working with the AWS
Management Console").
D
1. Create an S3 bucket.
or
a) On the console home page, under Storage & Content Delivery, select S3.
b) Select the Create Bucket button.
c) In the Create a Bucket - Select a Bucket Name and region dialog box, in the Bucket Name text box,
enter thats-cheezy-<your-name>-<your region>, for example thats-cheezy-moo-dharma-us-east-1
d) From the region drop-down menu, select your region (note: if you are in us-east-1, select US
Standard as your region).
at
e
Creating an S3 Bucket
Remind students that
they recorded their
region and region code
in step 2 of the activity
"Working with the AWS
Management Console."
is
tr
Scenario
Now that the sales team has settled on using an S3 bucket to store product literature and price
sheets, they are ready to deploy. They have asked you to set up the bucket and test it with a file.
Remind students to be
consistent in selecting
the same region and
Availability Zone
throughout the course.
N
ot
D
up
lic
Note: Make sure you select the same region in every activity throughout this
course.
D
o
e) Select Create.
It may take a moment for your bucket to appear.
2. Populate the bucket with content.
a) In the left pane, under All Buckets, select the bucket you just created.
b) Select the Upload button.
c) In the Upload - Select Files and Folders pop-up dialog box, select the Add Files button.
d) In the Open dialog box, browse to and select C:\093025Data\Implementing AWS Storage and
Database Services\cheese.jpg.
e) Select Open.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
AWS™ Fundamentals | 41
f) Select the Start Upload button.
It may take a moment for your file to upload.
g) In the left pane, verify that cheese.jpg appears in the bucket.
3. Set permissions on the bucket.
i)
or
D
is
tr
ib
ut
e
a) Select cheese.jpg.
b) In the upper-right, select the Properties button.
c) In the Object: cheese.jpg pane, examine the information about the uploaded file.
d) Expand the Permissions section.
e) In the first Grantee drop-down box, verify that you see your account.
f) Select Add More Permissions.
g) From the second Grantee drop-down box, select Everyone.
h) Check the Open/Download check box.
Select Save.
at
e
4. Test the bucket.
a) In the Object: cheese.jpg section, next to Link, select the link.
up
lic
A new browser page should open to your uploaded picture.
b) Verify that you can see the image in your browser.
c) Verify that you can download the image to your computer.
d) Close the tab showing the cheese.jpg file, then select All Buckets to return to the S3 Management
Console.
5. Create a logs-<your-name>-<your-region> bucket.
a) Create another bucket called logs-<your-name>-<your-region>, for example logs-moo-dharma-us-
Remind students to refer
to Steps 1 & 3 if
necessary.
D
o
N
ot
D
east-1
b) Verify that you can see both of your buckets in the console. You do not need to change permissions
or upload a file to the logs bucket.
c) Return to the console home page.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
42 | AWS™ Fundamentals
ACTIVITY 2-3
Creating EBS Storage
ib
ut
e
Scenario
The graphics department at That's Cheezy Cheese Emporium is anxious to get started with their
new EBS solution. With the help of the IT department, they will soon be migrating all of their
editing operations to the cloud. The IT team wants to make sure they understand how to create EBS
volumes, which they will attach to the new graphics workstations. The IT manager has asked you to
lead the team in creating the first EBS volume.
tr
Creating EBS Storage
is
1. Create an EBS Volume.
D
Note: You will attach this EBS volume to a Windows virtual machine in a later
activity.
at
e
or
a) On the console home page, under Compute, select EC2.
b) On the EC2 Dashboard, on the left pane, under ELASTIC BLOCK STORE, select Volumes.
c) Select the Create Volume button.
d) In the Create Volume pop-up dialog box, from the Availability Zone drop-down box, select an
Availability Zone of your choice. Record your EBS Availability Zone.
e) Accept the remaining default settings and then select Create.
It may take a moment for your volume to be ready. You might need to select the Refresh button if it
is not displayed after a few moments.
2. Name the volume.
up
lic
a) In the volume list, verify that you new have a new volume with a State of available.
D
o
N
ot
D
If you have more than one volume, look at the date and time in the Created column to identify the
newest volume.
b) In the Name column of your new volume, hover your cursor over the text area so that a pencil icon
appears.
c) Select the pencil icon.
d) In the pop-up dialog box, type EBS for Windows and press Enter.
e) Verify that your new EBS volume appears.
f) Return to the console home page.
Lesson 2: Implementing AWS Storage and Database Services | Topic A
AWS™ Fundamentals | 43
TOPIC B
Deploy Amazon Database Services
ut
e
Having deployed your first AWS storage services, it is now time to deploy managed database
services.
D
is
Note: To learn more, check out the Spotlight on AWS Managed Services presentation from
the Spotlight tile on the CHOICE Course screen.
or
Amazon RDS
Inform students that they
will learn about the
individual database
services in this topic.
Remind students that
"managed" means the
user does not have to
set up a server or install
the database
application. They simply
choose which database
application they want
and AWS does all the
provisioning and
management for them.
You may want to show
the Spotlight on AWS
Managed Services
presentation available
on the Spotlight tile on
the CHOICE Course
screen. You might
choose to include it in
your instructional plans,
or you can remind
students about the tile
and the supplemental
information it contains.
Amazon RDS
Remind students that a
relational database
system is one in which
data integrity and
accuracy have the
highest priority. Tables
have common columns
called keys that ensure
data remains consistent
(agrees) across all
tables throughout the
database.
tr
Amazon provides managed services for every major database type. These services are:
• Amazon RDS—traditional relational database system
• Amazon DynamoDB™—NoSQL database
• Amazon Redshift™—data warehouse
ib
Amazon Managed Database Services
D
o
N
ot
D
up
lic
at
e
Amazon Relational Database Services (RDS) is a traditional relational database system that is fully
managed. It provides fast, predictable performance, is easy to set up, and scales quickly. You can
choose from database systems you already know including MySQL™, MariaDB®, PostgreSQL,
Oracle®, Microsoft® SQL Server®, and Amazon Aurora DB engine (a new system that is MySQL
compatible). As with other AWS services, you only pay for what you use.
The basic building block of RDS is the database instance—an isolated environment that can contain
one or more user-created databases. Once your databases are created, you can access them using
your favorite database management tools such as MySQL Workbench, EMS SQL Manager for
Oracle, or Microsoft SQL Server Management Studio.
You can use Amazon RDS whenever you need a relational database including:
• Online banking and other financial transactions.
• Tracking related entities such as customers, products, and orders.
• Complex queries, analysis, and reporting.
• Any scenario where the data must be consistent with high integrity.
Amazon RDS can be very high performing. Depending upon the hardware configurations you
choose, you can have the following performance features:
• 500,000 reads/sec
• 100,000 writes/sec
• 99.99% uptime
• 6-way replicated storage, across 3 availability zones
• On-demand scalability to 64 TB with 15 read replicas
Because RDS is fully managed, you do not need to deploy and manage the server that the database
runs on. Backups are also automatic, but you can also choose to manually create point-in-time
snapshots that are stored in S3.
Amazon DynamoDB
Amazon DynamoDB is a NoSQL database that is fully managed. NoSQL is a schema-less, nonrelational database system that scales horizontally across many geographically-dispersed clusters of
computers. DynamoDB tables are simple, with data stored as key-value pairs.
Amazon DynamoDB
Inform students that
NoSQL is typically used
for Big Data.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
44 | AWS™ Fundamentals
ut
e
Because a NoSQL database does not use Structured Query Language (SQL) to add, edit, and query
data, an application is needed to search the tables and present the data to the user. Usually, the
application accesses the data using an object-oriented application programming interface (API). As
an administrator, you can use a tool such as RazorSQL's DynamoDB Database Query Tool to
manage your database.
The following image shows the structure of a NoSQL-based online forum. The database has three
tables. The first table, Our_Cheezy_Forum, has a simple primary key. The other two tables have
composite primary keys. In addition, the Reply table has an index named PostedBy-Message-Index
that has its own composite primary key.
D
o
N
ot
D
up
lic
at
e
or
D
is
tr
ib
Note: Although the tables have primary keys, these are used for indexing, and not referential
integrity. There is no foreign key that ties one table to another table's primary key.
Figure 2-2: NoSQL online forum database structure.
NoSQL was designed to address scalability and performance issues that are inherent in traditional
relational databases. It favors high performance and regional high availability over immediate
consistency between all database nodes. Data consistency between nodes is eventual, though
Amazon advertises that the latency is low, usually within one second. NoSQL is used by companies
such as Facebook, Google™, and Amazon itself.
To enable high availability and data durability, DynamoDB stores three geographically distributed
replicas of each table in a ring topology.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
tr
ib
Data is automatically replicated between nodes and Availability Zones. You can have millions of
IOPS provided by SSD storage. You can get started with DynamoDB at no cost, and pay for only
what you consume. Use cases for DynamoDB include:
• Internet of Things (IoT) for tracking and obtaining real-time data from millions of devices.
• Gaming including game details, usage history, logs, and session information.
• Real-time bidding.
• Ad serving.
• User profile management, ID lookups, and session tracking.
• Real-time fraud detection.
• Law enforcement real-time tracking of citizen movement and usage of credit cards, loyalty cards,
and travel reservations.
• Hierarchical archived data that must also be online such as forums and discussions.
• Caching.
• Social media posts and timelines.
ut
e
AWS™ Fundamentals | 45
is
RDS vs. DynamoDB
RDS vs. DynamoDB
N
ot
D
up
lic
at
e
or
D
Most environments still need RDS, the relational database system. However, if you intend to expand
your services into Big Data, you will want to consider using DynamoDB, which is based on NoSQL.
As the amount of data increases, the performance of traditional RDS drops to the point where it can
no longer function effectively. DynamoDB, on the other hand, scales horizontally with the same
performance level regardless of the amount of data.
Use the following table to determine which database type is better for your situation.
RDS
DynamoDB
NoSQL database model
Strong schema, complex table relationships,
transactions and table joins
Schema-less, easy reads and writes, simple data
model
Data is manipulated through SQL queries
Data is manipulated through object-oriented
programming APIs
Difficult scaling
Easy scaling
Consistency over scale or availability
Performance and availability at any scale, with
eventual consistency
D
o
Traditional relational database model
Lesson 2: Implementing AWS Storage and Database Services | Topic B
46 | AWS™ Fundamentals
RDS
DynamoDB
Excellent choice for transaction-based data that Excellent choice where flexibility, low-latency,
must be highly consistent and accurate, or where and always available reading and writing are
tables must be tightly related
required real-time
Amazon Redshift
Amazon Redshift
Inform students that
Redshift is a proprietary
competitor to the popular
open source Apache
Hive™ data warehouse.
Remind students that a
data warehouse stores a
large amount of data
from many sources, and
is used for analysis as
opposed to processing
transactions.
Amazon Redshift is a relational data warehouse. It is meant to be simpler, cheaper, and higherperforming than traditional data warehouses. It can scale massively with many sites in parallel,
containing up to petabytes of data. It uses column-based storage, dramatically reducing the
unnecessary I/O associated with row storage. This is because with column storage, you only retrieve
the columns you want, rather than entire rows which you then have to filter for the columns you
need. It is fully managed, can be provisioned in minutes, and uses HDD and SSD storage. You pay
per hour, or per terabyte per year.
Once you install Amazon Redshift, you can use a tool such as SQL Workbench/J or Aginity
Workbench to manage your database.
Use cases for Amazon Redshift include:
• Extending or migrating away from your existing data warehouse
• Adding analytic functionality to applications
• Software-as-a-Service (SaaS) organizations
Redshift architecture is two-tier, with a Leader node that stores metadata, coordinates query
execution, and optimizes the query plan. Below the Leader node, connected by very high-speed
links, are Compute Nodes that provide local columnar storage, and parallel/distributed execution of
all queries. The storage can be Amazon S3, DynamoDB, or Amazon EMR (a web service for
quickly processing vast amounts of data).
Note: Amazon EMR is Elastic Map Reduce—a service for data processing and analysis.
Studying EMR is beyond the scope of this class.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
D
is
tr
ib
ut
e
AWS™ Fundamentals | 47
or
Figure 2-3: Amazon Redshift.
at
e
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Deploy an Amazon Database.
Guidelines for Selecting an Amazon Database
Guidelines for Selecting
an Amazon Database
D
o
N
ot
D
up
lic
Here are some guidelines you can follow when selecting an Amazon database.
• Keep in mind that all AWS databases are fully managed, meaning you will not have to set up the
server or install the database application. You simply choose the database you want and AWS
sets it up for you.
• Choose RDS when:
• You need a traditional relational database system.
• You need a strong schema, complex table relationships, transactions and/or table joins.
• You need a database based on the Structured Query Language (SQL).
• You need data integrity and consistency more than performance or scalability.
• Choose DynamoDB when:
• You need a NoSQL schema-less database.
• You expect to store large amounts of data, including archived historical data.
• You need a database that is always available for reads or writes, even at the expense of data
consistency.
• You need a database that is regionally disbursed for low latency.
• You need a database that favors performance over data integrity.
• Choose Redshift when:
• You need a relational data warehouse.
• You need to store different types of data coming from different sources.
• You need to add analytics to your application.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
48 | AWS™ Fundamentals
ACTIVITY 2-4
Selecting an AWS Database Service
ib
ut
e
Scenario
The managers at That's Cheezy Cheese Emporium are pleased with the AWS storage solutions you
implemented for them. Now they are asking what database options exist. The sales and marketing
teams need to continue implementing the company's new cloud initiatives. In addition, uppermanagement wants to see what impact these initiatives have on revenue. You have been asked to
assess the needs and recommend solutions.
tr
Selecting an AWS
Database Service
or
D
is
1. The marketing team needs to create an online forum to capture customer feedback about its various
products. They would like That's Cheezy's website to include a place for customer reviews of the
various products they purchase. They want customers to be able to see what others are posting, as well
as to add their own comments. Because the team intends to deploy regional websites in different
languages around the world, it is not important for customer comments in one country to immediately
appear on websites in other countries. The marketing team has no idea how many comments might be
collected, but they expect the amount of data to become quite large over time. Eventually, they want to
use the feedback to track trends in customer preference.
Which database solution would be best suited for capturing and displaying customer reviews and
discussion threads?
at
e
A: DynamoDB would be the best choice in this case. Because the data can have loose consistency
(need not be immediately replicated to other websites) and may end up being quite large, a
NoSQL database is a good choice.
up
lic
2. The sales team needs to be able to register new corporate customers, take orders, check product
availability, and check the status of an order. They need a database type that ensures that customer
accounts cannot be deleted while the customer still owes money, that accounts and orders are not
accidentally duplicated, and that they can perform complex queries and run reports. They need to be
able to do this online from anywhere in the world.
Which database type would best satisfy what the sales team wants?
D
A: RDS is the only realistic choice here. Because there must be tight consistency between customers
and their orders, a relational database will be required. Once RDS is set up, the database team
can create a customer database with tables for customers, orders, and products. They can also
create relationships between the tables to ensure data integrity and consistency.
D
o
N
ot
3. Management wants to be able to analyze sales and marketing data captured from the many That's
Cheezy websites. There will be websites all over the world, each serving that particular region and
customer base. All of the data eventually needs to be copied to a single location where it can be queried
in different ways. Management wants to use this data to forecast sales and develop longer term
strategies.
What database type would best suit management's needs?
A: Redshift would be the choice in this scenario. Because the data will be coming from diverse
sources, it should be copied to a data warehouse. The data can then be queried and analyzed to
spot trends.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
AWS™ Fundamentals | 49
ACTIVITY 2-5
D
o
N
ot
D
up
lic
at
e
or
D
is
tr
ib
Scenario
The marketing department at That's Cheezy Cheese Emporium is looking forward to using their
new online forum. They are getting ready for a massive new product launch, and want to be able to
interact with consumers during the launch and capture customer feedback. They are on board with
the idea of deploying a DynamoDB NoSQL forum, and have asked you to set it up. The database
will have the following structure.
ut
e
Creating a DynamoDB NoSQL Discussion Forum
1. Create the Forum table.
a) On the console home page, under Databases, select the DynamoDB link.
b) On the Amazon DynamoDB page, select the Create Table button.
c) In the Table Name field, enter Our__Cheezy_Forum
d) In the Primary key* section, in the Partition Key field, enter ForumName
Creating a DynamoDB
NoSQL Discussion
Forum
Remind students that
NoSQL does not use
relationships between
tables. Tables are
simple, storing data as
key-value pairs.
Remind students to be
mindful of the spelling,
and to not add spaces to
the names. Otherwise,
an error will occur when
they try to create their
tables.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
50 | AWS™ Fundamentals
is
f) Select the Create button.
g) In the left pane, verify that you see Our_Cheezy_Forum.
tr
ib
ut
e
e) Ensure that the data type is set to String. Leave all other settings at default.
2. Create the Thread table.
D
up
lic
at
e
or
D
a) Use the procedure in Step 1 to create another table with these parameters: Table name = Thread,
Partition Key = ForumName, Partition Key data type = String. Check the Add sort key check box and
in the Sort key text field enter Subject. Ensure that the Sort key data type = String.
N
ot
b) Leave all other settings at default, and select the Create button.
D
o
3. Create the Reply table.
a) Use the procedure in Step 2 to start creating another table with these parameters: Table name =
Reply, Partition Key = Id, Partition Key data type = String. Check the Add sort key check box and in
the Sort key text field, enter ReplyDateTime. Ensure that the Sort key data type = String.
b) In the Table settings section, uncheck the Use default settings check box.
c) In the Secondary indexes section, select +Add index.
d) In the Add index pop-up dialog box, in the Primary key* section, in the Partition key text field, enter
PostedBy and ensure that the data type is set to String.
e) Check the Add sort key check box, and in the text field that appears, enter Message and ensure that
the data type is set to String.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
AWS™ Fundamentals | 51
is
tr
ib
ut
e
f) Accept the remaining defaults.
4. Examine your tables.
N
ot
D
up
lic
at
e
a) On the DynamoDB page, in the left pane, select Tables.
b) Verify that your three tables appear and are active.
or
D
g) Select Add index.
h) On the Create DynamoDB table page, leave all other settings at default and select the Create
button.
c) Select the table Our_Cheezy_Forum.
d) In the properties, select each tab to examine the information and configuration options.
5. Add an item to the Our_Cheezy_Forum table.
o
Note: Ordinarily, you would use an application to present the forum to a user. For
the purposes of this activity, you will manually enter items directly into the tables.
D
a) Make sure that the table Our_Cheezy_Forum is selected.
b) Select the Items tab.
c) Select the Create item button.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
52 | AWS™ Fundamentals
tr
e) Select the Save button.
f) Verify that you now see My Favorite Cheese under ForumName.
ib
ut
e
d) In the Create item dialog box, in the ForumName String text field, enter My Favorite Cheese
D
up
lic
at
e
or
D
is
You might have to drag the column heading to the right to see the entire forum name.
N
ot
6. Create a discussion thread.
D
o
a) Select the Thread table.
b) If necessary, select the Items tab.
c) Select the Create item button.
d) In the ForumName String text field, enter My Favorite Cheese
Lesson 2: Implementing AWS Storage and Database Services | Topic B
AWS™ Fundamentals | 53
ut
e
e) In the Subject String field, enter a comment of your choice. For example: Gruyere or Fontina?
Which one is better for fondue?
ib
f) Select the Save button.
g) Verify that you can see your discussion thread.
up
lic
at
e
or
D
is
tr
Again, adjust the columns as needed to see the text.
7. Post a reply.
D
a) Select the Reply table.
b) In the Items tab, select the Create item button.
c) In the Id String text field, enter 01
d) In the ReplyDateTime String text field enter 2016:08:04:14:32:07
N
ot
Note: You may substitute the current date and time in the format
YYYY:MM:DD:HH:MM:SS.
D
o
e) In the PostedBy String text field, enter your name.
Lesson 2: Implementing AWS Storage and Database Services | Topic B
54 | AWS™ Fundamentals
g) Select the Save button.
h) Verify that you see your reply.
N
ot
D
up
lic
at
e
or
D
Again, adjust columns if necessary to see the full text.
is
tr
ib
ut
e
f) In the Message String text field, enter a reply of your choice. For example Gruyere for sure!
Return to the console home page.
D
o
i)
Lesson 2: Implementing AWS Storage and Database Services | Topic B
AWS™ Fundamentals | 55
Summary
In this lesson, you learned about the different kinds of AWS storage and when it is appropriate to
choose one over the other. You also learned about AWS managed database services, and how to
work with each database type.
Which storage type do you think you will use in your environment?
A: Answers will vary. If you want a simple website for uploading and downloading files on the Internet,
you will probably deploy S3. If you wish to have additional drives for your virtual machine, you will
choose EBS. Those wanting a NAS-style network storage device for their Linux virtual machines will
choose EFS. Anyone who wants inexpensive long-term storage will probably choose Glacier. And
those who want to bring web-based content physically closer to end users will probably deploy a
CloudFront distribution.
Which database type do you think will be useful in your environment?
Encourage students to
use the social
networking tools
provided on the CHOICE
Course screen to follow
up with their peers after
the course is completed
for further discussion
and resources to support
continued learning.
A: Answers will vary. The real decision will come down to if you need a traditional database, a NoSQL
database, or a data warehouse. If you need a traditional relational database, you will find RDS to be
the most useful. If you want a NoSQL database with its flexibility and performance, you'll probably
choose DynamoDB. Or, if you want to store multiple data types in a single location and/or perform
analytics on your data, you will probably find Redshift to be useful.
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Lesson 2: Implementing AWS Storage and Database Services |
3
Implementing Compute
and Network Services
Lesson Time: 1 hour, 15 minutes
Lesson Objectives
In this lesson, you will:
• You will implement AWS Compute Services.
• You will implement a virtual network.
Lesson Introduction
AWS™ services are, of course, not limited to storing and accessing data. One of the most
powerful features of AWS is its computational abilities. In order to move your compute
services to the cloud, you need to understand how those services are implemented and
networked together.
58 | AWS™ Fundamentals
TOPIC A
Implement Elastic Cloud Compute Services
Now that you have deployed fully managed services, it is time to deploy AWS services that are
largely unmanaged.
Amazon EC2
Amazon EC2
Inform students that EC2
is Amazon's virtual
machine technology.
Unlike the database
services, it is not fully
managed. Once you
provision an EC2
instance (virtual
machine), you are
responsible for
configuring, managing,
and securing it.
EC2 Instance
Inform students that
from this point on, virtual
machines will be
referred to as EC2
instances. The term
virtual machine was
used earlier in the
course to avoid
confusion. The EC2
instance is the basis for
AWS scalability.
EC2 Instance Types
Point out to students that
the T2 instance type is
used in Free Tier Eligible
services.
Amazon Elastic Cloud Compute (EC2™) is a service that allows you to scale your computing capacity
in the AWS cloud. Designed to make web-scale cloud computing easier for developers, it provides
as many or as few virtual machines as you need, including configurations for CPU, memory, storage,
networking, and security. It can automatically respond to spikes in user demand, so that you don't
have to worry about forecasting traffic.
EC2 Instance
An EC2 instance is a single copy of a virtual machine that is running in the AWS cloud. It is a server
operating system, usually configured to provide some kind of service or application. An instance is
launched based on a virtual machine image. The image can be a basic operating system, or it may
come with an application pre-installed on it.
You can have as many instances of the same image running as you please. Being able to launch
multiple simultaneous copies of your website or application allows you to scale your service as
demand increases. Because instances are virtual, they launch immediately with no preplanning on
your part.
EC2 Instance Types
An EC2 instance type is a combination of CPU, memory, storage, and network capabilities allocated
to your instances. When you launch your EC2 instance, you select the instance type. Different
instance types have been designed for different load levels and use cases. The following table
summarizes the various instance types.
Instance Type
Description
Use Case
T2
Baseline performance with burst
capabilities. 1 - 2 CPUs, 0.5 - 8 GB
RAM
Good for workloads such as web
servers, developer environments and
databases that don't consistently
need full CPU, but occasionally need
to burst. t2.micro is typically used for
Free Tier Eligible instances.
M4
Latest generation of General
Purpose Instances. 2 - 40 CPUs, 8 160 GB RAM
Good for applications that need a
balance of compute, memory, and
network resources.
M3
General purpose Instance. 1 - 8
CPUs, 4 - 80 GB RAM
Good for small to mid-sized
databases such as SAP, Microsoft®
SharePoint®, cluster computing, and
other enterprise applications.
GENERAL
PURPOSE
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 59
Instance Type
Description
Use Case
C4
High performing Intel Xeon
E5-2666 v3 (Haswell) processors,
optimized for EC2 computation. 2 36 CPUs, 3.75 - 60 GB RAM, EBSonly storage
Good for high performance frontend fleets, web servers, batch
processing, distributed analytics, high
performance science and engineering
applications, ad serving, massively
multiplayer online (MMO) gaming,
and video-encoding.
C3
Slightly scaled down version of C4
using 2 - 32 Intel Xeon E5-2680
CPUs, 3.75 - 60 GB RAM, and SSD
storage
Good for high performance frontend fleets, web servers, batch
processing, distributed analytics, high
performance science and engineering
applications, ad serving, massively
multiplayer online (MMO) gaming,
and video-encoding.
COMPUTE
OPTIMIZED
MEMORY
OPTIMIZED
X1
Large-scale, enterprise-class, inIn-memory databases such as SAP
memory applications, with 128 CPUs HANA®, big data processing engines
and 1952 GB RAM
such as Apache Spark™ or Presto,
and high performance computing
(HPC) applications.
R3
Memory-intensive applications with
2 - 32 CPUs, 15.25 - 244 GB RAM
High performance databases,
distributed memory caches, inmemory analytics, and genome
assembly and analysis.
GPU
G2
Intended for graphics and general
3D application streaming, video
purpose GPU compute applications. encoding, machine learning, and
1 - 4 GPUs, 8 - 32 CPUs, 15 - 60 GB other GPU workloads.
RAM
STORAGE
OPTIMIZED
I2
D2
Very fast SSD-backed instance
storage optimized for very high
random I/O performance, with
1x800 GB - 8x800 GB SSD storage
NoSQL databases such as
Cassandra® and MongoDB®,
Hadoop®, scale out transactional
databases, data warehousing, and
cluster file systems.
Dense storage with up to 48 TB
HDD-based local storage with high
disk throughput. 2x2000 GB 24x2000 GB HDD storage
Note: To learn more, check out the Spotlight on Determining What Type of Storage Your
EC2 Instance Can Use presentation from the Spotlight tile on the CHOICE Course screen.
You may want to show
the Spotlight on
Determining What Type
of Storage Your EC2
Instance Can Use
presentation available
on the Spotlight tile on
the CHOICE Course
screen. You might
choose to include it in
your instructional plans,
or you can remind
students about the tile
and the supplemental
Lesson 3: Implementing Compute and Network Services | Topic A
60 | AWS™ Fundamentals
Note: For more information on Instance Types, see the article "Amazon EC2 Instance Types"
at http://aws.amazon.com/ec2/instance-types/.
AMI
AMI
Inform students that precreated AMIs exist for
the most common
deployment scenarios.
An Amazon Machine Image (AMI) is a virtual machine image file that sits in storage until you need it.
It provides a pre-configured template for your instance. When you launch an EC2 instance, you
must choose an AMI. You can either use a pre-created AMI, or create and register your own. Precreated AMIs often come pre-installed with an application such as WordPress, SQL or Microsoft®
Active Directory®. A single AMI can be used to launch as many instances as desired.
AMIs have the following features:
• A template for the root volume of the instance, including operating system, application server,
and applications.
• Permissions that control which AWS accounts are used to launch instances.
• A block device mapping that specifies which volumes to attach to the instance.
Note: Do not confuse an AMI with an instance type. An AMI is a pre-created virtual machine
used to launch an EC2 instance. When you launch an instance, you choose the instance type,
which determines the level of virtual hardware assigned to that instance.
AMIs can be copied to the same or different regions. Once you have launched the instance, you can
de-register its AMI. In addition to creating your own AMI, you can search for and use existing AMIs
provided by AWS or the online community. Some commercial third parties charge for their AMIs.
Note: There are currently over 3000 commercial (paid) AMIs and over 66,000 community (free)
AMIs to choose from.
EC2 Security Groups
EC2 Security Groups
Point out to students that
group in this context
refers to a group of
traffic rules, not a group
of users.
A security group is a type of virtual firewall that controls traffic to or from one or more of your EC2
Instances. Each launched instance has one or more security groups associated with it. You add rules
to the security group to determine what traffic is allowed.
Like a firewall, security groups have the following default settings:
• Allow no inbound traffic
• Allow all outbound traffic
You can then create additional rules to define permitted or prohibited protocols, ports, and IP
address ranges. When you create a rule, it affects all EC2 instances associated with that security
group.
Note: For more information on Security Groups, see the article "Amazon EC2 Security Groups
for Windows Instances" at http://docs.aws.amazon.com/AWSEC2/latest/
WindowsGuide/using-network-security.html#ec2-classic-security-groups.
EC2 Storage
EC
Be
ge types
an
nces were
introduced separately,
their relationship is now
highlighted here.
Your EC2 instance can, with varying levels of effort, use any of the storage types previously
discussed. The following table summarizes how an instance can use these storage types.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 61
Storage Type
EC2 Use
EBS
Can be used by the instance as a local hard disk that contains the operating
system or data. Can be formatted with a file system supported by the instance
operating system. Meant to be the primary storage device for most EC2
instances.
EFS
Can be used by the instance as a NAS. You can connect a Linux®/Unix®
instance to EFS using the NFSv4 protocol.
CDN
The instance can be the origin server for CDN copies.
S3
Used by a user to store AMIs and volume snapshots. Can be directly accessed
by a running instance using third party tools.
Glacier™
Used by a user to store long term data. Can be directly accessed by a running
instance using third party tools.
Note: It is beyond the scope of this class to discuss the use of third party tools for EC2
instances. However, a Google™ search will easily provide additional information on tool choices
and their use.
EC2 Instance Store
An EC2 instance store is yet another type of storage your EC2 instance can use. When AWS first
introduced EC2, all AMIs were backed by an Amazon EC2 instance store. This meant that the root
drive was actually an instance store volume, created from a template stored in Amazon S3. When
AWS introduced EBS, many instances became EBS-backed instead of instance store-backed.
Depending on your instance type, the root drive can be an instance store or EBS. Again, depending
on the type, you can also add more EBS or instance store volumes to the instance. Instance store
volumes have to be added at time of launch. EBS volumes can be added at any time.
If you add an additional instance store volume to your instance, it should be treated as a scratch disk
or temp drive. It has very low latency, but is not meant for permanent storage of any kind. This
makes it perfect for anything that is only needed for a short period of time such as temp files,
buffers, caches, or data replicated across load balanced websites. An instance store is actually located
on physical disks attached to the host computer. The volumes on an instance store appear as block
devices with names such as ephemeral 0, ephemeral 1, etc., up to ephemeral 23. Although an
instance store is for a particular instance, the disk subsystem it is on is shared by all instances on that
host.
Amazon EC2 Instance
Store
Explain to students that
instances should really
use EBS volumes. An
instance store today is
the equivalent of a temp
disk.
Lesson 3: Implementing Compute and Network Services | Topic A
62 | AWS™ Fundamentals
Figure 3-1: EC2 instance store.
When you launch an EC2 instance, you can specify any instance store volumes. You cannot add an
instance store after the instance has been launched. The data persists if the instance reboots, but is
deleted when the instance stops or is terminated. It also cannot be detached and moved to a
different instance. Because an instance store is meant to be a scratch disk, you should not use it for
valuable, long-term data.
When you terminate an EC2 instance, you effectively delete it. After a short while, a terminated
instance will disappear from the list of instances. And all data in the related instance stores will be
deleted as well.
Note: Not all instance types support instance stores. The T type instances, including the Free
Tier Eligible t2.micro, do not support instance stores. They are strictly EBS. You will not be able
to choose an instance store volume when launching a t2.micro instance.
EC2 Implementation
EC2 Implementation
Point out to students that
the full power of AWS is
used when your
application's code
automatically launches
or terminates EC2
instances on a need
basis.
You can implement Amazon EC2 using the following methods:
• Manually using the AWS Management Console
• Manually or automatically (scripted) using the AWS Command Line Tool
• Automatically using the AWS SDK (Solution Developer Kit)
Additional EC2 instances can be automatically launched from your application code in order to scale
your service up or down as needed. An EC2 instance does not cost anything to get started. Once
you create your account, you can launch the EC2 Dashboard to select the desired AMI and instance
type for your virtual machine. Your EC2 instances, along with any snapshots, are stored in Amazon
S3 by default.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 63
Note: It is beyond the scope of this course to discuss how to use code to scale your EC2
instances. For more information, see https://docs.aws.amazon.com/codedeploy/latest/
userguide/auto-scaling-integ.html.
EC2/EBS Integration
As you create an EC2 instance, you can create and attach EBS volumes at the same time. If you
have an existing EC2 instance, you can create an EBS volume, attach it to the instance, and mount
the volume inside the instance's operating system. This is the equivalent of adding a physical hard
drive to your computer, then using the operating system to initialize and mount the disk.
EBS volumes can be used for regular storage or even a boot partition for your instance. If you need
to restart an instance that boots from an EBS volume, you can do so while preserving the instance's
state. This provides for very fast startup time.
EBS volumes must belong to the same Availability Zone as the instance. They replicate
automatically to provide 99.999% availability for your EC2 instance. A single instance can have one
or multiple volumes attached to it. In this way, you can stripe your data across the volumes (as in a
RAID array) to increase disk I/O and throughput performance. If the instance fails or is detached
from the volume, the volume can be assigned to any other instance in the same Availability Zone.
EBS/EC2 Inte
Inform student
99.999% ("five
availability me
the volume is
about 5 minute
year.
EC2/EFS Integration
Because EFS acts as Network Attached Storage (NAS) for one or more instances, it helps your data
be more independent and resilient. A single application or service running on multiple instances can
use the same EFS file share. A single EFS file system can manage thousands of web pages for one
website. You don't have to provision anything ahead of time. It will grow or shrink automatically in
response to increased or decreased need. EFS also provides a standard I/O API and file system
access semantics such as file locking and strong data consistency. This makes its integration with a
Linux/Unix EC2 more seamless.
Once you launch your EC2 instance, you can create a separate EFS file system and mount it to your
instance. You can then use it for diverse uses such as Big Data, analytics, home directories, media
content processing, or any application that requires rapid scaling for dynamic data sets.
EC2/EFS Integration
ELB
Elastic Load Balancer (ELB) is a virtual version of load balancing. It allows you to distribute client
traffic to multiple EC2 instances in multiple Availability Zones that are running the same service. As
with traditional load balancing, incoming client requests are automatically distributed among the
instances to improve reliability and performance. Should one instance stop working or be flooded
with too much traffic (say, in the case of a denial-of-service attack) ELB will stop routing requests to
it.
ELB
Inform students that
HTTP/2 is a new version
of HTTP. It can multiplex
(intersperse) multiple
requests onto a single
connection for improved
efficiency.
Lesson 3: Implementing Compute and Network Services | Topic A
64 | AWS™ Fundamentals
Figure 3-2: ELB routing client requests to healthy EC2 instances.
ELB has two types of load balancers, as summarized in this table.
Type
Description
Classic
Internet-facing. Works at either the transport/session layer (TCP/SSL) or the
application layer (HTTP/HTTPS)
Application
Internal-facing. Works at the application layer, load balancing HTTP, HTTPS,
and HTTP/2 requests between nodes. If your application has different
services, can route the client request to different ports on different EC2
instances, based on the content of the client's request.
The ELB can be Internet-facing, such as for web front ends, or internal (not Internet-facing). ELB
features include:
• SSL termination for websites that accept HTTPS connections.
• Centralized management of SSL certificates.
• Encryption to back-end (non Internet-facing) instances.
• Different ciphers and encryption protocols.
• Sticky sessions (traffic from the same client will always be routed to the same instance).
• IPv6 support.
• Layer 4 (transport protocol) or Layer 7 (application protocol) load balancing.
• Operational monitoring by Amazon CloudWatch.
• Logging of all requests as well as API calls using AWS CloudTrail.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Implement Elastic Cloud Compute Services.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 65
ACTIVITY 3-1
Implementing Elastic Cloud Compute Services
Before You Begin
You have created an EBS volume, and you know the Availability Zone that the EBS volume was
created in.
Scenario
Now that the online Cheezy Forum is up and running, the marketing team would like to create an
online blog site where they can make announcements and generate customer excitement for new
products. At the same time, the graphics department is ready to test its multimedia editing
application in the cloud. You have decided to launch two EC2 instances: a Linux AMI preconfigured with WordPress for the marketing team, and a Windows server with the EBS volume
you previously created for the graphics team.
Implementing Elastic
Cloud Compute Services
1. Choose a Free Tier Eligible WordPress instance.
a) In the console home page, under Compute, select EC2.
Alternatively, if you have a shortcut to the EC2 Management Console, you may use it.
b) On the EC2 home page, under Create Instance, select the Launch Instance button.
c) On the Step 1: Choose an Amazon Machine Image (AMI) page, in the left pane, select AWS
Marketplace.
d) In the Search text box, type wordpress and press Enter.
Note: HVM stands for Hardware Virtual Machine.
e) In the results, find the first available WordPress powered by BitNami AMI and select its Select
button.
f) Examine the various pricing options, then scroll to the bottom of the page and select Continue.
Lesson 3: Implementing Compute and Network Services | Topic A
66 | AWS™ Fundamentals
g) On the Choose an Instance Type page, under the Type column, find and select t2.micro Free tier
eligible.
2. Configure the instance in the wizard.
a) In the lower-right corner, select the Next: Configure Instance Details button.
b) On the Step 3: Configure Instance Details page, examine the available options. Accept the defaults
and then select the Next: Add Storage button.
c) On the Step 4: Add Storage page, under Volume Type, verify that the image has a Root volume,
then select the Add New Volume button. Verify that the new volume will be an EBS volume.
d) Select the Next: Tag Instance button.
e) On the Step 5: Tag Instance page, in the text field under Key, delete any existing text and enter
Department
f) In the Value text field, enter Marketing
g) Select the Next: Configure Security Group button.
Note: In a production environment, you would change 0.0.0.0/0 to known
public IP addresses to help protect your site from hacking.
h) On the Step 6: Configure Security Group page, examine the configuration options, leave the
defaults, and select the Review and Launch button.
i) On the Step 7: Review Instance Launch page, review the summary, including the security warning,
and select the Launch button.
3. Assign a key pair and launch the instance.
Note: In a production environment, you would ordinarily create a key pair so you
can retrieve the root password to log into your instance. In this activity, you will
not log into your WordPress instance, so you can proceed without creating a key
pair. If you ever desire to log into an instance that you did not create a key pair
for, you must find out from the team that created the AMI what the default
password is.
a) In the Select an existing key pair or create a new key pair pop-up dialog box, in the first drop-down
box, select Proceed without a key pair.
b) Check the I acknowledge that I will not be able to connect to this instance unless I already know the
password built into this AMI check box.
c) Select the Launch Instances button.
It may take a few minutes for your EC2 instance to enter a Running state.
d) Review the information on the Launch Status page, and in the lower-right corner, select the View
Instances button.
e) Verify that you see your new instance. It may show an Instance State of running, but the Status
Checks will probably display Initializing.
4. Perform post-launch tasks.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 67
a) In the Name column, hover your cursor over the empty text field until a pencil icon appears, then
select the pencil icon.
b) In the pop-up text field, type Cheezy Blog and then press Enter.
c) Verify that the instance now has a name.
d) In the properties pane below, on the Description tab, examine the various properties. Verify that the
AMI ID includes the words bitnami-wordpress.
You can always verify which instance you are working on by checking the AMI ID.
Note: Your WordPress instance will take a few minutes to become ready. In
the mean time, you will create a Windows instance. You will return to the
WordPress instance after this next step.
5. Launch a Free Tier Eligible Windows Server 2012 R2 instance.
a) Again, select the Launch Instance button.
b) On the Step 1: Choose an Amazon Machine Image (AMI) page, on the left pane, select Community
AMIs.
c) Under Operating system, scroll down and select Windows.
d) Locate the first Windows_Server-2012-R2 AMI and select it.
It should be at the top of the list.
e) On the Step 2: Choose an Instance Type page, ensure that t2.micro Free tier eligible is selected and
select the Next: Configure Instance Details button.
f) On the Step 3: Configure Instance Details page, from the Subnet drop-down box, select the subnet
in the same Availability Zone as your EBS for Windows volume (for example, us-east-1b), then
select the Review and Launch button.
It is very important that your EBS volume and Windows instance are in the same Availability Zone.
g) On the Step 7: Review Instance Launch page, review the settings and then select the Launch
button.
6. Assign a key and launch.
Lesson 3: Implementing Compute and Network Services | Topic A
68 | AWS™ Fundamentals
Note: You will log into this Windows instance in a later activity, so you will need a
key pair to retrieve the administrator password.
a) In the Select an existing key pair or create a new key pair pop-up dialog box, from the first dropdown box, select Create a new key pair.
b) In the Key pair name text field, enter My Windows Server Key and then select the Download Key
Pair button.
Note: Depending on your browser, the key might be automatically downloaded
to your Downloads folder.
c) Save the key to your Downloads folder.
7. Perform post-launch tasks.
a) Select the Launch Instances button.
b) On the Launch Status page, select the View Instances button.
c) Verify that you see two instances. After a moment, they should both be in a running state, though
the Windows instance will probably show its Status Checks as Initializing. Record the Instance ID of
the Windows Server for later use.
Alternatively, you can copy the Instance ID from the Description tab.
d) Locate the Windows instance. In the empty Name text field, enter Windows Server 2012 R2 and
then press Enter.
Instruct the students to
wait until the Instance
State shows running,
before proceeding to the
next step. The Status
Checks may still show
Initializing.
e) Verify that the Windows instance is now named Windows Server 2012 R2.
8. Attach the EBS for Windows volume to the Windows instance.
a) In the left pane, under ELASTIC BLOCK STORE, select Volumes.
b) Locate and select your EBS for Windows volume.
c) Select Actions→Attach Volume.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 69
d) In the Attach Volume pop-up dialog box, in the Instance text field, enter or paste the Windows
Instance ID. AWS should recognize the Instance ID and display <instance id>(running). Select the
displayed choice.
e) Verify that the Device text field is automatically populated and then select the Attach button. Record
the Device name.
f) On the Volumes page, in the EBS for Windows record, scroll to the right, and under Attachment
Information verify that the device name appears and is attached.
g) Navigate to the Instances page, and select the Windows instance.
h) On the Description tab, in the Block devices section, verify that the EBS for Windows device name
appears.
9. Test your Cheezy Blog site.
a) On the Instances page, verify that the Cheezy Blog instance is running, and select it. Deselect the
Windows instance.
Lesson 3: Implementing Compute and Network Services | Topic A
70 | AWS™ Fundamentals
b) On the Description tab, locate and copy the Public DNS name.
c) Paste the public DNS name into a new browser tab and press Enter. Verify that the blog home page
appears with a "Hello World!" greeting.
Because you have not yet customized the blog website, the home page will still refer to WordPress.
Note: In a production environment, you would now want to customize your
blog. For more information, see: https://en.support.wordpress.com/customize/.
d) Close the blog browser tab and return to the console home page.
Lesson 3: Implementing Compute and Network Services | Topic A
AWS™ Fundamentals | 71
TOPIC B
Implement Virtual Networks
Now that you understand how to deploy your own unmanaged compute services, it is time to learn
how to organize those compute services into a virtual private cloud.
Amazon VPC
Amazon Virtual Private Cloud (VPC) allows you to provision a logically isolated segment of the AWS
cloud for your own use. It is an entire virtual network that gives you complete control. When you
create an EC2 instance, you put it into a VPC. If you do not specify which VPC, the instance will go
into the default. EC2 instances obtain their IP addresses from their VPC.
In your VPC, you can specify any of the following:
• IP address ranges
• Public and private facing IP addresses and subnets
• Route tables
• Network gateways
• Security groups and network access control lists
• A hardware-based Virtual Private Network (VPN) connection between your organization's data
center and your AWS VPC
If you create a VPN between your VPC and physical data center, it allows you to extend your data
center into the cloud without investing in additional floor space, server hardware, power
management, or environmental control capabilities.
You can choose to leave your VPC as an isolated private network with no connectivity to the
outside world or you can connect it in the following ways:
• Direct connection to the Internet using public subnets
• Using Network Address Translation (NAT) to keep internal IP addresses private
• Using an encrypted IPsec hardware VPN to connect to your data center
• Privately to other VPCs
• Direct connection to Amazon S3 without the need for an Internet gateway or NAT, allowing
you to control which buckets, requests, users, or groups are allowed through a VPC Endpoint to
S3
• Any combination of the above
Amazon VPC
Point out to students that
VPC is a complete
virtual network with its
own subnets and
connectivity. You put
your EC2 instances into
your VPC, but there are
many services you can
create that do not go into
a VPC. These include
S3 buckets, Glacier
vaults, the databases
(Dynamo, RDS,
Redshift), and others.
Elastic IP Address
An Elastic IP address is a static public IP address associated with your account. You can map (assign)
the address to any instance or software in your account. An instance or service that does not use an
Elastic IP address may have its public IP address change from time to time. This forces DNS entries
for your service to be updated periodically. An Elastic IP addresses has two main benefits:
• Should the instance fail, you can quickly re-map (reassign) your Elastic IP address to another
instance with little or no noticeable downtime.
• Your server or service will always have the same IP address assigned to your service, providing a
stable and unchanging DNS entry for that service.
Elastic IP Address
Note: Elastic IP addresses are free only if in use. If they are reserved for later use, you must pay
for them.
Lesson 3: Implementing Compute and Network Services | Topic B
72 | AWS™ Fundamentals
Amazon ElastiCache
Amazon ElastiCache
Inform students that
ElastiCache is not free.
If they wish to test it,
they should be aware
that it will incur cost,
even if they do not use
it.
Memcached is
pronounced "mem-cashdee"
Amazon ElastiCache™ is a web service that improves web app performance. It works by caching data
in memory, rather than retrieving it from disk. This is very useful when the same data needs to be
repeatedly read and delivered to your clients. In this way, ElastiCache is a good companion for
online databases.
ElastiCache uses two high performance open source caching applications:
• Memcached
• Redis
When you set up ElastiCache, you create an ElastiCache cluster. You choose either Memcached or
Redis to form the basis of your ElastiCache. Many applications natively support one of these, so you
might be able to immediately use your caching with little or no additional configuration.
Use cases for ElastiCache include:
• Storing ephemeral (cached) key-value data.
• Database applications that require very low latency.
• High-performance application patterns such as leaderboards for gaming users, session
management, event counters, and in-memory lists.
The ElastiCache architecture is simple. EC2 app instances can use the cache for quick temporary
storage of key-value data, while also using an RDS database for more permanent storage.
Figure 3-3: ElastiCache architecture.
Note: Amazon ElastiCache can quickly run up a bill, even if you do not use it.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Implement Virtual Networks.
Lesson 3: Implementing Compute and Network Services | Topic B
AWS™ Fundamentals | 73
ACTIVITY 3-2
Implementing Virtual Networks
Scenario
The IT manager at That's Cheezy Cheese Emporium has been reading about some of AWS'
network virtualization services. He can foresee a time when more and more of That's Cheezy's
network infrastructure is migrated to the cloud. The team understands general networking principles
such as segmentation and IP addressing, but they are not sure how such things are implemented in a
virtual environment. The manager has asked you to prepare the team for future network migrations
by making sure they first understand some fundamentals of Virtual Private Clouds.
1. Examine your existing VPCs.
a) On the console home page, under Networking, select VPC.
Alternatively, you can use the breadcrumb trail to navigate to Services→VPC.
b) In the Resources section, examine the summary of VPC resources you are using in your region.
c) Select the VPC link.
d) Examine the VPC you have running. Record the VPC ID and VPC CIDR IP address block.
e) Verify that this is the Default VPC.
2. Identify and record the VPC ID, public IP address, and private IP address for your instances.
a) On the left pane, select VPC Dashboard.
b) In the Resources section, select the Running Instances link.
c) On the Instances page, scroll to the right and for both the Cheezy Blog and Windows instances,
record the Public IP, VPC ID, and Private IP Addr.
Alternatively, your console might display all three items in the Description tab.
Implementing Virtual
Networks
Inform students that,
since Elastic IP
addresses and Amazon
ElastiCache are not free,
there will be no handson activity for these
services.
Lead the class in
answering the questions
at the end of Step 2.
The term CIDR refers to
the block of IP
addresses being used
by the VPC. It is
pronounced "cider".
Remind students that
when they created their
instances, they did not
specify any particular
VPC, which
automatically put the
instances in the default
VPC.
For the question in Step
5, do not spend too
much time explaining IP
subnetting. Remind
students that all
instances get an IP
address based on the
VPC CIDR address.
The /16 means that all
instance IP addresses
will start with the same
two numbers as their
VPC (such as 172.30, or
172.31). This means
they are all in the same
private network and will
thus be able to
communicate with each
Lesson 3: Implementing Compute and Network Services | Topic B
74 | AWS™ Fundamentals
3. Do both the WordPress instance and Windows instance belong to the same VPC? If so, which one and
why?
A: Unless a mistake was made when creating the instances, the answer should be yes. They will
both be in the default VPC because when you created the instances, you did not specify which
VPC to put them in.
4. How will being in a VPC help improve security for the two instances?
A: Answers will vary, but since the VPC is isolated from the rest of the world, you can control exactly
what kind of traffic is permitted to and from your servers.
5. Compare the VPC CIDR IP address with the Private IP addresses for the instances. Are they in the
same subnet? If so, what does this imply regarding connectivity between the instances?
A: Unless a mistake was made when creating the instances, they should belong to the same VPC
and thus the same subnet. Belonging to the same subnet means that even though the VPC is
isolated from the rest of the world, the instances can communicate with each other.
6. Return to the console home page.
Lesson 3: Implementing Compute and Network Services | Topic B
AWS™ Fundamentals | 75
Summary
In this lesson, you learned about EC2 instances, and how they integrate with the various types of
storage. You also learned about Virtual Private Clouds, how they use public and private IP
addresses, and how they relate to your EC2 instances. In addition, you learned about Elastic IP
addresses and Amazon ElastiCache.
In your environment, do you think you will create additional VPCs for resources, or use the default VPC for
all resources?
A: Answers will vary. Those who wish to isolate different resources from the rest of the network will
probably create separate VPCs. If your focus of study is EC2 instances, and you are less concerned
with the networking aspect of your cloud, you might just use the default VPC.
Do you foresee the need to use Elastic IP addresses in your environment? Why or why not?
A: Answers will vary. If you want a fixed public IP address that does not change, you will definitely want
to use an Elastic IP address. If you are fine with your IP address changing from time to time, you
might not bother with an Elastic IP address.
Encourage students to
use the social
networking t
provided on
ICE
Course scre
ow
up with their
fter
the course is completed
for further discussion
and resources to support
continued learning.
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Lesson 3: Implementing Compute and Network Services |
4
Using AWS Management
Tools
Lesson Time: 1 hour
Lesson Objectives
In this lesson, you will:
• You will learn how to provision AWS resources.
• You will manage AWS resources.
Lesson Introduction
As you continue to build your AWS™ services, you'll want to deploy and manage them in a
systematic manner. Being able to save time by automating deployments, as well as keeping
an eye on performance and cost, will continue to become more and more critical.
78 | AWS™ Fundamentals
TOPIC A
Automate AWS Resource Provisioning
Now that you have manually deployed compute resources, it is time to learn how to automate those
deployments.
AWS Resource Provisioning
AWS Resource
Provisioning
Inform students that
JavaScript Object
Notation (JSON) is a
lightweight datainterchange format. It is
easy for machines to
create and interpret, and
is easy for humans to
read and write.
Resource provisioning is the act of specifying and deploying whatever features you want in your virtual
machine, virtual network, or service. For example, when provisioning an EC2 instance, some of the
resources you can specify include:
• Instance Family
• Instance Type
• vCPUs
• Memory (GB)
• Instance Storage (GB)
• EBS-Optimized (if available)
• Network Performance
• Security Groups
• Tags
• Encryption key pair
• IP routes
• IP subnets
• Volumes
With AWS, you can either manually provision your resources in the Management Console or
automate the provisioning process. With the IT industry moving towards orchestration, white box
hardware, and Infrastructure as Code, AWS provides tools to allow you to provision infrastructure
resources very quickly. Virtualization makes this all possible. You can integrate setting up and
configuring your infrastructure into application code.
Because the AWS cloud is a virtual system, the idea is to move away from manually configuring your
part of the cloud to full automation. Reusable templates allow you to:
• Deploy as many servers with identical configurations as you like.
• Easily create variations of your servers.
• Use code to automatically deploy servers.
AWS templates are simple JavaScript Object Notation (JSON) formatted text files. They can be
managed using your normal source control mechanisms, and be stored publicly or privately. They
are even small enough to be emailed between employees.
Resource provisioning allows you to set up and manage anything, from a single EC2 instance to a
multi-tier, multi-region application. You can use templates to model your infrastructure architecture
covering everything from subnets to services.
AWS CloudFormation
AWS CloudFormation
AWS CloudFormation is a tool that helps you to automate AWS deployments. It has two parts:
• Templates—text files that define what resources are needed to run your application.
• Stacks—running instances built from templates and administered as a single unit.
Lesson 4: Using AWS Management Tools | Topic A
AWS™ Fundamentals | 79
Templates are JSON-formatted text files that can be used repeatedly in any region for development,
test, and production purposes. They can be used manually, or automatically in code or scripts.
You can create templates from scratch using AWS tool kits such as CloudFormation Designer and
CloudFormer, Microsoft® Visual Studio®, and Eclipse. You can also take a running instance and
create a template from it.
The AWS CloudFormation Designer Console is a visual tool used to create stacks and templates. It
allows you to drag and drop what you want on a palette and configure the values. The template is
then saved in an S3 bucket.
Figure 4-1: AWS CloudFormation Designer Console.
AWS CloudFormer
AWS CloudFormer is a prototype application that allows you to create a template based on resources
already running in your account. CloudFormer is itself a CloudFormation stack and is currently in
beta version. You select it from the various sample templates when you run the Create Stack
wizard.
AWS CloudFormer
Lesson 4: Using AWS Management Tools | Topic A
80 | AWS™ Fundamentals
Figure 4-2: CloudFormer.
Note: Before you use CloudFormer, make sure you have a pre-existing encryption key pair.
You'll need to specify this in the wizard. You either use a third party tool, or you can use the
AWS EC2™ console to create the key pair.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Automate AWS Resource Provisioning.
Lesson 4: Using AWS Management Tools | Topic A
AWS™ Fundamentals | 81
ACTIVITY 4-1
Automating AWS Resource Provisioning
Scenario
The IT team at That's Cheezy Cheese Emporium wants to be able to automate the future
deployment of production servers. They need to know how to create and launch a stack of
Windows servers from a CloudFormation template. Management has asked that you help the team
prepare by leading them through creating and launching a stack.
Automating AWS
Resource Provisioning
1. Select a template.
a) From the console home page, under Management Tools, launch CloudFormation.
b) Select the Create Stack button.
c) On the Select Template page, in the Choose a template section, ensure that Select a sample
template radio button is selected, and then select the drop-down list arrow.
d) Under Windows Samples, select Windows features and roles, and then select the Next button.
2. Modify the template and launch the stack.
a) On the Create Stack page, in the Specify Details section, in the Stack name text box, enter My-
Windows-Server-Stack
b) In the Parameters section, leave the Features text field default of None.
c) From the InstanceType drop-down box, select t2.micro.
d) From the KeyName drop-down box, select My Windows Server Key.
e) In the Roles text field, delete None and enter Web-Server
f) In the SourceCidrForRDP text field, enter 0.0.0.0/0
g) Select the Next button.
h) On the Options page, select the Next button.
i) On the Review page, review your settings and then select the Create button.
j) Verify that My-Windows-Role-Stack appears. If necessary, select the stack to see its creation
details. You can refresh the page to see status updates.
It can take up to 15 minutes for your stack to be created. Your instructor may have the class move
on to the next topic, and optionally return later to examine the new running instance.
3. (Optional) Verify the stack.
a) In the CloudFormation console, verify that you see My-Windows-Server-Stack, and select the stack.
b) On the Stack Detail: My-Windows-Server-Stackpage, expand the Resources section.
c) Verify that, among other resources, an EC2 security group and an EC2 instance are part of the
stack.
d) If necessary, expand the Events section, and review the timeline involved in creating the stack.
e) Expand the Template section, and review the code in the template that was used when creating the
stack.
f) Expand the Parameters section and verify that the parameters are the same as what you specified
when creating the stack.
g) Expand the remaining sections and verify that they are empty.
4. (Optional) Verify the new running instance.
a) Navigate to EC2→Instances, and verify that you have a new instance running.
It can take up to 15
minutes for the stack to
be created. Consider
moving on to the next
topic and optionally
returning afterwards.
If students ask, inform
them that the
WaitCondition resources
are used to coordinate
the stack creation
process with external
configuration actions.
They are also used to
track status during
configuration.
You should have a total of three instances now.
b) Name the new instance My Windows Server Stack
Lesson 4: Using AWS Management Tools | Topic A
82 | AWS™ Fundamentals
c) Scroll to the right and verify that the new instance uses the My-Windows-Server-StackInstanceSecurityGroup resource.
d) Return to the console home page.
Lesson 4: Using AWS Management Tools | Topic A
AWS™ Fundamentals | 83
TOPIC B
Manage AWS Resources
Now that you know how to deploy resources both manually and automatically, it is time to learn
how to manage those resources.
AWS Resource Metrics and Alarms
Central to effectively managing any system is the ability to get good performance metrics from that
system. Metrics give you an insight into how that system is performing. Amazon EC2 instances,
Amazon EBS volumes, Amazon RDS database instances, and Elastic Load Balancing all provide
their own sets of free metrics. As an example, EC2 has 50 built-in metrics that can be used to
monitor:
• CPU
• Disk
• Network
• Status
You can also create and add your own metrics. You can view metrics for a single instance or group
and view metrics by category. By default, metric data is kept for two weeks, providing up-to-theminute data, as well as historical information.
AWS
and Al
Metrics
Figure 4-3: Per-Instance Metrics.
You can also set alarms on the metrics. When a metric exceeds your set threshold, the alarm can
trigger an email or be recorded in a database. Additionally, you can configure a response action
including auto-scaling to handle the increased load.
Lesson 4: Using AWS Management Tools | Topic B
84 | AWS™ Fundamentals
Figure 4-4: Configuring an alarm.
To monitor your data, you can use Amazon CloudWatch, the list-metrics command, or the
ListMetrics API with third party tools to view your available metrics.
Amazon CloudWatch
Amazon CloudWatch
Amazon CloudWatch is your built-in, comprehensive, performance monitoring and response tool. It
lets you load all metrics (AWS provided as well as your own) into your account. From there you can
search, graph, and set alarms on your various cloud resources using the AWS Management Console.
Lesson 4: Using AWS Management Tools | Topic B
AWS™ Fundamentals | 85
Figure 4-5: Creating a CloudWatch alarm.
When you open the console, you will see that metrics are grouped by category. The categories are
first organized by namespace (service) such as Billing, EC2, ELB, DynamoDB™, etc. Metrics from
each namespace are kept isolated from each other so they cannot be accidentally aggregated into the
same statistics. You can then drill down further, looking at individual instances and metrics.
Note: Only AWS services that you are using will send metrics to Amazon CloudWatch.
AWS Cost Monitoring
As you learn to work with the various AWS services, you should take care to monitor cost. Not all
services are Free Tier Eligible, and the ones that are have limits imposed on how long you can use
them for free. You should regularly check your account's Billing & Cost Management
Dashboard to verify that costs are as expected.
AWS Cost Monitoring
Inform students that it is
easy to accidentally
incur cost while
experimenting with AWS
services. They should
carefully read the
documentation to
understand which
services are not Free
Tier Eligible, and the
limits of services that are
Free Tier Eligible.
Students should
regularly check their
account to make sure
that billing has not
gotten out of control.
Lesson 4: Using AWS Management Tools | Topic B
86 | AWS™ Fundamentals
Figure 4-6: Billing & Cost Management Dashboard.
You may want to show
the Spotlight on AWS
Billing and Cost
Management
presentation available
on the Spotlight tile on
the CHOICE Course
screen. You might
choose to include it in
your instructional plans,
or you can remind
students about the tile
and the supplemental
information it contains.
Remind students that
the How Tos in this
course contain sections
for both creating and
deleting resources.
Note: To learn more, check out the Spotlight on AWS Billing and Cost Management
presentation from the Spotlight tile on the CHOICE Course screen.
Note: For more information on AWS billing and cost management, see https://
docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html.
AWS Resource Deletion
If you find that you have AWS resources that are unnecessarily incurring cost, you can delete them.
Use the same console tool that you used to create the resource. In most cases, you can select the
resource and then from the Actions button, find an option to delete or terminate the resource.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Manage AWS Resources.
Lesson 4: Using AWS Management Tools | Topic B
AWS™ Fundamentals | 87
ACTIVITY 4-2
Managing AWS Resources
Before You Begin
Your region is set to the same one you have been using throughout the course.
Scenario
The IT department at That's Cheezy Cheese Emporium would like to monitor server performance
in the AWS cloud. They are particularly concerned about excessive CPU utilization on the blog site.
In addition, management would like to monitor AWS billing. The CFO was warned by a friend that
AWS costs are variable based on usage, and to monitor how costs scale as demand and usage
increase. Management has asked you to create a dashboard that tracks CPU utilization on the blog
site, and to set an alert if performance and cost thresholds are exceeded.
1. Enable billing alerts.
a) In the management console, next to your account name, select the drop-down arrow.
b) Select My Account.
c) In your account page, on the left pane, select Preferences.
d) On the Preferences page, check the Receive Billing Alerts check box.
e) Select Save preferences.
Managing AWS
Resources
Lead the group in
answering the questions
at the end of Steps 1c
and 1e.
2. Browse metrics types.
a) On the Management Console, under Management Tools, select CloudWatch.
b) Select the Browse Metrics button.
c) Verify that the metrics are organized by major resource type, as well as by billing.
3. What is the relationship between the categories of metrics that you see and the resources you have
deployed?
A: You will only see metrics for services you have deployed. Services that are not in use will not send
metrics to CloudWatch.
4. Continue browsing metric types.
a) Select Billing Metrics.
b) If necessary, expand the Billing > By Service section to view the possible services you can be
charged for.
5. Now that you have created different AWS resources in this course, which billing metrics do you think
you might also wish to monitor?
A: Answers will vary. Many will say that they wish to monitor billing for every type of resource they
have created so far. Others may wish to focus on specific resources such as EC2 or DynamoDB.
6. Examine the CPU utilization of the Cheezy Blog instance.
a) On the left pane, under Metrics, select EC2.
Lesson 4: Using AWS Management Tools | Topic B
88 | AWS™ Fundamentals
b) Scroll down and locate the row that contains both Cheezy Blog and CPUUtilization. Check the row's
check box. Verify that a graph appears below showing the last 12 hours of activity.
Your results may look different.
c) Select the Add to Dashboard button.
d) In the Add to dashboard pop-up dialog box, in the Add to: text field, enter Server Performance Stats
and select the Add to dashboard button.
e) Examine your dashboard, and select the Save dashboard button.
f) Browse some of your other instance metrics, and add them to your dashboard as desired.
7. Create an alarm on CPU utilization.
a) In the CloudWatch console, on the left pane, select Alarms.
b) Select the Create Alarm button.
c) From the Create Alarm pop-up dialog box, select the EC2 Metrics link.
d) Locate and select the record that contains both Cheezy Blog and CPUUtilization, then select Next.
e) In the Create Alarm pop-up dialog box, in theName text field, enter Cheezy Blog CPU
f) In the Description text field, enter CPU utilization has reached 75%
g) In the Whenever section, set is >= to 75
h) Under Actions, in the Notification section, select the New list link.
i) In the Send notification to text field, enter Cheezy-Alert-Watchers
Lesson 4: Using AWS Management Tools | Topic B
AWS™ Fundamentals | 89
j)
In the Email list text field, enter your email address.
k) Select the Create Alarm button.
l) In the Confirm new email addresses pop-up dialog box, select the I will do it later button.
m) Confirm that the Cheezy Blog CPU alarm appears in the alarm list.
8. Create a billing alarm.
a) Return to the CloudWatch console, and under Alarms, select Billing.
b) On the Billing Alarms page, select the Create Alarm button.
c) In the When my total AWS charges for the month exceed text field, enter 1.00
d) From the send a notification to: drop-down box, select Cheezy-Alert-Watchers. Verify that your email
address appears directly below.
e) Select Create Alarm.
f) If desired, check your email for a confirmation email from AWS Notifications, and select Confirm
subscription.
g) In the CloudWatch Alarms console, confirm that your alarm appears in the alarm list.
Your alarm Config Status will display Pending confirmation until you confirm the alarm subscription
in your email.
h) In the upper-right corner, next to your account name, select the drop-down list.
i) Select Billing & Cost Management.
Lesson 4: Using AWS Management Tools | Topic B
90 | AWS™ Fundamentals
j)
Examine your current costs.
Note: Hopefully at this point, your costs will be $0.00. If you incurred any
costs, identify any resources that are causing the cost and delete or terminate
them. You will see how in the final activity of the course.
k) Return to the console home page.
Lesson 4: Using AWS Management Tools | Topic B
AWS™ Fundamentals | 91
Summary
In this lesson, you learned how to automate resource provisioning with AWS CloudFormation and
CloudFormer, how to monitor resource performance and billing costs, and how to safely delete
resources.
Do you think that you will automate AWS resource provisioning in your environment? If so, which tools do
you expect to use?
A: Answers will vary. Many will use CloudFormation templates to launch instance stacks. Some may wish
to use the CloudFormation Designer tool to create their own templates. Developers will probably want
to use templates in their code to automate stack creation.
What tools do you expect to use to monitor AWS billing costs in your environment?
A: Answers will vary. Most will want to check the Billing & Cost Management Dashboard in their account.
Many will also wish to create billing alerts to automatically notify them when cost thresholds have
been met.
Encourage students to
use the so
networking
provided o
Course scr
up with thei
the course
for further
and resources to support
continued learning.
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Lesson 4: Using AWS Management Tools |
5
Securing an AWS
Deployment
Lesson Time: 1 hour
Lesson Objectives
In this lesson, you will:
• You will secure an AWS deployment.
• You will optimize AWS security.
Lesson Introduction
Of course, any IT infrastructure must be kept secure. Cloud services is no exception. In
order to keep your AWS™ services running smoothly, it's critical that you learn how to limit
access, and ensure that vulnerabilities are minimized.
94 | AWS™ Fundamentals
TOPIC A
Enforce AWS Security
Now that you know how to deploy and manage AWS resources, it is time to learn how to secure
those resources.
AWS IAM
AWS IAM
Remind students that
before IAM, if you
wanted people such as
developers or
administrators to work
with your resources, you
had to share your
Amazon account user
name and password.
This meant they had full
control over your cloud.
There were no controls
and no accountability.
AWS Identity and Access Management (IAM) allows you to control who can access what is in your
cloud. With IAM, you can create the following:
• User—this allows someone under your control to log in to your cloud and work with your
resources.
• Group—this is a group of IAM users.
• Role—this allows an application to have limited access to a resource; it is similar to a group, but
is for applications, not users.
• Policy—this is the set of permissions you assign to a user, group, or role.
Typically, people who need IAM user accounts will be internal company users such as developers,
system administrators, and managers. IAM users can use the AWS Management Console with
whatever restrictions you place on them by policy.
IAM is not meant to authenticate users from the general public. If you need to have the general
public be authenticated to access a resource, create an application that the general public will use to
access the resource. Assign an IAM role to that application. Then to authenticate the users, use a
third-party authentication service such as Facebook, Google™, or Amazon Login. After the user
successfully authenticates, the application will access the resource on behalf of the user.
As with resources such as instances, databases, and storage volumes, IAM users, groups, and roles
are under your account's control. When you create an IAM user, that person must use a special URL
to sign into the Management Console. The endpoint for IAM users to sign in will look something
like this: https://AWS-account-ID-or-alias.signin.aws.amazon.com/console.
AWS Directory Service
AWS Directory Service
Inform students that they
can create and use a
single directory for a free
one month trial.
Alternatively, they can
create multiple
directories, using them
for
ed
tot
fter
tha
crue.
As
cur
soft
Act
aut
AWS Directory Service allows you to create and use a cloud-based Microsoft® Windows Server® 2012
R2 Active Directory Domain Services (AD DS) service to manage up to 50,000 user accounts.
Typically, these users are employees who normally log on to access internal resources inside your
company. You use cloud-based AD DS when you prefer to move your directory service domain
controllers to the cloud, rather than have them on premises.
Using the directory service allows you to do all the things you would normally do in Active
Directory: create and manage user accounts and groups, provide single sign-on to access resources,
deploy Microsoft Group Policies to users, etc. This is very useful if your AWS applications are
dependent on directory services to authenticate and authorize users. Once you create your directory
service, you use a standard LDAP compliant tool such as Active Directory Users and Computers to
log into and use the directory service.
In addition to being purely cloud-based, you can also extend your on-premises Active Directory
installation into the cloud by using the AD Connector to connect it to AWS Directory Service. This
means you would have some domain controllers on premises, and some in the cloud. The most
common use case would be to allow corporate users to use their existing credentials to access AWS
resources, or to authenticate from anywhere in the world. You could also use it as a backup to your
on-premises AD DS.
Lesson 5: Securing an AWS Deployment | Topic A
AWS™ Fundamentals | 95
If you don't want to use Microsoft AD DS, you can opt to instead use the smaller Simple AD
service, which is a Linux® Samba-based LDAP directory service. It is compatible with Microsoft
AD DS, and suitable for up to 5000 users. To create a directory, you will be required to create a
Virtual Private Cloud (VPC) extended over two subnets and two Availability Zones. This will give
you a redundant and isolated directory that only your instances can reach.
ACM
With AWS Certificate Manager (ACM), you can easily create, deploy, manage, and renew X.509
SSL/TLS certificates for AWS Elastic Load Balancers and CloudFront distributions. The certificate
proves the server's identity to the client, and works with the client application to create an encrypted
connection. When creating the certificate, you will need to provide a domain name that you
legitimately own. Certificates created by ACM are free and easy to use. Although you can use thirdparty certificates if you wish, you do not need to.
Amazon API Gateway
Amazon API Gateway is a service that allows developers to securely connect mobile or web apps to
AWS EC2, AWS Lambda, and other web services, whether they are hosted by Amazon or not. The
API gateway provides the infrastructure necessary to create, deploy, test, and manage RESTful APIs
using HTTP request methods such as GET, PUT, POST, DELETE, etc. This allows your app to
access the website's back end functionality in a secure and scalable manner. While creating your API,
you choose the authentication/authorization mechanism, the HTTP method, the location of the
resource, and where and how the API will be deployed. You can use either a graphical or commandline tool to create and deploy your API.
ACM
Remind st
that
certificate
absolutely
d to
create a s
ebsite,
as HTTPS connections
use them to digitally sign
and encrypt
communications.
Amazon API Gateway
Explain to students that
the Amazon API
Gateway has an easyto-use graphical
interface that may be
interesting to many
system administrators.
With the current industry
movement towards
DevOps (integrated
development and
operations teams),
admins who are
interested in the
development side of
AWS will find it easy to
create their own APIs
using the Amazon API
Gateway tools.
Figure 5-1: Amazon API Gateway Console.
RESTful API
A RESTful API is an application programming interface that is in compliance with REST. REST
stands for Representational State Transfer. It is an architecture that breaks down web-based
transactions into smaller modules, giving developers a lot of flexibility. REST typically uses standard
HTTP requests to retrieve data from a website or to update that website.
Lesson 5: Securing an AWS Deployment | Topic A
96 | AWS™ Fundamentals
AWS API Authentication
AWS API Authentication
Ask the class if anyone
is a system administrator
who must also work
closely with the
developer team. If so,
the API tools may be of
interest to them.
When an application wants to interact with another application or access a resource, it makes an
API call to that application or resource. This is a structured request for service, formatted in a way
that the receiving application or resource understands. The application must authenticate itself to
prove that it has the authorization to make such calls. AWS does not permit any application to
access a resource unless it is first authenticated.
Although many developers embed a user name and password into their applications, from a security
perspective, this is a bad practice. Rather than allowing an application to use your Amazon account
name and password, you should do the following:
• Create an IAM role that an application can use to access resources (preferred).
• (Alternatively) Create an access key and secret key pair for the application to use.
You then assign the IAM role to your application so that it can access the desired resource. Or, you
include the key in your code so the application can use the key when accessing the resource.
Note: Learning the steps to authenticate APIs is beyond the scope of this course. For more
information, see https://aws.amazon.com/blogs/aws/iam-roles-for-ec2-instancessimplified-secure-access-to-aws-service-apis-from-ec2/.
IAM Policy Simulator
IAM Policy Simulator
Inform students that the
simulator does not
actually set or change
policy, so you can use it
to safely test requests
that might otherwise
make unwanted
changes to your live
deployment.
The IAM policy simulator allows you to test policies that are currently attached to IAM users, groups,
and roles. It also allows you to test what-if scenarios, determining the impact of applying other
policies without actually doing so. Any test you run will return an allowed or denied result. You can
use the simulator in the following ways:
• Test current policies attached to a user, group, or role.
• Test policies not yet attached to a user, group, or role.
• Test policies attached to AWS resources.
• Test how a policy impacts a service or request to a resource.
• Simulate real-world scenarios by applying conditions such as a particular IP address or key in the
simulation.
• Identify specific statements in the policy that are resulting in allowing or denying access.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Secure an AWS Deployment.
Lesson 5: Securing an AWS Deployment | Topic A
AWS™ Fundamentals | 97
ACTIVITY 5-1
Securing an AWS Deployment
Before You Begin
Ensure that your account is set to use the same region you have been using throughout the course.
Scenario
The IT manager at That's Cheezy Cheese Emporium would like to assign the task of monitoring
AWS resources to a team member. He does not want to give that person their own AWS account.
Instead, he wants to create a user under the existing account and grant read-only permissions to that
user. He has asked you create an IAM user under the AWS account, and to verify that the user has
read-only permissions.
Securing an AWS
Deployment
1. Create an IAM user.
a) On the Management Console home page, under Security & Identity, select Identity & Access
Management.
b) On the Welcome to Identity and Access Management page, under IAM Resources, select Users.
c) Select the Create New Users button.
d) Under Enter User Names, in the first text field, enter any name you like. Ensure that Generate an
access key for each user is selected and select the Create button.
e) On the next page, select the Show User Security Credentials link. Examine the user's Access Key
ID and Secret Access Key, then select the Download Credentials button.
f) Save the credentials.csv file to C:\downloads.
Note: Some browsers may not let you choose the download location.
g) Browse to the file and open it. Verify that it contains the same information you saw under Show User
Security Credentials.
h) Close credentials.csv.
i) On the Create User web page, select Close.
2. Grant the new user EC2 read only permissions.
a) In the Users list, select the name of your new user.
b) On the user's summary page, select the Permissions tab, then select the Attach Policy button.
Lesson 5: Securing an AWS Deployment | Topic A
98 | AWS™ Fundamentals
c) On the Attach Policy page, examine the many policy choices. Scroll down and select the
AmazonEC2ReadOnlyAccess check box, then select the Attach Policy button.
The Permissions tab now shows the policy the user has.
d) Select the Security Credentials tab.
e) In the Sign-In Credentials section, select Manage Password.
f) Select the Assign a Custom Password radio button.
g) In the Password text field, enter Pass1234 and in the Confirm Password text field, enter the
password again.
h) Select the Apply button.
i) Select the Access Advisor tab and examine the permissions the user has.
3. Test the new IAM user.
a) On the left pane, select Dashboard.
b) Verify that there is an IAM users sign-in link, and copy the link into a new browser window and open
the page.
c) When prompted to sign in, provide the user name of the IAM user you created, with the password of
Pass1234, and select Sign In.
Lesson 5: Securing an AWS Deployment | Topic A
AWS™ Fundamentals | 99
d) Verify that you see the Management Console, and that the IAM user name appears in the top-right
corner, followed by @<your account ID>. Verify also that the IAM user inherits your region.
e) While logged in as your IAM user, in the Compute section, select EC2.
f) Under Resources, select Running Instances.
g) Locate the Cheezy Blog instance, and attempt to change its name to a name of your choice.
h) Verify that after a moment, an Error Applying Tag pop-up dialog box appears informing you that you
are not authorized to perform the operation. Close the error dialog box.
i) Attempt to rename the Windows Server 2012 R2 instance. Verify that this operation also fails.
j) Close the error dialog box.
4. Verify that you can edit the instance using your AWS account.
a) In the upper-right corner of the console, select the drop-down arrow next to the IAM user name, and
then select Sign Out.
b) Select Sign In to the Console.
c) On the IAM login dialog box, select the Sign-in using root account credentials link.
d) Sign in to the console using your normal AWS account credentials.
e) Return to the EC2 Instances page.
f) Under Resources, select Running Instances.
g) Attempt to rename the Cheezy Blog and Windows Server 2012 R2 instances.
h) Verify that the operation is successful.
i) Rename your instances back to their original names of Cheezy Blog and Windows Server 2012 R2.
5. Use the AWS policy simulator to verify your IAM user's permissions.
a) Open a browser tab to https://policysim.aws.amazon.com/ and log in.
b) In the left pane, in the Users, Groups and Roles section, select the IAM user you created earlier.
c) In the Policies section, under IAM Policies, select the AmazonEC2ReadOnlyAccess policy.
d) In the right pane, under Policy Simulator, in the Select service drop-down box, scroll down and
select EC2.
You may have to use your mouse scroll wheel to scroll down and find EC2.
e) Select the Select All button. Verify that a large list appears under Action Settings and Results.
f) Select the Run Simulation button.
g) When the simulation is finished, examine the various permissions. Verify that permissions beginning
with Describe (read-only) are allowed, while the others are denied.
h) Close the policy simulator.
i) Return to the console home page.
Lesson 5: Securing an AWS Deployment | Topic A
100 | AWS™ Fundamentals
TOPIC B
Optimize AWS Security
Now that you can provide basic security for your AWS deployments, you will finally learn how to
optimize your AWS security.
AWS Security Isolation Models
AWS Security Isolation
Models
AWS services uses an isolation model to protect customer data and systems. The following table
summarizes the different isolation mechanisms you can use in AWS.
Isolation Mechanism
Description
Virtual Private Cloud
(VPC)
Keeps different customer (and their tenants) networks separate at
different tiers in the architecture.
Direct Connect VLANs
Allows a customer to use the same VPN to access both public and
private resources separately and securely.
Private Compute
Creates different stages of isolation. You can have a user name and
password, a software-defined network, or dedicated instances
providing isolation at the hardware level.
Private Storage
Only bucket and object owners have access to the Amazon S3
resources they create.
AWS Multi-Tier Security Groups
AWS Multi-Tier Security
Groups
Inform students that a
multi-tier security group
is not a special type of
security group. It is
simply the ability to
assign security groups at
any of three levels in
your VPC.
AWS uses security groups to provide security not only from the Internet to your website, but also
from one level to the next in your service architecture. This allows you to create multi-tier security
that is equivalent to what is found in a traditional three-tier architecture.
AWS security groups are essentially firewall rules. They can be applied to inbound and outbound
traffic, and define:
• The permitted protocol (TCP or UDP).
• The permitted source IP address range OR security group.
• The permitted destination port range.
Security groups can be applied at three levels:
• Website
• Application
• Database
When specifying the source IP address range, you can alternatively specify another security group as
the source (known as an origin). In addition to allowing external traffic from the Internet, your
network, or vendor support, this allows you to control traffic between layers, such as from your
website to your application, or from your application to your database. The following image shows
this relationship.
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 101
Figure 5-2: Multi-tier security groups.
You can use the Management Console or code to create your security groups.
Amazon Inspector
Amazon Inspector is a tool that will automatically assess security and compliance of your deployed
applications. It searches resources that run on EC2 for vulnerabilities or deviations from best
practice. It then reports its findings prioritized by severity. The inspector has a default database of
hundreds of rules that are used to detect vulnerabilities. These rules are updated regularly by the
AWS security research team.
The Inspector works with AWS agents. These are pieces of software that you install in your EC2
instances that communicate with the Inspector. The Inspector regularly polls its agents, and then
analyzes the data. You can automate the process via an API, which allows you to build security
testing into your development process.
Inspector requires an IAM role to work. You must also identify and tag assessment targets, which
are resources you want to scan. Before you launch your assessment, you will also have to choose or
create an assessment template that defines the configuration for your analysis.
Amazon Inspector
Figure 5-3: Amazon Inspector.
Lesson 5: Securing an AWS Deployment | Topic B
102 | AWS™ Fundamentals
AWS WAF
AWS WAF
Explain to students that
cross-site scripting is the
most common form of
website attack. SQL
injection is an exploit
where you can use a
web front end to run
illegal SQL commands
on a back end database.
AWS WAF is a web application firewall that protects your web apps from common exploits. You
can block malicious requests such as cross-site scripting and SQL injection. You can also filter
traffic based on IP source address or strings in web requests. Additionally, you can tune your rules
and monitor traffic to your web app. New rules are quickly deployed. AWS WAF also has an API
that allows you to create, deploy, and manage rules automatically. As with other AWS services, you
only pay for WAF as you use it.
Figure 5-4: AWS WAF.
AWS Trusted Advisor
AWS Trusted Advisor
Inform students that
Trusted Advisor only
provides limited
functionality unless you
pay for a Business Level
or Enterprise Level
support plan.
AWS Trusted Advisor helps you optimize your AWS environment. It regularly inspects your cloud
setup and makes recommendations in four categories:
• Cost optimization
• Performance
• Security
• Fault tolerance
Any customer can use Trusted Advisor's core reporting capabilities including:
• Firewall rules that allow unrestricted access to specific ports
• Whether or not multi-factor authentication is required for the root (administrator) account
• Utilization of IAM accounts
• Whether or not any service has exceeded 80% utilization
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 103
Figure 5-5: AWS Trusted Advisor.
Note: To learn more, check out the Spotlight on AWS Trusted Advisor presentation from the
Spotlight tile on the CHOICE Course screen.
Note: If you pay for a subscription, you can also get notifications and programmatically access
results.
Access the Checklist tile on your CHOICE Course screen for reference information and
job aids on How to Optimize AWS Security.
You may want to show
the Spotlight on AWS
Trusted Advisor
presentation available
on the Spotlight tile on
the CHOICE Course
screen. You might
choose to include it in
your instructional plans,
or you can remind
students about the tile
and the supplemental
information it contains.
Lesson 5: Securing an AWS Deployment | Topic B
104 | AWS™ Fundamentals
ACTIVITY 5-2
Optimizing AWS Security
Before You Begin
You have a Windows Server 2012 R2 instance.
Scenario
The IT department at That's Cheezy Cheese Emporium wants to make sure that any Windows
servers running in the AWS cloud are as secure as possible. They have asked you to run a
vulnerability assessment against the new Windows Server 2012 R2 instance. You have decided to
use Amazon Inspector to run the vulnerability assessment.
Optimizing AWS
Security
1. Open Inspector.
a) If necessary, log in to your AWS account.
b) On the breadcrumb trail, select Services→Security & Identity→Inspector.
c) On the Amazon Inspector page, select Get Started.
d) On the Get started with Amazon Inspector page, in the Amazon Inspector prerequisites section,
under Create a role, select the Choose or create role button.
e) On the next page, select the Allow button.
If a tab opens prompting you to log in, close the tab to return to the Get started with Amazon
Inspector page.
f) Verify that an Amazon Inspector role named inspector has been created, and then select the Next
button.
g) On the Define an assessment target page, configure your target as seen in the following image.
h) Select the Next button.
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 105
i)
On the Define an assessment template page, configure settings as seen in the following image.
j) Select the Next button.
k) On the Review page, read the reminder that an assessment requires the AWS agent and select
Create.
2. (Optional) Log into your target Windows Server 2012 R2 EC2 instance.
a) In EC2 Instances, select your Windows Server 2012 R2 instance.
b) Select Actions→Get Windows Password.
c) In the Retrieve Default Windows Administrator Password pop-up dialog box, verify that Key Name is
My Windows Server Key.
d) Next to the Key Pair Path, select the Browse button.
e) Browse for MyWindowsServerKey.pem and select the Open button.
f) Verify that the RSA PRIVATE KEY appears in the text field, and then select Decrypt Password.
g) Record the User name and Password, then select the Close button.
Alternatively, you can just copy the password to your clipboard.
h) With your Windows instance still selected, select Actions→Connect.
i) In the Connect To Your Instance pop-up dialog box, select Download Remote Desktop File. Make a
note of the name of the RDP connection file, and record the location where the file is saved. If you
browser permits, you may save it in a location of your choosing.
j) Close the Connect to Your Instance dialog box.
k) When your RDP connection file is done downloading, locate and open it.
l) In the Remote Desktop Connection dialog box, select Connect.
m) In the Windows Security dialog box, under Administrator, enter the password you decrypted (if you
copied the password to your clipboard, you can just paste it) and then select OK.
n) When prompted about the certificate, select Yes.
The desktop of your Windows 2012 R2 server appears.
3. (Optional) Install the AWS agent.
a) On the Windows Server 2012 R2 desktop, in the lower-left corner, select the Start page launcher.
b) On the Start page, select the Internet Explorer tile.
c) Open the browser to https://d1wk0tztpsntt1.cloudfront.net/windows/installer/latest/
AWSAgentInstall.exe. If prompted to add the website to Trusted sites, select Add.
Alternatively, you can do a browser search for Working with AWS Agents. In the search results,
select the Working with AWS Agents - Amazon Inspector link. On the Working with AWS Agents
page, under Topics, select the link Working with AWS agents on Windows-based operating systems
to copy and paste the URL for downloading the agent.
d) Download and install the executable. If prompted by any security alerts, select Yes. If prompted to
add the site to Trusted sites, do so.
Lesson 5: Securing an AWS Deployment | Topic B
106 | AWS™ Fundamentals
e) Save and Run the downloaded executable. Accept the license agreement and select Install. When
the AWS agent is finished installing, close the agent setup dialog box.
f) Close your Remote Desktop Connection. If prompted, select OK.
4. (Optional) Run the Amazon Inspector vulnerability assessment against your target instance.
a) Return to the Amazon Inspector console. If necessary, in the left pane, select Assessment
templates.
b) In the Amazon Inspector - Assessment Templates section, select My-assessment-template, and
then select the Run button.
c) Verify that the Last run column shows Collecting data.
It will take about 15 minutes for the assessment to complete. You may finish the activity at this point,
or optionally return in 15 minutes to check your findings.
Note: You may need to refresh the page to see that the analysis is completed.
5. (Optional) Check your findings.
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 107
a) On the left pane, if necessary, select Findings, and examine any findings and recommendations.
Since your AMI was already preconfigured, you are not likely to have any findings. Your findings will
probably look similar to the following image.
b) Return to the console home page.
Lesson 5: Securing an AWS Deployment | Topic B
108 | AWS™ Fundamentals
ACTIVITY 5-3
(Optional) Deleting Your AWS Resources and
Account
Scenario
In this activity, you will delete the AWS resources you created in this course, as well as delete your
AWS account.
Remind students that
any resources they have
created, particularly EC2
instances, will continue
to accrue charges, even
if they are not used.
Note: If you wish to continue using any of the resources you created, including your AWS
account, you can skip any of the following steps. Deleting resources will ensure that they will not
incur additional charges. Deleting your account will delete all of your resources at the same time.
If you plan to use your account for production purposes, or to take the AWS™: Systems
Operations course, you can delete your resources but keep your account.
1. Check your AWS account for charges.
a) From the drop-down box next to your account name, select My Account.
b) In the left pane, select the Dashboard link.
c) Examine any costs you may have accrued.
Any charges will appear on your next month's credit card bill.
2. Delete your S3 bucket.
a) On the Management Console, under Storage and Content Delivery, select S3.
b) Move your mouse over the bucket until the row becomes highlighted. Select in the highlighted area
to the right of the bucket link, but do not select the bucket link itself.
c) Select Actions→Delete Bucket.
d) In the Delete pop-up dialog box, in the Bucket name text field, enter the name of the bucket (it will
be displayed in the pop-up dialog box) and select the Delete button.
e) Verify that the bucket has disappeared from the All Buckets list.
f) Repeat this step for any other S3 buckets you created.
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 109
3. Delete your EC2 instances.
Note: You need to delete the instances before you can delete any volumes.
a) Navigate to the EC2 console page.
b) In the left pane, under INSTANCES, select Instances.
c) Select all of your instances.
d) Select Actions→Instance State→Terminate.
e) Select Yes, Terminate.
f) After a few moments, verify that all instances have entered the terminated state. You may need to
refresh the page to update the Instance State column.
Eventually, all terminated instances will disappear.
4. Delete your EBS volumes.
a) In the left pane, under ELASTIC BLOCK STORE, select Volumes.
b) Select all of your EBS volumes.
c) Select Actions→Delete Volumes.
d) Select Yes, Delete.
e) Verify that all EBS volumes have disappeared from the console. You may need to refresh the page
to verify the deletion.
5. Delete your DynamoDB database.
a) Navigate to the DynamoDB console page.
b) In the left pane, select Tables.
c) Select the Our_Cheezy_Forum radio button.
d) Select Actions→Delete table.
e) Select Delete.
f) Use the same steps to delete the Thread and Reply tables.
g) Verify that all tables have disappeared from the DynamoDB console.
Inform students that if
they wish to use their
AWS account in
production or in the
6. Delete any non-default VPCs.
a) Navigate to the VPC console.
b) Select the VPC link.
c) In the list of VPCs, identify if you have more than one VPC.
Note: Only continue if you have more than one VPC. If you have only one
VPC, skip to Step 7.
d) In the list of VPCs, identify the VPC that shows Default VPC as No.
e) Select your non-default VPC.
f) Select Actions→Delete VPC.
g) Select Yes, Delete.
h) If necessary, delete any additional non-default VPCs you might have.
i) Verify that you have only a default VPC remaining.
AWS™: Systems
Operations course, they
should keep their default
VPC. If they delete the
default VPC, they will
have to contact AWS
Services to create a new
one. If they do not intend
to keep their AWS
account, the default VPC
will be deleted when
they delete their account
in the last step.
7. Delete your CloudFormation stack.
a) Navigate to the CloudFormation Management Console.
b) Select your stack.
c) Select Actions→Delete Stack.
d) Select Yes, Delete.
e) Verify that your stack Status has changed to DELETE_IN_PROGRESS.
After a moment, your stack will disappear.
8. Delete your IAM user.
Lesson 5: Securing an AWS Deployment | Topic B
110 | AWS™ Fundamentals
Note: IAM users do not incur any charge. If you intend to use your IAM user in
production, you can skip to Step 9.
a) Navigate to the Identity & Access Management console.
b) Under IAM Resources, select the Users link.
c) Check the check box for your IAM user.
d) Select User Actions→Delete User.
e) Select Yes, Delete.
f) Verify that you have no IAM users.
9. Delete your Inspector assessment template.
a) Navigate to the Inspector Management Console.
b) On the left pane, select Assessment templates.
c) Select your template.
d) Select Delete.
e) Select Yes.
f) Verify that you have no assessment templates.
10. Delete your account.
Note: Skip this step if you intend to use your AWS account in the future.
a) From the drop-down box next to your account, select My Account.
b) Scroll to the bottom of the page.
c) Under Close Account, check the check box and then select the Close Account button.
d) In the Close Account pop-up dialog box, select the Close Account button.
e) Under your account name, select Sign out.
f) Select the Sign in to the Console button.
g) Attempt to sign in using your account. Verify that you receive an error message stating that the AWS
account is not accessible.
Closing your AWS account will delete any remaining resources, and prevent any further AWS
charges from occurring on your credit card. It will not impact the account you use to make online
purchases on Amazon.com.
11. Close all browsers.
Lesson 5: Securing an AWS Deployment | Topic B
AWS™ Fundamentals | 111
Summary
In this lesson, you learned how to secure your AWS deployment using IAM users and policies,
directory services, and certificates. You learned how to use an API Gateway, and how to
authenticate APIs. You also learned how to optimize and verify AWS security using isolation
models, multi-tier security groups, Inspector, WAF, and Trusted Advisor.
Do you foresee creating IAM users in your environment? Why or why not?
A: Answers will vary. If you have no need to delegate administrative or developer access with different
permissions levels, you might not bother creating IAM users. On the other hand, if you wish to
delegate control to colleagues, and do not wish to give them full access to the account, you will want
to create IAM users.
Which AWS security optimizing tool do you think you will use in your environment?
A: Answers will vary. Since Inspector and Trusted Advisor are both free to use, most people will probably
use those tools. If you have websites that you wish to protect from malicious requests, you may want
to use AWS WAF.
Encourage students to
use the social
networking tools
provided on the CHOICE
Course screen to follow
up with their peers after
the course is completed
for further discussion
and resources to support
continued learning.
Note: Check your CHOICE Course screen for opportunities to interact with your classmates,
peers, and the larger CHOICE online community about the topics covered in this course or
other topics you are interested in. From the Course screen you can also access available
resources for a more continuous learning experience.
Lesson 5: Securing an AWS Deployment |
AWS™ Fundamentals | 113
Course Follow-Up
Congratulations! You have completed the AWS™ Fundamentals course. You have successfully
learned the basics of choosing and deploying AWS cloud services.
What's Next?
AWS™: Systems Operations is the next course in this series. In it, you will deepen your knowledge of
implementing, supporting, and maintaining Amazon Web Services in your organization.
You are encouraged to explore Amazon Web Services further by actively participating in any of the
social media forums set up by your instructor or training administrator through the Social Media
tile on the CHOICE Course screen.
Course Follow up
Solutions
ACTIVITY 1-1: Introducing That's Cheezy Cheese
Emporium
1. As a consultant for That's Cheezy Cheese Emporium, what challenges to you foresee in
helping That's Cheezy understand the world of AWS cloud services?
A: Answers will vary. AWS will likely introduce new concepts to the company and its
management. You may need to help the company understand terminology and concepts
before they can make any informed decisions. You might also face opposition by those who
see no value in changing their operational model.
2. How do you think the AWS Global Infrastructure can assist a company like That's Cheezy
Cheese Emporium?
A: Answers will vary. Since AWS has a global infrastructure, it is well positioned to provide
service to a company that is trying to expand into a global market. In addition, its global
network of Availability Zones will make it easier for That's Cheezy to build in redundancy and
fault tolerance.
ACTIVITY 1-2: Selecting Appropriate Infrastructure
Options
1. With regard to That's Cheezy's need to support growth trends and new marketing initiatives,
which online solution or solutions would be a good fit for their new requirements?
A: Answers will vary. The company's current website hosting provider hosts websites but does
not offer the other services that the company desires. Any solution chosen must be one that
scales. Cloud computing, grid computing, and colocation all support scalability to some level or
another. However, the desire to extend into a global market requires a service provider that can
scale globally. In this case, cloud computing is the best choice.
2. How can AWS help That's Cheezy achieve its business objectives?
A: Answers will vary. First of all, it provides all of the services that the company desires. Its
regions and Availability Zones make it easy to scale and provide service to any part of the
globe. It is also convenient and economical to use.
116 | AWS™ Fundamentals
3. If That's Cheezy chooses AWS cloud computing, what are some of the biggest
challenges they will face?
A: Answers will vary. AWS provides only the infrastructure. That's Cheezy's IT
department will have to know how to build its online services on top of that infrastructure.
It will need to be able to choose the right services for its needs, build those applications,
and secure the servers, networking components, applications, and data.
ACTIVITY 1-3: Leveraging AWS in Your Business
Strategy
5. What can That's Cheezy Cheese Emporium do if it does not have the managerial or
technical expertise necessary to take advantage of AWS?
A: Answers will vary. Management can follow the guidelines laid out in the AWS CAF.
The IT department can engage third-party services and products available at the AWS
Marketplace. IT can also learn how to use the various services by first deploying the Free
Tier Eligible versions.
ACTIVITY 1-5: Working with the AWS Management
Console
2. Which tools do you think you might use when building That's Cheezy's cloud-based
infrastructure?
A: Answers will vary, though many will choose Compute, Storage and Content Delivery,
and Database.
5. How will the Dashboard help you track your AWS costs?
A: Answers will vary. You can use the Spend Summary and Month-to-Date Spend by
Service charts to track the cost of various AWS services you are using. You can also set
alerts to automatically email you when a cost threshold has been reached.
7. Which of the additional resources do you think will be useful in your daily operations?
A: Answers will vary. In the beginning, admins might find Getting Started and AWS
Marketplace to be very useful. If they want to access the console via a mobile device,
they might use the AWS Console Mobile App. For daily operations, some may want to
use the Service Health Dashboard.
8. What is the current Service Health status?
A: Answers may vary, but most likely it will show all services operating normally.
ACTIVITY 2-1: Choosing an AWS Storage Solution
1. Which storage solution would best serve the IT department's needs?
A: Because several servers need to share data in a common network location, EFS would
be the best choice. EBS, like a physical hard drive, is mounted to only one server so it's
not a good choice. S3 does not allow objects in a bucket to be edited, but rather replaced
by a new version. For that reason, S3 is also not a good choice. Glacier is not meant for
constant data access, so it is not the right choice either.
Solutions
AWS™ Fundamentals | 117
2. Which storage solution would be the best fit for the graphics team?
A: The graphics team has two needs, and EBS can serve both. Each graphic artist should have an
editing computer with at least one additional EBS volume attached. As they edit, they can save the clips
to this volume. The EBS volume can then be detached from the artist's workstation and reattached to a
computer dedicated to rendering video. The rendering machine can have additional EBS volumes
configured in a RAID 0 disk striping array for maximum throughput. EFS is not a good choice because
of the latency added by network access between the workstation and storage. Additionally, you cannot
stripe EFS shares. S3 also cannot be striped, and has network latency. It is also not meant for
continuous editing of the same files. Glacier is meant for cold storage only, so could not possibly be
used for this purpose.
3. Which storage solution would be best for the sales team?
A: Because they need files to be available from anywhere in the world, an S3 bucket is a good choice.
It's easy to set up, requiring little effort. Although S3 does not allow objects to be directly edited, this
should not be a problem. When new product literature and price sheets are available, they can just be
uploaded to the S3 bucket, replacing the old versions.
4. Which storage solution would satisfy the company's legal requirements?
A: Glacier is by far the best choice in this scenario. It is meant for long term, safe storage of data at a
very low cost.
ACTIVITY 2-4: Selecting an AWS Database Service
1. Which database solution would be best suited for capturing and displaying customer reviews and
discussion threads?
A: DynamoDB would be the best choice in this case. Because the data can have loose consistency
(need not be immediately replicated to other websites) and may end up being quite large, a NoSQL
database is a good choice.
2. Which database type would best satisfy what the sales team wants?
A: RDS is the only realistic choice here. Because there must be tight consistency between customers
and their orders, a relational database will be required. Once RDS is set up, the database team can
create a customer database with tables for customers, orders, and products. They can also create
relationships between the tables to ensure data integrity and consistency.
3. What database type would best suit management's needs?
A: Redshift would be the choice in this scenario. Because the data will be coming from diverse sources,
it should be copied to a data warehouse. The data can then be queried and analyzed to spot trends.
ACTIVITY 3-2: Implementing Virtual Networks
3. Do both the WordPress instance and Windows instance belong to the same VPC? If so, which one and
why?
A: Unless a mistake was made when creating the instances, the answer should be yes. They will both
be in the default VPC because when you created the instances, you did not specify which VPC to put
them in.
4. How will being in a VPC help improve security for the two instances?
A: Answers will vary, but since the VPC is isolated from the rest of the world, you can control exactly
what kind of traffic is permitted to and from your servers.
Solutions
118 | AWS™ Fundamentals
5. Compare the VPC CIDR IP address with the Private IP addresses for the instances. Are
they in the same subnet? If so, what does this imply regarding connectivity between the
instances?
A: Unless a mistake was made when creating the instances, they should belong to the
same VPC and thus the same subnet. Belonging to the same subnet means that even
though the VPC is isolated from the rest of the world, the instances can communicate
with each other.
ACTIVITY 4-2: Managing AWS Resources
3. What is the relationship between the categories of metrics that you see and the resources
you have deployed?
A: You will only see metrics for services you have deployed. Services that are not in use
will not send metrics to CloudWatch.
5. Now that you have created different AWS resources in this course, which billing metrics
do you think you might also wish to monitor?
A: Answers will vary. Many will say that they wish to monitor billing for every type of
resource they have created so far. Others may wish to focus on specific resources such
as EC2 or DynamoDB.
Solutions
Glossary
ACM
(AWS Certificate Manager) A tool that
helps you easily provision, deploy, and
manage X.509 public key certificates.
Amazon API Gateway
A fully managed service that makes it easy
to create, publish, secure, and manage
Application Programming Interfaces.
Amazon CloudFront
A global content delivery network (CDN)
that improves performance and availability
of your website by providing servers that
are geographically close to end users.
Amazon CloudWatch
A web service that enables you to monitor
and manage various metrics, and configure
alarms based on those metrics.
Amazon DynamoDB
A fully managed NoSQL database service.
Amazon EBS
(Amazon Elastic Block Store) A block
storage system for EC2 instances that
mimics an external hard drive.
Amazon EC2
(Amazon Elastic Cloud Compute) A web
service that enables you to launch and
manage instances of Linux/UNIX and
Windows servers in Amazon's cloud-based
data centers.
Amazon EFS
(Amazon Elastic File System) A NAS-like
file storage service for EC2 instances.
Amazon ElastiCache
A distributed in-memory data store in the
cloud.
Amazon Glacier
A low-cost, secure and durable storage
system for data archiving and long-term
backup.
Amazon Inspector
An automated security assessment service
used to determine the security and
compliance of applications and operating
systems.
Amazon RDS
(Amazon Relational Database Services) A
web service that provides a fully managed
traditional relational database system.
Amazon Redshift
A fully managed, petabyte-scale relational
data warehouse.
Amazon S3
(Amazon Simple Storage Service) Internet
storage used to store and retrieve any
amount of data from anywhere on the web
at any time.
Amazon VPC
(Amazon Virtual Private Cloud) A web
service for provisioning a logically isolated
120 | AWS™ Fundamentals
part of the AWS cloud containing
resources you define.
AMI
(Amazon Machine Image) An encrypted
virtual machine image that contains the
operating system and applications used by
your service.
cloud computing
The use of a provider's Internet-based
network and computers, as opposed to
using locally deployed hardware.
API call
A specific operation that a client
application can invoke at runtime to
perform a task.
EC2 instance
A single copy of an Amazon Machine
Image (AMI) running as a virtual server in
the AWS cloud.
AWS agents
Software installed on a target EC2 instance
that allows Amazon Inspector to perform
a vulnerability assessment on the instance.
EC2 instance store
A low-latency virtual disk that is useful for
temporary storage for EC2 instances.
AWS CloudFormation
A tool for creating or modifying resource
templates.
AWS CloudFormer
A template creation tool that creates an
AWS CloudFormation template using your
account's existing AWS resources.
AWS Directory Service
An AWS deployment of a Microsoft
Active Directory or compatible directory
service.
AWS IAM
(AWS Identity and Access Management) A
tool for securely controlling access to your
AWS resources.
AWS Trusted Advisor
A web service that inspects your AWS
environment and makes recommendations
for improving security, availability,
performance, and cost savings.
AWS WAF
A firewall used to help protect your web
applications from common exploits and
malicious code.
AZ
(Availability Zone) A distinct subdivision
of an AWS region.
Glossary
bucket
A logical unit of storage for Amazon
Simple Storage Service (S3).
edge locations
AWS clustered web content servers that
are geographically close to the end user.
Elastic IP address
A static public IP address that is dedicated
to your account.
ELB
(Elastic Load Balancer) A web-based
service that improves an application's
availability by distributing incoming traffic
between two or more EC2 instances.
endpoint
A URL that is the entry point for your web
service, geographically close to the end
user.
IaaS
(Infrastructure-as-a-Service) A type of
cloud computing that provides automated
compute resources such as virtual
machines, storage, and networking.
IAM policy simulator
A tool used to test and troubleshoot the
effects of IAM and resource-based policies
before you commit them to use.
Infrastructure as Code
The process of using machine-read
definition files to automate configuration
and management of computing infrastructure
devices and service.
AWS™ Fundamentals | 121
JSON
(JavaScript Object Notation) A text-based,
lightweight data interchange format based on a
subset of the JavaScript programming
language.
metadata
A set of data that provides information about
other data.
mount target
An EFS network connection point.
object
Any file that is stored in an S3 bucket.
orchestration
The coordination of multiple services into a
single aggregate service.
tags
Information organized into a key-value pair
that can be used to locate, organize, and
manage AWS resources.
tree hash
A checksum of the original file that is split and
uploaded in pieces to Amazon Glacier.
VPC
(Virtual Private Cloud) A logically isolated
virtual network.
white box
The use of generic network hardware such as
switches and routers that get their forwarding
and control-plane instructions from software
running on a centralized device.
perspectives
High-level areas of focus that enable managers
to create actionable plans for their AWS
environment.
region
An AWS geographical boundary, generally
involving part of a continent.
resource
Any AWS entity or service that you can deploy
and work with.
resource groups
A combination of AWS resources located
across the entire account that can be viewed
and managed from the same screen.
resource provisioning
A mechanism for quickly making cloud
services available to the customer.
security group
A virtual firewall that controls traffic for one
or more EC2 instances.
stack
A collection of AWS resources that are
launched from the same template and are
administered as a single unit.
Glossary
Index
A
ACM 95
Amazon API Gateway 95
Amazon CloudFront 36
Amazon CloudWatch 84
Amazon DynamoDB
overview 43
use cases 45
vs. RDS 45
Amazon EBS
comparisons 34
integration with EC2 63
overview 32
Amazon EC2
defined 58
EC2 instance 58
implementation 62
integration with EBS 63
integration with EFS 63
security groups 60
storage 60, 61
Amazon EFS
integration with EC2 63
overview 33, 34
Amazon Elastic Block Store, See Amazon
EBS
Amazon Elastic Cloud Compute, See
Amazon EC2
Amazon Elastic File System, See Amazon
EFS
Amazon Glacier 35
Amazon Inspector 101
Amazon Machine Image, See AMI
Amazon RDS
overview 43
vs. DynamoDB 45
Amazon Redshift 46
Amazon Relational Database Services, See
Amazon RDS
Amazon S3
bucket and object 32
comparisons 34
Amazon Simple Storage Service, See
Amazon S3
Amazon Virtual Private Cloud, See
Amazon VPC
Amazon VPC 71
Amazon Web Services, See AWS
AMI 60
Apache ElastiCache 72
API authentication 96
API call 96
authentication and encryption
keys 21
AWS
overview 5
AWS agents 101
AWS Certificate Manager, See ACM
AWS Cloud Adoption Framework, See
CAF
AWS CloudFormation 78
AWS CloudFormer 79
AWS command line tools 21
AWS Core Infrastructure Services
major categories 8
AWS Directory Service 94
AWS Global Infrastructure
Availability Zones 6, 7
edge locations 6
endpoints 6
124 | AWS™ Fundamentals
D
up
lic
CAF
perspectives 15
cloud computing
and elastic capacity 6
defined 4
cloud services
benefits 14
cost monitoring 85
EC2 instance
AMIs 60
and ELB 63
and VPC 71
defined 58
integration with EBS 63
integration with EFS 63
security groups 60
storage 60, 61
types 58
EC2 instance store 61
edge locations 6
Elastic IP address 71
Elastic Load Balancer, See ELB
ELB
N
ot
ut
e
I
ib
IaaS 4
IAM policy simulator 96
Infrastructure-as-a-Service, See IaaS
Infrastructure as Code 78
is
D
M
managed database services
RDS vs. DynamoDB 45
types 43
managing resources
Amazon CloudWatch 84
cost monitoring 85
deleting 86
metrics and alarms 83
mount target 33
or
C
o
Free Tier Eligible services 16
JavaScript Object Notation, See JSON
JSON 78
at
e
bucket 32
business strategy
aligning with business goals 15
AWS platform uses and case studies
14
cloud benefits 14
D
F
J
B
E
and EC2 instances 63
types and features 64
endpoints 6
tr
regions 6, 7
AWS IAM
overview 94
policy simulator 96
AWS Identity and Access Management, See
AWS IAM
AWS Management Console
new console preview 20
tools 19
user interface 19
AWS Marketplace 16
AWS Trusted Advisor 102
AWS Utility Pricing Model 6
AWS WAF 102
N
NoSQL databases 43, 44
O
object 32
orchestration 78
R
resource groups
creating 19
overview 22
resources
defined 21
deletion 86
metrics and alarms 83
resources provisioning 78
RESTful API 95
Index
AWS™ Fundamentals | 125
S
tr
ib
ut
e
security
Amazon Inspector 101
AWS Trusted Advisor 102
AWS WAF 102
features 9
isolation models 100
shared security model 10
security groups
for EC2 instances 60
multi-tier 100
storage
and EC2 instances 60, 61
options 32
is
T
tags
at
e
or
D
creating 19
metadata 21
resources 21
stack 21
Tag Editor 22
tree hash 35
Virtual Private Cloud, See VPC
VPC 33
W
D
o
N
ot
D
web service
hosting types 2
white box hardware 78
up
lic
V
Index
ut
e
ib
tr
is
D
or
at
e
up
lic
D
N
ot
o
D
Licensed For Use Only By: Eleni Ioannou eioannou@newhorizons.cy Nov 6 2023 8:40A
Download