AWS Developer Associate - by Thomas Haslett Flashcards
(132 cards)
S3 Encryption: Protecting Data In-Transit (KMS)
1) Using an AWS-KMS managed customer (master) key
- Client gets a unique key for each object
2) On Upload:
- Send request to AWS KMS for key
- AWS KMS returns an encryption key
3) On Download:
- Client downloads encrypted object with their cipher blob stored in metadata -> blob to KMS -> get plain text key -> decrypt object
DynamoDB: Scans
1) Reads every item in a table and is operationally inefficient
2) Looks for all items and attributes in a table by defualt
SNS: Subscribers
1) Subscribe to a topic to receive published messages
2) Subscribers are end-points and include:
- Mobile apps
- Web servers
- Email addresses
- Amazon SQS queue
- AWS Lambda
Cloud Formation: Intrinsic Functions
1) Used to pass in values that are NOT available until runtime.
Example: “GetAtt”
SWF: Domains
1) A domain is used to help determine scope of work flows
2) Multiple workflows can live in a domain
3) Workflows cannot interact with workflows in OTHER domains
DynamoDB: Atomic Counters
1) Allows you to increment or decrement the value of an attribute without interfering with other write request
2) Request are applied in the order that they were received
3) Updates are NOT Idempotent: It will update the value each time it is called
SNS: Push Notification Setup Process
1) Needs a device token
2) There are Device Tokens and Registration IDs, depending on the mobile platform.
3) Request credentials from the mobile platform
4) Request Token from the mobile platform
5) Create a platform application object
6) Create a platform endpoint object
7) Publish a messages to the mobile endpoint
Cloud Formation
1) Allows you to create and provision resources in a reusable template fashion
2) Turns your resources into Stacks
3) Allows you to “source control” your infrastructure
4) Templates are in JSON format
S3 Performance: Sequence Pattern Issue
ISSUE: Using sequential object names cause writes to the same partition (overload I/O). KEY NAME is used to decide which partition they key is stored in
SOLUTION: Introduce randomness by using Hex Hash Prefix:
- use a has (like MD5) of a character sequence
- Pick a specific number of characters from that hash to use as the prefix OR reserve ID string
Cloud Formation: Resources
1) This is where you create different resources like S3, EC2, etc.
2) This section is REQUIRED
DynamoDB: Local Secondary Indexes
1) Partition key must be the same, but the sort key is different
2) “Local” because every partition is scoped to a table partition with the same partition key
3) uses the tables provisioned throughput
S3 Encryption: Protecting Data At-Rest (S3-managed)
1) AWS provides server-side encryption before saving data to disk
2) Add the “x-amz-server-side-encryption” request leader to your upload request
3) Uses AES-256
4) Bucket policies can require all objects use server-side encryption
5) Alternatives:
- KMS managed keys
- Customer provided keys
Deleting Versioned Objects
1) All versions remain in the bucket, but S3 inserts a “delete” marker
2) The “delete” marker becomes the current version
3) GET request retrieve the latest version
4) If current version has a “delete” marker, it returns a 404 error
5) You can get previous versions by specifying an ID
Cloud Formation: Template Sections
1) AWSTemplateFormatVersion
2) Description
3) MetaData
4) Parameters
5) Mappings
6) Conditions
7) Resources
8) Outputs
DynamoDB: Scans (benefits)
1) Scans can apply filters to the results to refine values
2) Can return only specific attributes with the “ProjectionExpression” parameters
S3: IAM Policies
1) User policy
2) Can create multiple users and give them the same policy or different policies
3) Policies are attached and can be detached
4) Cannot grant anonymous permissions
Intrinsic Functions: FN::Select
1) Returns a single object from a list of objects by index
S3: Eventual Data Conistancy
1) State reads possible
2) Lowest read latency
3) Highest read throughput
S3 Performance: GET Intensive workloads
1) Use Cloud Front
- Distributes content with lower latency & high transfer rate
- Cache objects
- Fewer direct request to S3
Cognito Sync
1) Sync data across mobile devices and the web
2) Client libraries cache data locally
DynamoDB: ALL
Projection Type
1) All attributes are projected (biggest index - least performant
SWF: Workers
1) Process that performs an activity that is part of the workflow
2) Workers poll SWF for new tasks that they need to perform
3) After receiving a task, the worker will process the task however it is instructed to do so, then report back to SWF
4) Workers CAN consist of a server (code being executed), a human worker can also be used to process as task
DynamoDB: Features
1) Can be used with (via) the AWS console or API
2) Flexible data model with attributes and items
3) Supports different levels of consistency (eventually & strongly)
4) Conditional updates and concurrency control (automatic counter)
5) Pay for what you use
6) Integrates with monitoring
7) Integrates with AWS Big Data (EMR & Redshift)
8) Integrates with other services through “streams”
SNS: Managing Access
1) Access is controlled with policies
2) SNS has it’s own IAM permissions system
3) You can control:
- Who is allowed to publish a topic
- Who is allowed to subscribe to a topic
- and under what conditions