Amazon Web Services Bootcamp - Sunil Gulabani - E-Book

Amazon Web Services Bootcamp E-Book

Sunil Gulabani

0,0
31,19 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

AWS is at the forefront of Cloud Computing today. Businesses are adopting AWS Cloud because of its reliability, versatility, and flexible design.
The main focus of this book is teaching you how to build and manage highly reliable and scalable applications and services on AWS. It will provide you with all the necessary skills to design, deploy, and manage your applications and services on the AWS cloud platform.
We’ll start by exploring Amazon S3, EC2, and so on to get you well-versed with core Amazon services. Moving on, we’ll teach you how to design and deploy highly scalable and optimized workloads. You’ll also discover easy-to-follow, hands-on steps, tips, and recommendations throughout the book and get to know essential security and troubleshooting concepts.
By the end of the book, you’ll be able to create a highly secure, fault tolerant, and scalable environment for your applications to run on.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 242

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Amazon Web Services Bootcamp

 

 

 

 

 

 

 

Develop a scalable, reliable, and highly available cloud environment with AWS

 

 

 

 

 

 

 

 

 

 

 

Sunil Gulabani

 

 

 

 

 

 

 

 

 

 

 

BIRMINGHAM - MUMBAI

Amazon Web Services Bootcamp

Copyright © 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Commissioning Editor: Vijin BorichaAcquisition Editor: Namrata PatilContent Development Editor: Deepti ThoreTechnical Editor: Nirbhaya ShajiCopy Editor:Safis EditingProject Coordinator: Shweta H BirwatkarProofreader: Safis EditingIndexer: Priyanka DhadkeGraphics: Jisha ChirayilProduction Coordinator: Shraddha Falebhai

First published: March 2018

Production reference: 1290318

Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.

ISBN 978-1-78829-445-4

www.packtpub.com

mapt.io

Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.

Why subscribe?

Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals

Improve your learning with Skill Plans built especially for you

Get a free eBook or video every month

Mapt is fully searchable

Copy and paste, print, and bookmark content

PacktPub.com

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.

Contributors

About the author

Sunil Gulabani is a software engineer based in India. He is currently working on Java EE and the AWS Cloud platform. He is also a cloud evangelist who helps IT folks to leverage the AWS cloud platform for their business needs. He has insightful knowledge on designing microservices, system architecture and integration, data modeling, relational databases, and NoSQL in order for an application to achieve  high throughput. He has authored the following books:

Developing RESTFul Web Services with Jersey 2.0

Amazon S3 Essentials

Practical Amazon EC2, SQS, Kinesis, and S3

In loving memory of my elder brother, Kailash Gulabani, who inspired everyone around him to face the challenges in life with grace. I am grateful to the Almighty God for giving me all the strength to chase my dreams. To my parents for their endless love and blessings. My wife, Priya, whose love, affection, encouragement, and prayers make me able to get such success and honor. Thank you for understanding and inspiring me always.

About the reviewers

GogulaRaja S. R. is a DevOps engineer at Cloudenablers Inc, a product-based company in Chennai, India. He takes care of analyzing and setting up the environments in the public cloud for the customers. He has also worked extensively with automation technologies (Chef and Ansible). He possesses the ability to deep dive into a specific area whenever the need arises and make sense of it quickly.

I would like to thank my parents, friends, and my company for providing their love and support.

 

 

Dhwani Dyer is a software engineer from India. She's done her bachelor's from Gujarat University and master's from Gujarat Technological University and is currently working at Infostretch as an implementation analyst on Java-based applications. She's interested in freelancing for development, AWS, Jenkins, and Relational Database. She's keen interest in writing tech blogs, book reviews, and is actively involved in knowledge sharing communities with knowledge of Java, HTML, CSS, AWS, Linux basic, data modeling, relational database, and has experience on the client side too.

First and foremost, I would like to thank my parents and sisters for standing beside me throughout my career. They are my inspiration and motivation for continuing to improve my knowledge and move my career forward. I also wish to thank all my friends, colleagues, and project coordinator, Shweta Birwatkar. Thanks for everything.

Packt is searching for authors like you

If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.

Table of Contents

