O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

AWS Certified Developer - Associate Guide

Book Description

An effective guide to becoming an AWS Certified Developer

About This Book

  • This fast-paced guide will help you clear the exam with confidence
  • Learn to design, develop, and deploy cloud-based solutions using AWS
  • Enhance your AWS skills with practice questions and mock tests

Who This Book Is For

This book is for IT professionals and developers looking to clear the AWS Certified Developer – Associate 2017 exam. Developers looking to develop and manage their applications on the AWS platform will also find this book useful. No prior AWS experience is needed.

What You Will Learn

  • Create and manage users, groups, and permissions using AWS Identity and Access Management services
  • Create a secured Virtual Private Cloud (VPC) with Public and Private Subnets, Network Access Control, and Security groups
  • Get started with Elastic Compute Cloud (EC2), launching your first EC2 instance, and working with it
  • Handle application traffic with Elastic Load Balancing (ELB) and monitor AWS resources with CloudWatch
  • Work with AWS storage services such as Simple Storage Service (S3), Glacier, and CloudFront
  • Get acquainted with AWS DynamoDB – a NoSQL database service
  • Coordinate work across distributed application components using Simple Workflow Service (SWF)

In Detail

AWS Certified Developer - Associate Guide starts with a quick introduction to AWS and the prerequisites to get you started. Then, this book gives you a fair understanding of core AWS services and basic architecture. Next, this book will describe about getting familiar with Identity and Access Management (IAM) along with Virtual private cloud (VPC). Moving ahead you will learn about Elastic Compute cloud (EC2) and handling application traffic with Elastic Load Balancing (ELB). Going ahead you we will talk about Monitoring with CloudWatch, Simple storage service (S3) and Glacier and CloudFront along with other AWS storage options. Next we will take you through AWS DynamoDB – A NoSQL Database Service, Amazon Simple Queue Service (SQS) and CloudFormation Overview. Finally, this book covers understanding Elastic Beanstalk and overview of AWS lambda.

At the end of this book, we will cover enough topics, tips and tricks along with mock tests for you to be able to pass the AWS Certified Developer - Associate exam and develop as well as manage your applications on the AWS platform.

Style and approach

