AWS Developer Associate Exam Notes
AWS Developer Associate Exam Notes
Description
Notes and information that were collected while studying and prepping for the AWS Developer
Associate Exam.
Topic Answer
Exam Time: 80 Minutes
No. Questions: 60 Questions
Question Types: Scenario and Multiple Choice
Passing Score: ~ 70%
Validity Period: 2 years
Renewal Exam: 1/2 price off
Default Regions:
US-EAST-1
Java has default region
Some languages such as Node.js do not have a default region
Service Limits:
Each service has the default limits defined, to see the official AWS documentation on service
limits, check here
Networking:
Resource or Default
Comments
Operation Limit
The limit for Internet gateways per region is directly correlated
VPCs per region: 5 to this one. Increasing this limit will increase the limit on
Internet gateways per region by the same amount.
Resource or Default
Comments
Operation Limit
Subnets per VPC: 200
This limit is directly correlated with the limit on VPCs per
Internet gateways region. You cannot increase this limit individually; the only way
5
per region: to increase this limit is to increase the limit on VPCs per region.
Only one Internet gateway can be attached to a VPC at a time.
Customer gateways
50
per region:
VPN connections
50
per region:
VPN connections
per VPC (per virtual 10
private gateway):
Route tables per Including the main route table. You can associate one route
5
VPC: table to one or more subnets in a VPC.
This is the limit for the number of non-propagated entries per
Routes per route
route table. You can submit a request for an increase of up to a
table (non- 50
maximum of 100; however, network performance may be
propagated routes):
impacted.
You can have up to 100 propagated routes per route table;
however, the total number of propagated and non-propagated
BGP advertised
entries per route table cannot exceed 100. For example, if you
routes per route
5 have 50 non-propagated entries (the default limit for this type of
table (propagated
entry), you can only have 50 propagated entries. This limit
routes):
cannot be increased. If you require more than 100 prefixes,
advertise a default route.
Elastic IP addresses This is the limit for the number of VPC Elastic IP addresses you
per region for each 5 can allocate within a region. This is a separate limit from the
AWS account: Amazon EC2 Elastic IP address limit.
Security groups per
500
VPC:
You can have 50 inbound and 50 outbound rules per security
group (giving a total of 100 combined inbound and outbound
rules). If you need to increase or decrease this limit, you can
Inbound or contact AWS Support — a limit change applies to both inbound
outbound rules per 50 and outbound rules. However, the multiple of the limit for
security group: inbound or outbound rules per security group and the limit for
security groups per network interface cannot exceed 250. For
example, if you want to increase the limit to 100, we decrease
your number of security groups per network interface to 2.
If you need to increase or decrease this limit, you can contact
Security groups per
5 AWS Support. The maximum is 16. The multiple of the limit for
network interface:
security groups per network interface and the limit for rules per
Resource or Default
Comments
Operation Limit
security group cannot exceed 250. For example, if you want 10
security groups per network interface, we decrease your number
of rules per security group to 25.
Network interfaces This limit varies by instance type. For more information, see
N/A
per instance: Private IP Addresses Per ENI Per Instance Type.
This limit is the greater of either the default limit (350) or your
On-Demand instance limit multiplied by 5. The default limit for
Network interfaces On-Demand instances is 20. If your On-Demand instance limit
350
per region: is below 70, the default limit of 350 applies. You can increase
the number of network interfaces per region by contacting AWS
Support, or by increasing your On-Demand instance limit.
You can associate one network ACL to one or more subnets in a
Network ACLs per
200 VPC. This limit is not the same as the number of rules per
VPC:
network ACL.
This is the one-way limit for a single network ACL, where the
limit for ingress rules is 20, and the limit for egress rules is 20.
Rules per network
20 This limit can be increased upon request up to a maximum if 40;
ACL:
however, network performance may be impacted due to the
increased workload to process the additional rules.
If you need to increase this limit, contact AWS Support . The
Active VPC peering
maximum limit is 125 peering connections per VPC. The
connections per 50
number of entries per route table should be increased
VPC:
accordingly; however, network performance may be impacted.
Outstanding VPC
This is the limit for the number of outstanding VPC peering
peering connection 25
connection requests that you've requested from your account.
requests:
Expiry time for an
unaccepted VPC 1 week
peering connection (168 hrs)
request:
VPC endpoints per The maximum limit is 255 endpoints per VPC, regardless of
20
region: your endpoint limit per region.
Flow logs per single You can effectively have 6 flow logs per network interface if
eni, single subnet, or you create 2 flow logs for the subnet, and 2 flow logs for the
2
single VPC in a VPC in which your network interface resides. This limit cannot
region: be increased.
NAT gateways per A NAT gateway in the pending, active, or deleting state counts
5
Availability Zone: against your limit.
For additional information about VPC Limits, see Limits in Amazon VPC
Compute:
Elastic Compute Cloud - Backbone of AWS, provides re-sizable compute capacity in the cloud.
Reduces the time required to obtain and boot new server instances to minutes allowing you to
quickly scale capacity, both up and down, as your computing requirements change.
Install the AWSCLI tools or use the Amazon AMI to have access to the Amazon
Command line tools
Create a user in IAM, download the access key/secret access key
Use the aws configure command to configure the CLI tools to interface with your
amazon account using the IAM user access key/secret access key, and default region
(Default output format can be left blank)
Configured credentials can be found in ~/.aws/credentials
Region and other configuration parameters can be found in ~/.aws/config
Common CLI commands
o aws configure: Use to configure the command line tools to access your amazon
account
o aws s3 ls - List all buckets that are associated with your AWS account
o aws s3 mb s3://helloworldtestbucket - Create a new S3 bucket, in this case named
helloworldtestbucket
SDKs
o PHP:
From the instance that you want to install the SDK install composer (curl -
sS https://getcomposer.org/installer | php)
Install the SDK using composer in the web directory which is usually
/var/www/html (php composer.phar require aws/aws-sdk-php)
For additional information about EC2 Limits, see Limits in Amazon EC2
Elastic Load Balancing offers two types of load balancers that both feature high availability,
automatic scaling, and robust security. These include the Classic Load Balancer that routes
traffic based on either application or network level information, and the Application Load
Balancer that routes traffic based on advanced application level information that includes the
content of the request.
Elastic Beanstalk:
AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and
services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar
servers such as Apache, Nginx, Passenger, and IIS.
Elastic Beanstalk is free, however any resources that are used in conjunction with the
service are subject to normal pricing
Predefined Configuration:
o IIS
o Node.js
o PHP
o Python
o Ruby
o Tomcat
o Docker
o Pre-configured Docker
GlassFish
Python
Amazon Simple Storage Service (Amazon S3), provides developers and IT teams with secure,
durable, highly-scalable cloud storage. Amazon S3 is easy to use object storage, with a simple
web service interface to store and retrieve any amount of data from anywhere on the web.
Web Hosting:
o Used for static hosting only; Server side code will not execute
o Don't need to worry about scaling, ELBs or number of instances, S3 handles all of
that for you
o When you create an S3 bucket or enable hosting, you still need to make sure that
either the files or the entire bucket are set to public accesibility
o Bucket URLs are structured such as https://s3-eu-west-
1.amazonaws.com/somebucketname
o Hosted site URLs are structured as http://somebucketname.s3-website-eu-west-
1.amazonaws.com
o Hosting sites on S3 does not allow HTTPS support
o Sites hosted on S3 can be served via HTTPS if distributed by cloudfront;
Cloudfront would be configured to terminate a client HTTPS requst, and then talk
to the bucket via standard HTTP
o Can be configured to redirect to another URL
CORS Configuration:
o Cross Origin Resource Sharing (CORS)
o Configured in the permisssions section of the properties tab in a bucket
o CORS configuration is in XML format and will be pasted directly into the
permissions
o CORS is required if you are calling an asset that resides in another bucket from
the bucket that your static site resides in using the hosted URL
For additional information about API Gateway Limits, see Limits in Amazon S3
CloudFront:
Amazon CloudFront is a global content delivery network (CDN) service that accelerates delivery
of your websites, APIs, video content or other web assets.
For additional information about CloudFront Limits, see Limits in Amazon CloudFront
Databases:
DynamoDB (No-SQL):
Fast and flexible NoSQL DB service for all apps that need consistent, single-digit millisecond
latency at any scale. It is a fully managed database and supports both document and key-value
data models. Its flexible data model and reliable performance make it a great fit for mobile, web,
gaming, ad-tech, IoT, and many other applications.
For additional information about DynamoDB Limits, see Limits in Amazon DynamoDB
AWS Identity and Access Management (IAM) enables you to securely control access to AWS
services and resources for your users.
For additional information about API Gateway Limits, see Limits in IAM entities and objects
Directory Service:
AWS Directory Service makes it easy to setup and run Microsoft Active Directory (AD) in the
AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active
Directory.
Active Directory flow is initialted when a user browses to the ADFS integrated site:
o The sign-on page will authenticate the user against Active Directory
o Depending on the browser used, the user may be promted to input their AD
username/password
o The users browser receives a SAML (Secure Assertive Markup Language)
assertion in the form of an auth response from AD Federation Services (ADFS)
o The users browser posts the SAML assertion to the AWS sign-in endpoint for
SAML
o The AWS console uses the AssumeRoleWithSAML API to request temporary
security credentials and then constructs a sign-in URL for the AWS Console
o The users browser receives the sign-in URL and is redirected to the conole
o The process is transparent to the user; They start at an interanl web site and end
up on the console without having to supply credentials
o Remember the API call to request temporary security credentials from the AWS
platform is AssumeRoleWithSAML
o The sign-in endpoint for SAML is https://signin.aws.amazon.com/saml
When using ADFS the user always authenticates with AD first before recieving security
credentials
Web Identity Federation:
o Allows users to authenticate your application with Facebook, LinkedIn, Google,
or your AWS account
o The AWS console has a link to a Web Identity Federation Playground, that allows
you to test logins using services such as FB, LinkedIn, etc...
o Once logged in using the playground, you get a response containing an
accessToken that is good for 5016 seconds
o This went to the service such as FB, authenticated with the service, recieved an
accessToken, using the token, AWS will grant temporary security credentials by
making an AssumeRoleWithWebIdentity request
o When the AssumeRoleWithWebIdentity request is formed, a trust policy is
created granting all access via the recieved accessToken
o Authenticate with web service (facebook, etc..) first, then get temporary security
credentials via AccessToken sent to AssumeRoleWithWebIdentity request, and
finally with the temporary security credentials, user is able to access AWS
resources
o Remember the API call to request temporary security credentials from the AWS
platform is AssumeRoleWithWebIdentity
Management Tools:
Cloud Formation:
AWS CloudFormation gives developers and systems administrators an easy way to create and
manage a collection of related AWS resources, provisioning and updating them in an orderly and
predictable fashion.
For additional information about Cloud Formation Service Limits, see Limits in Amazon
CloudFormation
Application Services:
Web service that gives you access to a message queue that can be used to store messages while
waiting for a computer to process them. SQS is a distributed queue system that enables
applications to quickly and reliably queue messages that one component of the application
generates to be consumed by another component. A queue is a temp repository for messages that
are awaiting processing.
For additional information about SQS Limits, see Limits in Amazon SQS
SWF (Simple Workflow Service)
Simple Workflow Service is a web service that makes it easy to coordinate work across
distributed application components. Enabled for a range of uses such as media processing, web
back ends, business process work-flows, and analytics pipelines, all to be designed as a
coordination of tasks. Tasks represent invocations of various processing steps in an application
which can be performed by code, API calls, human action and scripts.
For additional information about SWF Limits, see Limits in Amazon SWF
Mobile Services:
Simple Notification Service is a web service that makes it easy to set up, operate, and send
notifications from the cloud. It provides developers with a highly scalable, flexible, and cost-
effective capability to publish messages from an application and immediately deliver them to
subscribers or other applications.
Web service that allows customers to setup, operate, and send notifications from the
cloud
Can push to Apple, Google, FireOS, and Windows devices, as well as Android devices in
China with Baidu cloud push
Follows the publish-subscribe (pub-sub) messaging paradigm, with notifications being
delivered to clients using a push mechanism that eliminates the need to poll for updates
Can deliver notifications by SMS, email, SQS queues, or any HTTP endpoint
SNS notifications can be used to trigger lambda functions
When a message is published to an SNS topic that has a lambda function subscribed to it,
the function is invoked with the payload of the published message. The lambda function
would receive the message payload as an input parameter, and can manipulate the info in
the message, publish the message to other SNS topics or send the message to other AWS
services
Allows you to group multiple recipients using topics
Topics are access points for allowing recipients to dynamically subscribe for copies of
the notification
One topic can support deliveries to multiple endpoint types, for example, IOS, Android,
and SMS recipients can be grouped together
When message is published, SNS delivers appropriately formatted copies of your
message to each subscriber
Email notifications will be JSON formated not XML
Subscriptions have to be confirmed
Subscription expire after 3 days if they are not confirmed
TTL is the number of seconds since the message was published
If the message is not delivered within the TTL time, then the message will expire
To prevent messages from being lost, all messages published to SNS are stored
redundantly across multiple AZ's
Instantaneous, PUSH based delivery (No Polling) --> SQS requires polling
Simple API and easy integration with applications
Flexible message deliver over multiple transport protocols
Inexpensive, pay as you go model
Web based AWS management console offers simplicity of point and click interface
$.50 per million SNS requests
$.06 per 100,000 notification deliveries over HTTP
$0.75 per 100 notifications over SMS
$2.00 per 100,000 notification deliveries over email
Can be used in conjunction with SQS to fan a single message out to multiple SQS queues
Remember:
o SNS - PUSH
o SQS - PULL (poll)
Subscribers:
o HTTP
o HTTPS
o Email
o Email-JSON
o SQS
o Application
o Lambda
o Messages can be customized for each of the available protocols