Title Page

Copyright and Credits

Amazon Web Services Bootcamp

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewers

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Getting Started with AWS

Introduction to AWS

Services offered by AWS

Compute

Storage

Database

Networking and content delivery

Migration

Development tools

Management tools

Media services

Machine learning

Security, identity, and compliance

Analytics

Internet of Things

Contact center

Game development

Mobile services

Application integration

Business productivity

Desktop and app streaming

AR and VR

Sign-up process

Sign-in process

Regions

Installing the AWS CLI

Windows

Linux

Summary

Configuring IAM

Policies

AWS Management Console

Creating a policy

AWS CLI

Creating a policy

Creating a policy version

AWS SDK – Java

Creating a policy

Creating a policy version

AWS CloudFormation

Role

AWS Management Console

Creating a role

AWS CLI

Creating a role

Attaching managed policies

Creating an inline role policy

AWS SDK – Java

Creating a role

Attaching managed Policies

Creating an inline role policy

AWS CloudFormation

Group

AWS Management Console

Creating a group

AWS CLI

Creating a group

Attaching a group policy

Adding a group policy – Inline

AWS SDK – Java

Create Group

Attaching a group policy

Adding a group policy – Inline

AWS CloudFormation

Users

AWS Management Console

Create an user

AWS CLI

Create an user

Creating an access key

Creating a login profile

Adding a user to the group

Attaching a user policy

AWS SDK – Java

Creating a user

Create an access key

Creating a login profile

Adding a user to a group

Attaching a user policy

AWS CloudFormation

Summary

Building Servers Using EC2

EC2 instance types

Amazon Machine Images

Key pairs

AWS Management Console

Creating key pairs

AWS CLI

Creating key pairs

AWS SDK - Java

Creating key pairs

Security groups

AWS Management Console

Creating a security group

AWS CLI

Creating a security group

Adding an inbound rule

AWS SDK – Java

Creating a security group

Adding an inbound rule

AWS CloudFormation

EC2 instance

AWS Management Console

Launching an instance

Connecting to the EC2 instance

AWS CLI

Launching an instance

AWS SDK - Java

Launching an instance

AWS CloudFormation

Elastic Load Balancer

AWS Management Console

Creating a load balancer

AWS CLI

Creating a load balancer

Creating load balancer listeners

Configuring a health check

Registering an instance

AWS SDK - Java

Creating a load balancer

Creating load balancer listeners

Configuring a health check

Registering a instance

AWS CloudFormation

Auto Scaling groups

AWS Management Console

Creating an Auto Scaling group

AWS CLI

Creating a launch configuration

Creating an Auto Scaling group

Creating a scaling policy

AWS SDK - Java

Creating a launch configuration

Creating an Auto Scaling group

Creating a Scaling Policy

AWS CloudFormation

Elastic Block Storage

Summary

Storing Files on S3

Bucket

AWS Management Console

Creating a bucket

AWS CLI

Creating a bucket

AWS SDK (Java)

Creating a bucket

AWS Cloud Formation

Objects

AWS Management Console

Creating a folder

Uploading an object

Getting an object

AWS CLI

Creating a folder

Uploading an object

Getting an object

AWS SDK (Java)

Creating a folder

Uploading an object

Getting an Object

Static Website Hosting

AWS Management Console

Summary

Managing RDS

Supported databases

Amazon Aurora

MariaDB

Oracle

MySQL

PostgreSQL

Microsoft SQL Server

DB instance

AWS Management Console

Creating a security group

Creating a DB instance

Testing the database connection

AWS CLI

Creating a DB instance

AWS SDK – Java

Creating a DB instance

AWS CloudFormation

Summary

Implementing DynamoDB – NoSQL Database

Basic concepts

Tables

Items

Attributes

Data types

Primary keys

Secondary indexes

Streams

DynamoDB tables

AWS Management Console

Creating a table

AWS CLI

Creating a table

AWS SDK - Java

Create table

AWS CloudFormation

CRUD operations

Create item

Get item

Query items

Scanning items

Update item

Delete item

Summary

Implementing Caching Using ElastiCache

ElastiCache – Memcached

AWS Management Console