This step-by-step guide includes exercises and mock tests to clear the AWS certification exam and become a successful AWS developer.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the color images of this book
      2. Errata
      3. Piracy
      4. Questions
  2. AWS Certified Developer – Associate Certification
    1. Domain 1.0 – AWS fundamentals
    2. Domain 2.0 – Designing and developing
    3. Domain 3.0 – Deployment and security
    4. Domain 4.0 – Debugging
    5. Frequently asked questions about the exam
  3. Introduction to Cloud Computing and AWS
    1. History of the cloud
      1. Evolution of cloud computing
    2. Basic AWS concepts
    3. Benefits of using AWS over a traditional data center
    4. Accessing AWS services
    5. AWS overview
      1. AWS global infrastructure
        1. Regions and AZs
    6. What are SaaS, PaaS, and IaaS?
    7. Understanding virtualization
      1. Virtualization types based on virtualization software
      2. Virtualization types based on virtualization methods
    8. Elasticity versus scalability
      1. Traditional data center resourcing
      2. Cloud infrastructure resourcing
    9. Comparing AWS cloud and on-premise data centers
    10. Total Cost of Ownership (TCO) versus Return on Investment (ROI)
    11. Creating a new AWS account
    12. Deleting an AWS account
    13. AWS free tier
    14. Root user versus non-root user
    15. AWS dashboard
      1. Components of the AWS dashboard
    16. Core AWS services
    17. Shared security responsibility model
    18. AWS soft limits
    19. Disaster recovery with AWS
      1. Backup and restore
      2. Pilot light
      3. Warm standby
      4. Multi-site
  4. Identity and Access Management
    1. Understanding the AWS root user
    2. Elements of IAM
      1. Users
      2. Access key and secret key
      3. Password policy
      4. Multi-factor authentication (MFA)
        1. Security token-based MFA
          1. Steps for enabling a virtual MFA device for a user
        2. SMS text message-based MFA
          1. Creating an AWS IAM user using the AWS dashboard
    3. Introduction to AWS CLI
      1. Installing AWS CLI
      2. Getting a AWS user access key and secret key
      3. Configuring AWS CLI
      4. AWS CLI syntax
        1. Getting AWS CLI help
        2. Creating an IAM user using AWS CLI
    4. Groups
      1. Creating a new IAM group
      2. Creating an IAM group using CLI
      3. Adding existing users to a group
    5. IAM role
      1. Creating roles for an AWS service
      2. Creating IAM roles using AWS CLI
    6. Policy
      1. Managed policies
      2. Inline policies
      3. Resource-based policies
        1. Example of a resource-based policy
      4. IAM policy simulator
      5. Active Directory Federation Service (ADFS)
      6. Integration between ADFS and the AWS console
      7. Web identity federation
    7. STS
      1. AWS STS and AWS regions
      2. Using temporary credentials in Amazon EC2 instances
      3. Using temporary security credentials with the AWS SDKs
    8. IAM best practices
    9. Exam tips
  5. Virtual Private Clouds
    1. AWS VPCs
    2. Subnets
      1. Private subnets
      2. Public subnets
    3. IP addressing
      1. Private IPs
      2. Public IPs
      3. Elastic IP addresses
    4. Creating a VPC
      1. VPCs with a single public subnet
      2. VPCs with private and public subnets
      3. VPCs with public and private subnets and hardware VPN access
      4. VPCs with private subnet only and hardware VPN access
    5. Security
      1. Security groups
      2. NACLs
      3. Security groups versus NACLs
      4. Flow logs
      5. Controlling access
    6. VPC networking components
      1. ENI
      2. Route tables
      3. IGWs
      4. Egress-only IGWs
    7. NATs
      1. Comparison of NAT instances and NAT gateways
    8. DHCP option sets
      1. DNS
    9. VPC peering
    10. VPC endpoints
    11. ClassicLink
    12. VPC best practices
  6. Getting Started with Elastic Compute Cloud
    1. Introduction to EC2
    2. Pricing for EC2
      1. Per-second billing for EC2 instances and EBS volumes
    3. EC2 instance life cycle
      1. Instance launch
        1. Instance stop and start
        2. Instance reboot
        3. Instance retirement
        4. Instance termination
    4. AMIs
      1. Root device types
      2. EC2 instance virtualization types
        1. Creating an EC2 instance
        2. Changing the EC2 instance type
        3. Connecting to the EC2 instance
          1. Connecting to a Linux EC2 instance from a Microsoft Windows system
          2. Connecting to an EC2 instance using a PuTTY session
        4. Troubleshooting SSH connection issues
        5. EC2 instance metadata and user data
        6. Placement group
    5. Introducing EBS
      1. Types of EBS
        1. General Purpose SSD (gp2)
        2. Provisioned IOPS SSD (io1)
        3. Throughput Optimized HDD (st1)
        4. Cold HDD (sc1)
      2. Encrypted EBS
      3. Monitoring EBS volumes with CloudWatch
      4. Snapshots
      5. EBS optimized EC2 instances
    6. EC2 best practices
  7. Handling Application Traffic with Elastic Load Balancing
    1. Introduction to the Elastic Load Balancer
      1. Benefits of using an ELB
      2. Types of ELB
        1. Classic Load Balancer
        2. Application Load Balancer
      3. Features of an ELB
      4. Step by step – creating a Classic Load Balancer
      5. How an ELB works
        1. The working of a Classic Load Balancer
        2. The working of an Application Load Balancer
    2. ELB best practices
  8. Monitoring with CloudWatch
    1. How Amazon CloudWatch works
    2. Elements of Amazon CloudWatch
      1. Namespaces
      2. Metrics
      3. Dimensions
      4. Statistics
      5. Percentile
      6. Alarms
        1. Creating a CloudWatch alarm
      7. Billing alerts
    3. CloudWatch dashboards
    4. Monitoring types – basic and detailed
    5. CloudWatch best practices
  9. Simple Storage Service, Glacier, and CloudFront
    1. Amazon S3
    2. Creating a bucket
      1. Bucket restriction and limitations
      2. Bucket access control
      3. Bucket policy
      4. User policies
    3. Transfer Acceleration
      1. Enabling Transfer Acceleration
    4. Requester Pay model
      1. Enabling Requestor Pays on a bucket
    5. Understanding objects
      1. Object keys
        1. Object key naming guide
      2. Object metadata
        1. System-metadata
        2. User-defined metadata
    6. Versioning
      1. Enabling versioning on a bucket
    7. Object tagging
    8. S3 storage classes
      1. S3 Standard storage
      2. S3-IA storage
      3. S3 RRS
      4. Glacier
    9. Comparison of S3 storage classes and Glacier
    10. Life cycle management
      1. Life cycle configuration use cases
      2. Defining life cycle policy for a bucket
    11. Hosting a static website on S3
    12. Cross-Origin Resource Sharing (CORS)
      1. Using CORS in different scenarios
      2. Configuring CORS on a bucket
      3. CORS configuration example XML
        1. Enabling CORS on a bucket
    13. Cross-region replication
      1. Enabling cross-region replication
  10. Other AWS Storage Options
    1. Amazon EFS
    2. AWS Storage Gateway
      1. File gateways
      2. Volume gateways
        1. Gateway–cached volumes
        2. Gateway–stored volumes
      3. Tape-based storage solutions
        1. VTL
    3. AWS Snowball
    4. AWS Snowmobile
  11. AWS Relational Database Services
    1. Amazon RDS components
      1. DB instances
      2. Region and AZs
      3. Security groups
      4. DB parameter groups
      5. DB option groups
    2. RDS engine types
      1. Amazon Aurora DB
        1. Comparison of Amazon RDS Aurora with Amazon RDS MySQL
      2. MariaDB
      3. Microsoft SQL Server
      4. MySQL
      5. Oracle
      6. PostgreSQL
    3. Creating an Amazon RDS MySQL DB instance
    4. Monitoring RDS instances
    5. Creating a snapshot
    6. Restoring a DB from a snapshot
    7. Changing an RDS instance type
    8. Amazon RDS and VPC
      1. Amazon RDS and high availability
    9. Connecting to an Amazon RDS DB instance
      1. Connecting to an Amazon Aurora DB cluster
      2. Connecting to a MariaDB instance
      3. Connecting to a MySQL instance
      4. Connecting to an Oracle instance
    10. RDS best practices
  12. AWS DynamoDB - A NoSQL Database Service
    1. Let's first understand what an RDBMS is
      1. What is SQL?
      2. What is NoSQL?
        1. Key-value pair databases
        2. Document databases
        3. Graph databases
        4. Wide column databases
        5. When to use NoSQL databases?
      3. SQL versus NoSQL
    2. Introducing DynamoDB
      1. DynamoDB components
      2. Primary key
      3. Secondary indexes
      4. DynamoDB Streams
      5. Read consistency model
        1. Eventually consistent reads
        2. Strong consistent reads
      6. Naming rules and data types
        1. Naming rules
        2. Data types
          1. Scalar data types
          2. Document types
          3. Set types
      7. Creating a DynamoDB table – basic steps
        1. Adding a sort key while creating a DynamoDB table
        2. Using advanced settings while creating a DynamoDB table
        3. Creating secondary indexes – table settings
        4. Provisioned capacity – table settings
        5. Auto Scaling – table settings
      8. Methods of accessing DynamoDB
        1. DynamoDB console
        2. DynamoDB CLI
        3. Working with API
        4. DynamoDB provisioned throughput
          1. Read capacity units
          2. Write capacity units
        5. Calculating table throughput
        6. DynamoDB partitions and data distribution
        7. Data distribution – partition key
        8. Data Distribution – partition key and sort key
        9. DynamoDB global and LSI
          1. The difference between GSI and LSI
        10. DynamoDB query
        11. Query with AWS CLI
        12. DynamoDB Scan
        13. Reading an item from a DynamoDB table
        14. Writing an item to a DynamoDB table
          1. PutItem
          2. UpdateItem
          3. DeleteItem
          4. Conditional writes
        15. User authentication and access control
      9. Managing policies
      10. DynamoDB API permissions
    3. DynamoDB best practices
  13. Amazon Simple Queue Service
    1. Why use SQS?
    2. How do queues work?
    3. Main features of SQS
    4. Types of queues
    5. Dead Letter Queue (DLQ)
    6. Queue attributes
    7. Creating a queue
    8. Sending a message in a queue
    9. Viewing/deleting a message from a queue
    10. Purging a queue
    11. Deleting a queue
    12. Subscribing a queue to a topic
    13. Adding user permissions to a queue
    14. SQS limits
    15. Queue monitoring and logging
      1. CloudWatch metrics available for SQS
      2. Logging SQS API actions
    16. SQS security
      1. Authentication
        1. SSE
  14. Simple Notification Service
    1. Introduction to Amazon SNS
      1. Amazon SNS fanout
        1. Application and system alerts
        2. Mobile device push notifications
        3. Push email and text messaging
    2. Creating an Amazon SNS topic
    3. Subscribing to an SNS topic
    4. Publishing a message to an SNS topic
    5. Deleting an SNS topic
    6. Managing access to Amazon SNS topics
      1. When to use access control
        1. Key concepts
        2. Architectural overview
        3. Access request evaluation logic
    7. Invoking the Lambda function using SNS notification
    8. Sending Amazon SNS messages to Amazon SQS queues
    9. Monitoring SNS with CloudWatch
    10. SNS best practices
  15. Simple Workflow Service
    1. When to use Amazon SWF
    2. Workflow
      1. Example workflow
      2. Workflow history
        1. How workflow history helps
      3. Actors
        1. Workflow starter
        2. Decider
        3. Activity worker
      4. Tasks
      5. SWF domains
      6. Object identifiers
      7. Task lists
      8. Workflow execution closure
    3. Lifecycle of workflow execution
    4. Polling for tasks
    5. SWF endpoints
    6. Managing access with IAM
      1. SWF – IAM policy examples
  16. AWS CloudFormation
    1. What is a template?
    2. What is a stack?
      1. Template structure
        1. AWSTemplateFormatVersion
        2. Description
        3. Metadata
        4. Parameters
          1. AWS-specific parameters
        5. Mappings
        6. Conditions
        7. Transform
        8. Resources
        9. Outputs
      2. Sample CloudFormation template
      3. CloudFormer
      4. Rolling updates for Auto Scaling groups
    3. CloudFormation best practices
  17. Elastic Beanstalk
    1. Elastic Beanstalk components
    2. Architectural concepts
      1. Web server environment tier
      2. Worker environment tiers
      3. Elastic Beanstalk-supported platforms
      4. Creating a web application source bundle
    3. Getting started using Elastic Beanstalk
      1. Step 1 – signing in to the AWS account
      2. Step 2 – creating an application
      3. Step 3 – viewing information about the recently created environment
      4. Step 4 – deploying a new application version
      5. Step 5 – changing the configuration
      6. Step 6 – cleaning up
    4. Version life cycle
    5. Deploying web applications to Elastic Beanstalk environments
    6. Monitoring the web application environment
    7. Elastic Beanstalk best practices
  18. Overview of AWS Lambda
    1. Introduction to AWS Lambda
      1. What is a Lambda function?
      2. Lambda function invocation types
      3. Writing a Lambda function
        1. Lambda function handler (Node.js)
        2. Lambda function handler (Java)
        3. Lambda function handler (Python)
        4. Lambda function handler (C#)
      4. Deploying a Lambda function
      5. AWS Lambda function versioning and aliases
    2. Environment variables
    3. Tagging Lambda functions
      1. Lambda function over VPC
      2. Building applications with AWS Lambda
    4. Event source mapping for AWS services
    5. Event source mapping for AWS stream-based services
    6. Event source mapping for custom applications
    7. AWS Lambda best practices
  19. Mock Tests
    1. Mock test 1
    2. Mock test 2
    3. Answers to Mock test 1
    4. Answers to Mock test 2