AWS CLI

AWS SDK – Java

AWS CloudFormation

ElastiCache – Redis

AWS Management Console

Creating Redis (cluster mode disabled) ElastiCache server

Creating the Redis (cluster mode enabled) ElastiCache

AWS CLI

Creating Redis ElastiCache node

Creating Redis (cluster mode disabled) ElastiCache

Create Redis (cluster mode enabled) ElastiCache

AWS SDK – Java

Create Redis ElastiCache node

Create Redis (cluster mode disabled) ElastiCache

Create Redis (cluster mode enabled) ElastiCache

AWS CloudFormation

Create Redis ElastiCache node

Create Redis (cluster mode disabled) ElastiCache

Create Redis (cluster mode enabled) ElastiCache

Summary

Triggering Notifications

Protocols

Topics

AWS Management Console

AWS CLI

AWS SDK – Java

AWS CloudFormation

Subscription

AWS Management Console

AWS CLI

AWS SDK – Java

AWS CloudFormation

Publishing a message

AWS Management Console

AWS CLI

AWS SDK – Java

Summary

All About CloudWatch

Metrics

Publishing metric data

Alarms

AWS Management Console

AWS CLI

AWS SDK – Java 

AWS CloudFormation

Events

Logs

Publishing logs

Viewing logs

Dashboards

AWS Management Console

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

Preface

AWS is at the forefront of cloud computing today. Businesses are adopting AWS Cloud because of its reliability, versatility, and flexible design.

The book will guide you to build and manage highly reliable and scalable applications and services on AWS. Also, you will be learning all the necessary skills to design, deploy, and manage your applications and services on the AWS cloud platform. Initially, we will walk you through various web services offered by Amazon. This will help you to get a high-level of understanding of different services.

Moving forward, we will be exploring Amazon IAM, EC2, S3, RDS, and more, to get you well-versed with core Amazon services. Each chapter will contain different ways to access AWS resources such as AWS Management Console, AWS CLI, AWS SDK (Java), and Cloud Formation. Later, you may choose any of the ways to create your cloud infrastructure. The book also contains easy-to-follow hands-on steps, tips, and recommendations, along with security and troubleshooting concepts.

By the end of the book, you will be able to create a highly secure, fault-tolerant, and scalable environment for your applications to run on. 

Let’s play with Amazon Web Services!

Who this book is for

This book targets IT professionals and system administrators looking at designing, deploying, and managing your applications and services on the AWS cloud platform. Developers looking at building highly scalable cloud-based services will also find this book useful. A basic understanding of AWS would be beneficial.

What this book covers

Chapter 1, Getting Started with AWS, briefs you about the basics of cloud computing and what Amazon Web Services (AWS) offers in cloud computing ecosystem. We will have walkthrough on different services offered by Amazon and sign-up processes.

Chapter 2, Configuring IAM, explains how to manage the access to AWS resources. This is a central security service around which all different AWS resources are surrounded for access management.

Chapter 3, Building Server Using EC2, helps you to build highly available and scalable applications using EC2 instances. We will learn how to configure the load balancer and auto-scaling feature, which helps to scale our application dynamically.

Chapter 4, Storing Files on S3, demonstrates how to utilize the cloud storage for more than one. We will learn about how to store data to and retrieve data from S3 and host a static HTML website.

Chapter 5, Managing RDS, lets you set up and operate database over the cloud. We will learn about different database engines supported by Amazon RDS and how to set up the MySQL database instance.

Chapter 6, Implementing DynamoDB – NoSQL Database, lets you create and operate a DynamoDB table. We will talk about auto-scaling the provisioned throughput on the DynamoDB table and secondary indexes, and then we have an example that will demonstrate CRUD operations.

Chapter 7, Implementing Caching Using ElastiCache, guides you through creating a caching server on the AWS cloud. We will learn about caching servers supported by the Amazon ElastiCache service and how to set up the infrastructure.

Chapter 8, Triggering Notifications, lets you create an SNS topic and send notifications to subscribers. We will also talk about push notifications on mobile devices and desktops.

Chapter 9, All about CloudWatch, explains how to monitor the AWS resources and applications to make sure they are up and running. You will learn about different features of CloudWatch, such as Alarm, Metrics, Logs, and Events.

 

To get the most out of this book

There are a few considerations to follow the examples in this book: a text editor or IDE (I use IntelliJ IDEA), internet access, and admin rights to your machine to install software.

Download the example code files

You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

Log in or register at

www.packtpub.com

.

Select the

SUPPORT

tab.

Click on

Code Downloads & Errata

.

Enter the name of the book in the

Search

box and follow the onscreen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

WinRAR/7-Zip for Windows

Zipeg/iZip/UnRarX for Mac

7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Amazon-Web-Services-Bootcamp. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: http://www.packtpub.com/sites/default/files/downloads/AmazonWebServicesBootcamp_ColorImages.pdf.

Get in touch

Feedback from our readers is always welcome.

General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packtpub.com.

Getting Started with AWS

Cloud computing is driving the IT industry to restructure the application workflow. It offers low-cost services for IT resources over the internet and a pay-as-you-go pricing model. Under cloud computing, IT resources can be utilized on demand. So, you don't need to pay for unused resources or any upfront fees to provision any hardware in advance.

Amazon Web Services (AWS) is a leading cloud services provider. AWS offers different services in various graphical regions, which can be chosen by customers based on their requirements. With AWS, we can create high availability and fault tolerant applications with minimal configurations. AWS reduces the stress of managing on-premises physical servers and allows us to focus on application layers.

The following topics will be covered in this chapter:

Introduction to AWS

Sign-up process

Regions

Installation of the AWS CLI

Introduction to AWS

AWS is a cloud computing platform offered by Amazon. It offers a large set of services that can be utilized in various forms. AWS caters for different services, including infrastructure, networking, storage, databases, security, and many more. These different services can be used in the application life cycle. Also, AWS offers a pay-as-you-go pricing model, which means that the user will only pay for services being used, so the user doesn't have to pay any upfront fees to acquire hardware resources.

AWS offers a web service interface for all services. We can also integrate AWS services via web services with various software to make our application management easier. AWS offers multiple regions to create AWS services.

The user has the choice to select the regions based on the application usage so that latency is low. Each region has multiple Availability Zones (AZ), which means you have an option to select Availability Zones where the application will reside, to avoid failure when one availability zone is down but another may be up.

Services offered by AWS

AWS offers a wide range of services under different categories. The following are some of the services that are offered by AWS.

Compute

Compute offers a computing platform where we can create virtual servers, and deploy and run our applications:

Elastic Compute Cloud

 (

EC2

)

: AWS EC2 is a web service interface that allows users to create and configure

compute machines

in the cloud. It offers scalable compute machines with minimal configuration and reduces overall time to boot new servers. 

EC2 Container Service

(

ECS

): AWS ECS allows you to work with Docker-enabled applications. We don't need to deal with the installation or configuration of prerequisite software to run on the cluster. ECS runs on Amazon EC2 clusters, so it can scale seamlessly.

Lightsail

: AWS Lightsail is used to launch virtual private servers. Lightsail offers low-cost computing servers that can be utilized by small and medium-sized businesses (SMBs).

Elastic Beanstalk

: AWS Elastic Beanstalk is used for deploying and handling applications without worrying about the infrastructure it is going to run. We simply upload the application's deployable file and Elastic Beanstalk automatically handles capacity provisioning, load balancing, auto scaling, and application health monitoring.

Lambda

: AWS Lambda is a serverless computing service where we don't need to manage servers and can focus on the business logic. AWS Lambda code will be executed based on requests and it can scale automatically.

Batch

: AWS Batch allows us to execute multiple jobs automatically. It can execute applications and container images on EC2 instances to accomplish certain tasks.

Storage

AWS offers a wide range of cloud storage services used by applications and for archival purposes:

Simple Storage Service

(

S3

): AWS S3 is an object-based storage service over the web. We can store any amount of data and it can be retrieved from anywhere over HTTP. We can also host a static HTML website on S3.

Elastic File System

(

EFS

): AWS EFS is a scalable file storage system that can be used with EC2 instances. EFS can be automatically scaled up and down based on files being added or removed. EFS can also be mounted on an external server residing outside the Amazon ecosystem.

Glacier

: AWS Glacier is a low-cost storage service that can be used for data archiving and infrequently used data. Glacier offers a reliable, secure, and cost-effective storage service.

Storage Gateway

: AWS Storage Gateway is an interface that helps to connect an on-premise storage infrastructure with an AWS storage infrastructure. Storage Gateway offers multiple storage solution types, including file gateway, volume-based, and tape-based types.

Database

AWS offers a variety of database services that can be used for storing application data in RDMSes, NoSQL databases, and caching servers:

Relational Database Service

(

RDS

): AWS RDS is a cloud relational database offered by Amazon that makes it easy to configure and provide scalability. AWS RDS offers a wide range of databases to choose from, including Amazon Aurora, MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, and Oracle. Amazon also provides a database migration service that can be used by consumers to migrate on-premise or external databases to the Amazon Cloud.

DynamoDB

: AWS DynamoDB is a fully managed NoSQL service that provides high performance and scalability. It handles databases in a distributed manner so that consumers do not have to deal with the administration of the database. Consumers will be directly dealing with tables with unlimited storage and they can store and retrieve data.

ElastiCache

: AWS ElastiCache provides a data caching service that can be an in-memory data store that improves application performance. ElastiCache offers two open source in-memory data stores, Redis and Memcached. The user can configure clusters of caching servers that can automatically handle failover.

Redshift

: AWS Redshift is a fully managed data warehouse service provided by Amazon. Redshift allow us to connect via SQL-based clients and business intelligence tools and is focused on analytics. It also offers fast query execution over a large set of datasets.

Networking and content delivery

AWS offers solutions for running companies' infrastructures under a secured cloud. It can deliver content using the Content Delivery Network (CDN) for low latency, and can expose DNS and REST APIs for applications running on the cloud:

Virtual Private Cloud

(

VPC

): AWS VPC allows us to create private and public networks where we can create different Amazon services. Those services will run under our virtual network in the same way as those running on on-premise data centers. We have authority to configure the IP address range, subnets, network gateways, and security layers.

CloudFront

: AWS CloudFront is a global CDN that helps to cache data over edge locations and provide data to the requester faster. The CDN helps to minimize cost and deliver content with low latency.

Direct Connect

: AWS Direct Connect is a dedicated network service where a consumer can connect an on-premise data center directly to the Amazon network. This helps to reduce the time lag for data transmission and we can configure the connections to increase capacity.

Route 53

: AWS Route 53 is a

Domain Name System

(

DNS

) where we can route our request to AWS infrastructures, such as EC2, RDS, or other services. It also has the capability to route to non-AWS infrastructures. It provides scalability and high availability for the Domain Name System service, so users can rely on it. Route 53 is IPv6 compliant.

API Gateway

: AWS API Gateway is a service that exposes the front entry point (URL) for an application. API Gateway helps to build, monitor, and secure APIs, and can scale at any level. We can redirect the API calls to either AWS Lambda, web applications running on EC2, or any other servers.

Migration

AWS offers migration services that reduce the complexity and time for companies to migrate to the cloud:

AWS Migration Hub

:

AWS Migration Hub allows us to monitor the progress of an application's migration within AWS resources and other partnering software tools. This makes it easier for us to get a high level of understanding about the migration's progress.

Application Discovery Service

: AWS Application Discovery Service is an intelligent service that collects and summarizes the usage of applications and their dependent services running on on-premise servers. This service can be where a user wants to migrate a system and wants to collect information about the on-premise server and find out about the dependent applications. It stores the collected data in the Application Discovery Service database, which will be in an encrypted format. Users can then export the data in CSV or XML format.

Database Migration Service

(

DMS

): AWS DMS is a service that helps to migrate databases from an on-premise server to the Amazon Web Services cloud. It provides support for same-origin vendor database migration, such as Oracle to Oracle, and cross-origin vendor database migration, such as Oracle to MySQL.

Server Migration Service

(

SMS

): AWS SMS is an automated service that migrates your on-premise server workload to AWS. This service can be scheduled and can take incremental migration as well.

Snowball