BrainyBeeBrainyBee
ExploreBlogStart Studying
Home›Explore›AWS Certified Data Engineer - Associate (DEA-C01)

☁️ AWS

Free AWS Certified Data Engineer - Associate (DEA-C01) Study Resources

Turn raw data into pipelines that ship — the AWS cert for engineers building and running cloud data platforms. Master data ingestion and transformation, data-store management, data operations and support, and data security and governance, with an AI tutor and real-format practice. For data engineers working across AWS analytics services.

635
Practice Questions
9
Mock Exams
153
Study Notes
680
Flashcard Decks
2
Source Materials
Start Studying — Free

On This Page

  • Study Notes (153)
  • Practice Questions (15)
  • Flashcards (30)
  • Related Study Resources

AWS Certified Data Engineer - Associate (DEA-C01) Study Notes & Guides

153 AI-generated study notes covering the full AWS Certified Data Engineer - Associate (DEA-C01) curriculum. Showing 10 complete guides below.

Study Guide945 words

AWS Data Engineering: Addressing Changes to Data Characteristics

Address changes to the characteristics of data

Read full article

AWS Data Engineering: Addressing Changes to Data Characteristics

This guide covers Task 2.4.2 of the AWS Certified Data Engineer – Associate (DEA-C01) exam. It focuses on how data engineers manage the evolving nature of data, including schema drift, structural changes, and lifecycle management within the AWS ecosystem.

Learning Objectives

By the end of this guide, you will be able to:

  • Define Schema Evolution and identify strategies for handling Schema Drift.
  • Configure AWS Glue Crawlers to automatically detect and update metadata.
  • Differentiate between tools used for schema conversion like AWS SCT and AWS DMS.
  • Implement data lifecycle policies in Amazon S3 and Amazon DynamoDB to manage data aging.
  • Establish Data Lineage to track changes across the data environment.

Key Terms & Glossary

  • Schema Drift: The phenomenon where source data systems change their structure (e.g., adding/removing columns) without notifying downstream consumers.
  • Data Catalog: A persistent metadata store (like AWS Glue Data Catalog) that provides a unified view of data across various sources.
  • Partition Projection: A technique in AWS Glue that speeds up query processing of highly partitioned tables by calculating partition information from configuration rather than S3 metadata.
  • TTL (Time to Live): A mechanism in DynamoDB that automatically deletes items from a table after a specific timestamp to reduce storage costs.
  • DQDL (Data Quality Definition Language): A declarative language used in AWS Glue to define rules for validating data quality.

The "Big Idea"

In a modern data architecture, change is the only constant. Data characteristics—such as its schema, volume, and velocity—evolve over time. A Data Engineer's primary responsibility is to build resilient pipelines that can gracefully handle these changes without manual intervention. This involves balancing automated discovery (Glue Crawlers) with rigid governance (Lake Formation) and cost-optimized storage (S3 Lifecycle).

Formula / Concept Box

ConceptTool / RuleImpact
Schema UpdatesAWS Glue Crawler UpdateTableAutomatically adds new columns to the Data Catalog.
Structural MappingAWS Schema Conversion Tool (SCT)Converts source database schemas to a different target engine (e.g., Oracle to Aurora).
Data AgingS3 Lifecycle PoliciesAutomates transitions: S3 Standard → S3 Glacier → Expiration.
Item ExpirationDynamoDB TTLDeletes data based on an epoch timestamp attribute without using RCU/WCU.

Hierarchical Outline

  • I. Schema Evolution & Management
    • AWS Glue Data Catalog: The central metadata repository for AWS Lake House architectures.
    • Glue Crawlers: Automate schema discovery; can be configured to add new columns or mark deleted columns as deprecated.
    • Schema Versioning: Keeping history of schema changes to ensure backward compatibility for Athena/Redshift Spectrum queries.
  • II. Addressing Structural Changes
    • AWS SCT: Used for heterogeneous migrations; transforms schema, functions, and stored procedures.
    • AWS DMS: Performs the actual data movement; can handle simple schema changes during replication.
  • III. Managing Data Characteristics over Time
    • S3 Versioning: Protects against accidental deletes and allows rollbacks to previous states of data.
    • Partitioning Strategies: Using date-based partitioning (year=2023/month=10/day=24) to optimize query performance as data grows.

Visual Anchors

Data Cataloging Workflow

Loading Diagram...
Figure 1 — Mermaid diagram

S3 Lifecycle Transition Logic

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Definition-Example Pairs

  • Term: Heterogeneous Migration
    • Definition: Moving data between different database engines where the schema must be converted.
    • Example: Migrating an on-premises Microsoft SQL Server database to an Amazon Aurora PostgreSQL cluster using AWS SCT to rewrite the SQL syntax.
  • Term: Data Lineage
    • Definition: A visual map of the data's journey, showing where it originated and how it was transformed.
    • Example: Using Amazon SageMaker ML Lineage Tracking to see which specific S3 dataset was used to train a specific version of an AI model.

Worked Examples

Example 1: Handling Added Columns in a CSV Batch

Scenario: A marketing team adds a promo_code column to their daily CSV upload in S3. Your Athena queries are failing because the Data Catalog doesn't know about this column. Solution:

  1. Run the AWS Glue Crawler assigned to that S3 path.
  2. Set the crawler configuration to "Update the table definition in the data catalog" for any schema changes.
  3. The Crawler detects the new column and updates the Metadata. Athena can now query the new column immediately without manual SQL ALTER TABLE commands.

Example 2: Optimizing DynamoDB Storage Costs

Scenario: A gaming app stores temporary session data in DynamoDB. This data is only needed for 24 hours. Solution:

  1. Add a TimeToLive attribute to each item (format: Unix Epoch time).
  2. Enable TTL on the DynamoDB table, selecting that attribute.
  3. Result: DynamoDB automatically deletes the sessions within 48 hours of expiration, and these deletes do not consume Write Capacity Units (WCU).

Checkpoint Questions

  1. What is the difference between AWS SCT and AWS DMS regarding schema changes?
  2. How does Partition Projection improve performance for highly partitioned data in S3?
  3. Which S3 feature allows you to recover a file that was overwritten by a script with incorrect data?
  4. When should you use AWS Glue DataBrew instead of a Glue ETL script?

Comparison Tables

FeatureAWS Glue CrawlerAWS SCT
Primary PurposeMetadata Discovery (S3/RDS/NoSQL)Schema Conversion (Database-to-Database)
Target OutputGlue Data Catalog TablesSQL DDL Scripts / Converted Schema
Handling ChangeDetects schema drift automaticallyManual re-run for structural redesigns
Use CasePopulating Data LakesDatabase Migrations

Muddy Points & Cross-Refs

  • Crawler vs. Manual Entry: If your schema is extremely stable and you want to prevent unauthorized changes, manual entry is better. Crawlers are best for evolving datasets.
  • Partitioning vs. Indexing: In Redshift, use Sort Keys for performance; in S3/Athena, use Partitions (folders) to limit the amount of data scanned.
  • S3 Versioning vs. Backup: Versioning is for immediate recovery of specific objects; AWS Backup is for cross-region disaster recovery and compliance-level snapshots.
Study Guide945 words

Analyzing Logs with AWS Services: A Study Guide

Analyze logs by using AWS services (for example, Athena, CloudWatch Logs Insights, Amazon OpenSearch Service)

Read full article

Analyzing Logs with AWS Services

This study guide covers the core AWS services used to aggregate, process, and analyze log data for operational health, security auditing, and performance optimization.

Learning Objectives

After studying this guide, you should be able to:

  • Differentiate between Amazon CloudWatch, Amazon Athena, and Amazon OpenSearch Service for log analysis.
  • Identify the correct service for analyzing CloudTrail API calls and VPC Flow Logs.
  • Explain the role of AWS Glue and Amazon EMR in processing unstructured or large-scale log volumes.
  • Utilize SQL and Natural Language queries to extract insights from log streams.

Key Terms & Glossary

  • Serialization/Deserialization: The process of converting data from a readable format (text) to a compressed storage format (binary) and back again.
  • Log Group: A group of log streams that share the same retention, monitoring, and access control settings in CloudWatch.
  • PII (Personally Identifiable Information): Sensitive data that must be identified (e.g., using Amazon Macie) and potentially masked during log processing.
  • Hot Data: Data that is frequently accessed and stored on high-performance storage (used primarily in Amazon OpenSearch Service).
  • Anomaly Detection: Using baselines to identify deviations in API call volumes or error rates (e.g., CloudTrail Insights).

The "Big Idea"

In a distributed cloud environment, logs are the "source of truth" for both security and operations. The core challenge is not just collecting logs, but normalizing diverse formats (application logs, system logs, API traces) so they can be queried at scale. AWS provides a tiered approach: CloudWatch for real-time monitoring, Athena for cost-effective SQL analysis on S3, and OpenSearch for complex, full-text interactive analytics.

Formula / Concept Box

FeatureCloudWatch Logs InsightsAmazon AthenaAmazon OpenSearch Service
Data SourceCloudWatch Log GroupsAmazon S3OpenSearch Cluster (Hot Data)
Query LanguageSpecialized Query SyntaxStandard SQLDSL / SQL / Lucene
Primary UseOperational TroubleshootingCompliance / Long-term AuditInteractive Analytics / Search
Setup EffortZero (Managed)Low (Define Schema)Medium (Manage Cluster)

Hierarchical Outline

  • 1. Native Logging Services
    • Amazon CloudWatch: Centralized store for application and AWS service logs. Includes alarms and dashboards.
    • AWS CloudTrail: Records API activity across the AWS account for governance and auditing.
  • 2. Interactive Analysis Tools
    • CloudWatch Logs Insights: Interactive querying of logs; supports natural language query generation and field auto-detection.
    • Amazon Athena: Serverless SQL queries on log data stored in S3 (VPC Flow Logs, CloudTrail, S3 Access Logs).
  • 3. Advanced Analytics & Visualization
    • Amazon OpenSearch Service: Distributed engine for log analytics, security intelligence, and full-text search.
    • Amazon Managed Grafana: Visualization tool to analyze metrics, logs, and traces across multiple AWS sources.
  • 4. Log Processing Pipelines
    • AWS Glue / Amazon EMR: Used for terabyte-scale logs or custom formats that require transformation before analysis.

Visual Anchors

Log Analysis Flowchart

Loading Diagram...
Figure 1 — Mermaid diagram

Architecture: Log Ingestion and Processing

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Definition-Example Pairs

  • CloudTrail Insights: Continuously analyzes management events to baseline API call volumes.
    • Example: An alert is triggered when the RunInstances API call volume spikes 300% above the normal baseline, indicating a potential security breach or script error.
  • VPC Flow Logs: Captures information about the IP traffic to and from network interfaces in a VPC.
    • Example: Using Athena to query Flow Logs to identify which specific IP addresses are being rejected by security group rules.
  • System Tables (Redshift): Internal tables used to monitor data warehouse performance.
    • Example: Querying STL_QUERY_METRICS to find the CPU usage and disk I/O of a specific long-running financial report.

Worked Examples

Example 1: CloudWatch Logs Insights Query

To find the number of errors per 5-minute bin in an application log:

bash
fields @timestamp, @message | filter @message like /Error/ | stats count(*) as errorCount by bin(5m) | sort errorCount desc

Example 2: Querying CloudTrail Logs in Athena

If CloudTrail logs are stored in S3, you can use SQL to find who deleted a specific S3 bucket:

sql
SELECT eventTime, userIdentity.arn, sourceIPAddress FROM cloudtrail_logs WHERE eventName = 'DeleteBucket' AND requestParameters LIKE '%my-target-bucket-name%' ORDER BY eventTime DESC;

Checkpoint Questions

  1. Which service allows you to use natural language to generate queries for log data?
  2. If you have terabytes of unstructured custom logs, which two services are recommended for processing them into a queryable format?
  3. What is the main difference between Amazon Kendra and Amazon OpenSearch Service regarding query types?
  4. How long does it typically take for VPC Flow Logs to appear in a CloudWatch Log Group after configuration?

Comparison Tables

Use CaseRecommended ServiceWhy?
Finding specific API errorsCloudTrail InsightsAutomatically baselines "normal" and flags anomalies.
Full-text search in logsOpenSearch ServiceBuilt on Apache Lucene; optimized for string matching and indexing.
Ad-hoc SQL on S3 filesAmazon AthenaServerless; pay-per-query; no infrastructure to manage.
Debugging Lambda codeCloudWatch LogsNative integration; Lambda automatically streams stdout/stderr here.

Muddy Points & Cross-Refs

  • Athena vs. OpenSearch: Use Athena for cost-effective, occasional analysis of massive datasets (Data Lake). Use OpenSearch for frequent, interactive dashboarding and sub-second search latency (Hot data).
  • Glue vs. EMR: Both use Spark. Use AWS Glue for serverless, event-driven ETL. Use Amazon EMR for long-running, complex clusters where you need granular control over the Spark environment.
  • Serialization Pitfall: Remember that Athena requires a defined schema (DML). If your logs change format, the query might fail unless you update the Glue Data Catalog or use JSON extraction functions.

[!TIP] When analyzing logs for the exam, always look for the keyword "SQL" (Athena), "Real-time/Dashboard" (OpenSearch), or "API/Audit" (CloudTrail).

Study Guide925 words

Mastering Log Analysis with AWS Services: DEA-C01 Study Guide

Analyze logs with AWS services (for example, Athena, Amazon EMR, Amazon OpenSearch Service, CloudWatch Logs Insights, big data application logs)

Read full article

Mastering Log Analysis with AWS Services

This guide covers the critical skills required for the AWS Certified Data Engineer - Associate (DEA-C01) regarding log analysis, monitoring, and auditing using AWS native tools like Athena, CloudWatch, and OpenSearch.

Learning Objectives

After studying this guide, you should be able to:

  • Differentiate between CloudWatch Logs Insights, Amazon Athena, and Amazon OpenSearch for log analysis.
  • Configure AWS CloudTrail and CloudTrail Insights for API auditing.
  • Use Amazon EMR and AWS Glue for processing large-scale or unstructured log data.
  • Monitor Amazon Redshift using system tables and audit logs.
  • Apply Serialization/Deserialization (SerDe) concepts to log transformation.

Key Terms & Glossary

  • SerDe (Serialization/Deserialization): The process of converting data from one format to another (e.g., text to binary for storage, binary to text for reading).
  • CloudWatch Logs Insights: An interactive query service that uses a purpose-built query language to analyze logs in CloudWatch.
  • CloudTrail Insights: A feature that identifies unusual API activity by baselining normal operational patterns.
  • OpenSearch Dashboards: A visualization tool (formerly Kibana) for exploring data indexed in Amazon OpenSearch clusters.
  • STL Tables: System tables in Amazon Redshift used for monitoring query metrics and alerts.

The "Big Idea"

Logging is not just about storage; it is about observability and traceability. In the AWS ecosystem, log data flows from sources (EC2, Lambda, VPC) into central repositories (S3, CloudWatch). From there, the complexity and volume of the logs determine the tool: CloudWatch Insights for quick operational fixes, Athena for serverless SQL queries on S3 data lakes, and OpenSearch for real-time, interactive search and visualization.

Formula / Concept Box

FeaturePrimary ServiceKey Attribute
Ad-hoc SQL on S3Amazon AthenaServerless, Pay-per-query, No infrastructure management.
Real-time SearchAmazon OpenSearchLow-latency, indexing, visualization-heavy.
Big Data / Custom LogicAmazon EMR / GlueDistributed processing (Spark/Hive) for petabyte-scale.
Operational TriageCloudWatch InsightsNatural language query generation, auto-detects log fields.

Hierarchical Outline

  • I. Centralized Log Storage
    • Amazon S3: Durable, cost-effective storage class (Standard, Glacier) for long-term audits.
    • Amazon CloudWatch Logs: Real-time ingestion point for application and service logs.
  • II. Interactive Analysis Tools
    • CloudWatch Logs Insights: Interactively query logs; supports visualization via graphs.
    • Amazon Athena: Querying S3 logs directly using Standard SQL; integrates with Glue Data Catalog.
  • III. Advanced Search & Visualization
    • Amazon OpenSearch Service: Managed cluster for indexing logs for sub-second search results.
    • Amazon Managed Grafana: Visualizing metrics and logs across multiple AWS accounts.
  • IV. Auditing & Security
    • AWS CloudTrail: Tracks API calls; identifies "who, what, where, when."
    • CloudTrail Lake: Centralized, immutable store for long-term API query history.

Visual Anchors

Log Ingestion and Analysis Pipeline

Loading Diagram...
Figure 1 — Mermaid diagram

Query Complexity vs. Data Scale

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Definition-Example Pairs

  • Metric Filter
    • Definition: A feature in CloudWatch that searches for patterns in logs and turns them into numerical metrics.
    • Example: Searching for the string "404" in web server logs to create an alarm for broken links.
  • STL_ALERT_EVENT_LOG
    • Definition: A Redshift system table that records alerts (e.g., missing statistics) during query execution.
    • Example: A data engineer queries this table to find out why a specific ETL job is suddenly running slowly due to disk space constraints.
  • CloudTrail Insights
    • Definition: An anomaly detection tool for API management events.
    • Example: Receiving an alert because an IAM user who usually creates 2 S3 buckets a day suddenly creates 500 in an hour.

Worked Examples

Scenario: Identifying High-Traffic IPs in Web Logs

The Problem: You have 100GB of web server logs in an S3 bucket and need to find the top 5 IP addresses that accessed your site in the last 24 hours.

The Solution:

  1. Define Schema: Use an AWS Glue Crawler to scan the S3 bucket and create a table in the Glue Data Catalog.
  2. Query with Athena:
    sql
    SELECT remote_ip, COUNT(*) as request_count FROM web_logs WHERE request_timestamp > current_timestamp - interval '1' day GROUP BY remote_ip ORDER BY request_count DESC LIMIT 5;
  3. Result: Athena returns the data as a CSV or displays it directly in the console for visualization.

Checkpoint Questions

  1. Which service provides natural language query generation to help users write log queries?
  2. True or False: Audit logging for Amazon Redshift is enabled by default.
  3. What is the main difference between Amazon Kendra and Amazon OpenSearch regarding query logic?
  4. When should you choose Amazon EMR over Amazon Athena for log analysis?

[!NOTE] Answer Key:

  1. CloudWatch Logs Insights.
  2. False (must be explicitly enabled to S3 or CloudWatch).
  3. Kendra uses Natural Language Processing (ML); OpenSearch uses SQL-like string matches and indexing.
  4. Choose EMR when logs are unstructured/custom and require complex Spark transformations or distributed processing at a massive scale.

Comparison Tables

ServiceLatencyLanguageBest For...
AthenaSeconds/MinutesStandard SQLAd-hoc analytics on S3 Data Lakes.
OpenSearchSub-secondSQL / DSLReal-time monitoring and dashboards.
CloudWatch InsightsSecondsPurpose-builtQuick operational troubleshooting.
CloudTrail LakeSecondsSQLLong-term security and compliance audits.

Muddy Points & Cross-Refs

  • SerDe Confusion: Remember that Serialization = Data to Storage (Binary); Deserialization = Storage to Readable (Text). Use this when configuring Athena or Glue to read custom formats.
  • Redshift Logging: Redshift logs aren't just one type. There are Connection logs, User logs, and User Activity logs. Each has a specific path in CloudWatch: /aws/redshift/cluster/<name>/<type>.
  • OpenSearch Serverless: If you don't want to manage nodes or clusters, remember you can now use Amazon OpenSearch Serverless.
Study Guide1,152 words

AWS Authorization Methods: RBAC, ABAC, and TBAC

Apply authorization methods that address business needs (role-based, tag-based, and attribute-based)

Read full article

AWS Authorization Methods: RBAC, ABAC, and TBAC

This study guide focuses on designing and applying authorization mechanisms that align with business needs, specifically highlighting the differences between Role-Based (RBAC), Tag-Based (TBAC), and Attribute-Based (ABAC) access controls within the AWS ecosystem.

Learning Objectives

By the end of this guide, you should be able to:

  • Differentiate between RBAC, ABAC, and TBAC in the context of IAM and AWS Lake Formation.
  • Design IAM policies that implement the principle of least privilege using condition keys.
  • Implement fine-grained access control (row, column, and cell-level) using AWS Lake Formation tags.
  • Evaluate the best authorization method based on organizational scale and complexity.

Key Terms & Glossary

  • Principal: An entity (user, group, or role) that can make a request for an action or operation on an AWS resource.
  • RBAC (Role-Based Access Control): A traditional authorization model where permissions are assigned to roles, and users gain those permissions by assuming the role.
  • ABAC (Attribute-Based Access Control): An authorization strategy that defines permissions based on attributes (such as tags) of the user and the resource.
  • TBAC (Tag-Based Access Control): A specific implementation of ABAC where tags are the primary attributes used for evaluation; heavily utilized in AWS Lake Formation (LF-TBAC).
  • Least Privilege: The security practice of granting only the minimum permissions required to perform a task.
  • Permissions Boundary: An advanced feature where you use a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity.

The "Big Idea"

In early cloud adoption, RBAC was sufficient: "If you are a Data Engineer, you get the Data Engineer role." However, as organizations grow to thousands of users and resources, managing individual roles for every project becomes an administrative nightmare. The shift toward ABAC/TBAC allows permissions to scale dynamically. Instead of creating new roles, you simply tag resources and users (e.g., Project=Omega). If the tags match, access is granted. This moves security from static "gatekeeping" to dynamic "logic-based" enforcement.

Formula / Concept Box

ElementPurposeExample
EffectAllow or Deny"Effect": "Allow"
ActionThe specific API call"Action": ["s3:GetObject"]
ResourceThe ARN of the target"Resource": "arn:aws:s3:::my-bucket/*"
ConditionLogic for when policy applies"StringEquals": {"aws:ResourceTag/Project": "${aws:PrincipalTag/Project}"}

Hierarchical Outline

  1. Role-Based Access Control (RBAC)
    • Structure: Identity →\rightarrow→ Role →\rightarrow→ Policy.
    • Use Case: Broad departmental access (e.g., all Finance users access Finance bucket).
    • Limitation: "Role Explosion" — creating too many roles for specific projects.
  2. Attribute-Based Access Control (ABAC)
    • Structure: Policy logic checks for matching attributes on Principal and Resource.
    • Benefits: High scalability; permissions update automatically when tags change.
    • Mechanism: Uses Condition blocks in IAM JSON policies.
  3. Tag-Based Access Control (TBAC) in Lake Formation
    • LF-Tags: Specialized tags for the Data Catalog (Databases, Tables, Columns).
    • Inheritance: Tags applied at the Database level can be inherited by Tables and Columns.
    • Granularity: Enables row-level (PartiQL filters) and column-level (inclusion/exclusion) security.

Visual Anchors

Authorization Logic Flow

Loading Diagram...
Figure 1 — Mermaid diagram

Identity vs. Resource Policy Intersection

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

[!NOTE] For most services, an "Allow" in either an identity-based OR resource-based policy is sufficient. However, for KMS, you must have permission in the Key Policy specifically.

Definition-Example Pairs

  • Term: Role-Based Access Control (RBAC)

    • Definition: Permissions based on job function.
    • Example: An AdminRole allows iam:* actions. Any user assigned to this role can manage all IAM settings regardless of which project they belong to.
  • Term: Attribute-Based Access Control (ABAC)

    • Definition: Permissions based on matching metadata between user and resource.
    • Example: A developer with the tag Project=Blue can only start EC2 instances that also have the tag Project=Blue. If they move to Project=Red, their tag is updated, and they automatically gain access to Red resources without changing the policy.
  • Term: Row-Level Security

    • Definition: Restricting access to specific records within a table based on data values.
    • Example: In a Sales table, a Regional Manager for 'West' is restricted via Lake Formation to only see rows where region_id = 'West'.

Worked Examples

Example 1: Constructing an ABAC Policy

Scenario: Allow developers to manage S3 objects only if the object's Environment tag matches the user's Environment tag.

json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:PutObject"], "Resource": "arn:aws:s3:::company-data-lake/*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/Environment": "${aws:PrincipalTag/Environment}" } } } ] }

Example 2: Lake Formation Cell-Level Security

Scenario: A data analyst needs access to the Customers table but must not see the SSN column, and can only see customers from the UK.

  1. Step 1: In Lake Formation, create a Data Filter.
  2. Step 2: Define the column filter (Exclude ssn).
  3. Step 3: Define the row filter (PartiQL: country = 'UK').
  4. Step 4: Grant the SELECT permission to the analyst's IAM role using this specific filter.

Checkpoint Questions

  1. Which authorization method is most effective for preventing "Role Explosion" in large, fast-growing organizations?
  2. In Lake Formation, if you apply an LF-Tag to a Database, what happens to the tables within that database by default?
  3. True or False: A Permissions Boundary can be used to grant a user additional permissions they don't already have.
  4. Which AWS service is specifically used to manage fine-grained access (rows/columns) for Amazon S3 data used by Athena and EMR?

Comparison Tables

FeatureRBACABAC / TBAC
Primary LogicUser Role / Job TitleTags / Attributes
ScalabilityLow (requires more roles as it grows)High (dynamic based on metadata)
ManagementCentralized in IAM RolesDecentralized via Tagging
GranularityCoarse-grainedFine-grained (down to rows/columns)
Best ForInternal Admin tasksMulti-tenant Data Lakes

Muddy Points & Cross-Refs

  • Policy Evaluation Logic: Remember that an Explicit Deny always wins. Even if an ABAC policy allows access, a Service Control Policy (SCP) or Permissions Boundary that denies it will block the user.
  • Cross-Account Access: When accessing a resource in another account, you need permissions in both the identity-based policy (Account A) and the resource-based policy (Account B).
  • Lake Formation vs. IAM: Lake Formation doesn't replace IAM; it works with it. You still need IAM permissions to access the Lake Formation APIs, but Lake Formation handles the data-level permissions (the "Who can see this row?" logic).

[!TIP] For the Exam: If the question mentions "scale," "dynamic," or "frequent project changes," think ABAC. If it mentions "standardized job functions," think RBAC.

Study Guide1,150 words

Applying IAM Policies to Roles, Endpoints, and Services

Apply IAM policies to roles, endpoints, and services (for example, S3 Access Points, AWS PrivateLink)

Read full article

Applying IAM Policies to Roles, Endpoints, and Services

This study guide focuses on the critical skill of securing AWS resources by applying granular Identity and Access Management (IAM) policies. This is a core competency for the AWS Certified Data Engineer – Associate exam, specifically regarding data privacy, governance, and authentication mechanisms.

Learning Objectives

  • Distinguish between different IAM policy types (identity-based, resource-based, and permissions boundaries).
  • Configure IAM roles for service-to-service communication using the principle of least privilege.
  • Implement specialized access controls like S3 Access Points and VPC Endpoints (PrivateLink).
  • Evaluate effective permissions when multiple policy types overlap.

Key Terms & Glossary

  • Principal: An entity (user, role, or account) that can perform actions on AWS resources.
  • IAM Role: An identity with specific permissions that can be assumed by anyone (users or services) who needs them, providing temporary security credentials.
  • Service-Linked Role: A unique type of IAM role that is linked directly to an AWS service and predefined by the service for its own use.
  • ARN (Amazon Resource Name): A standardized format to uniquely identify AWS resources across all of AWS.
  • S3 Access Point: A named network endpoint with a dedicated access policy that describes how data can be accessed using that endpoint.
  • AWS PrivateLink: Technology that provides private connectivity between VPCs and AWS services without exposing data to the internet.

The "Big Idea"

In a data engineering ecosystem, security is not just about "who" has access, but "how" and "from where" that access occurs. By combining IAM Roles (identities) with Resource-Based Policies (on the data itself) and Network Endpoints (the path to the data), you create a multi-layered defense. This "Defense in Depth" ensures that even if a credential is leaked, the data remains protected by network constraints and resource-level locks.

Formula / Concept Box

IAM Policy Structure

Every IAM policy statement contains these four core elements:

ElementDescriptionExample
EffectWhether the statement allows or denies access."Effect": "Allow"
ActionThe specific API operation(s) being permitted."Action": "s3:GetObject"
ResourceThe specific AWS resource(s) the action applies to."Resource": "arn:aws:s3:::my-bucket/*"
ConditionOptional: When the policy is in effect."Condition": {"IpAddress": {"aws:SourceIp": "1.2.3.4/32"}}

Hierarchical Outline

  1. IAM Policy Types
    • Identity-Based: Attached to users/roles; defines what an identity can do.
    • Resource-Based: Attached to resources (e.g., S3 buckets, SQS queues); defines who can access the resource.
    • Permissions Boundaries: A managed policy used to set the maximum permissions that an identity-based policy can grant.
  2. Access Delegation & Roles
    • Service Roles: Assumed by AWS services (e.g., Lambda, EMR) to interact with other resources.
    • Cross-Account Access: Using roles to allow a principal in Account A to access resources in Account B safely.
  3. Modern S3 Security
    • S3 Access Points: Simplifies managing data access for shared datasets; unique policies for different applications.
    • Block Public Access: An account-level or bucket-level guardrail to prevent accidental exposure.
  4. Network-Level IAM (Endpoints)
    • Interface VPC Endpoints: Uses PrivateLink to keep traffic within the AWS backbone.
    • Endpoint Policies: Resource-based policies attached to a VPC endpoint to control which principals can use it.

Visual Anchors

Policy Evaluation Logic

Loading Diagram...
Figure 1 — Mermaid diagram

S3 Access Point Architecture

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Definition-Example Pairs

  • Service-Linked Role
    • Definition: A role predefined by an AWS service that includes all the permissions the service requires to call other AWS services on your behalf.
    • Example: An AWSServiceRoleForAutoScaling allows EC2 Auto Scaling to launch or terminate instances when your scaling policies are triggered.
  • Least-Privilege Principle
    • Definition: Granting only the specific permissions required to perform a task and nothing more.
    • Example: Instead of granting s3:* to a Lambda function, you grant s3:GetObject and restrict the resource to arn:aws:s3:::my-app-data/logs/*.

Worked Examples

Scenario: Cross-Account S3 Access

Goal: An EC2 instance in Account A (Dev) needs to read data from an S3 bucket in Account B (Production).

Step 1: Create a Role in Account B (Production) Define a Trust Policy that allows Account A to assume the role.

json
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_A_ID:root" }, "Action": "sts:AssumeRole" }] }

Step 2: Attach Permissions to the Role in Account B Attach a policy allowing s3:GetObject on the specific bucket.

Step 3: Grant Permission in Account A (Dev) Attach an identity-based policy to the EC2 instance profile in Account A allowing it to call sts:AssumeRole on the ARN of the role created in Step 1.

Checkpoint Questions

  1. Can a Permissions Boundary grant access to a resource if the Identity-based policy is missing?
  2. What is the main advantage of using an S3 Access Point over a single large bucket policy for a shared dataset?
  3. Why should you avoid using long-term IAM user credentials for application authentication?
▶View Answers
  1. No. Permissions boundaries only limit the maximum permissions; they cannot grant access on their own.
  2. It prevents a single bucket policy from becoming overly complex and reaching the size limit as more users/applications are added.
  3. Long-term credentials (access keys) increase the risk of permanent compromise if leaked; roles use temporary credentials that expire automatically.

Comparison Tables

AWS Managed vs. Customer Managed Policies

FeatureAWS ManagedCustomer Managed
CreationCreated and maintained by AWS.Created and maintained by you.
EditabilityCannot be edited.Fully customizable.
UpdatesAWS adds new permissions automatically.You must update permissions manually.
ScopeBroad (e.g., ReadOnlyAccess).Precise (Least Privilege).

Muddy Points & Cross-Refs

  • Service Role vs. Service-Linked Role: This is a common point of confusion. A Service Role is a standard IAM role you create for a service to assume. A Service-Linked Role is a special role owned and managed by the service itself—you cannot modify its permissions.
  • Public Access: Remember that S3 Block Public Access settings override any bucket policies or ACLs that attempt to grant public access.
  • Cross-Ref: For more on auditing these permissions, study AWS CloudTrail and IAM Access Analyzer (which checks for unintended external access).
Study Guide940 words

AWS Storage Services: Purpose-Built Data Stores and Vector Indexing

Apply storage services to appropriate use cases (for example, using indexing algorithms like Hierarchical Navigable Small Worlds [HNSW] with Amazon Aurora PostgreSQL and using Amazon MemoryDB for fast key/value pair access)

Read full article

AWS Storage Services: Purpose-Built Data Stores and Vector Indexing

This guide focuses on selecting the appropriate AWS storage service for specific performance, cost, and functional requirements. It highlights modern advancements such as vector indexing (HNSW) for AI/ML and ultra-fast in-memory processing.

Learning Objectives

After studying this guide, you should be able to:

  • Identify the correct AWS storage service based on access patterns (e.g., key-value vs. relational).
  • Explain the role of Hierarchical Navigable Small Worlds (HNSW) indexing in Amazon Aurora PostgreSQL.
  • Differentiate between Amazon MemoryDB and Amazon ElastiCache for high-speed data access.
  • Select appropriate vector index types (HNSW vs. IVF) for similarity search workloads.
  • Map data types (structured, semi-structured, graph) to their optimal AWS database services.

Key Terms & Glossary

  • Vector Embedding: A numerical representation of data (text, images) that allows for similarity searching based on distance in a multi-dimensional space.
  • HNSW (Hierarchical Navigable Small Worlds): An indexing algorithm used for efficient Approximate Nearest Neighbor (ANN) searches in high-dimensional vector data.
  • IVF (Inverted File Index): A vector indexing method that partitions the vector space into clusters to speed up search by narrowing the search area.
  • Sub-millisecond Latency: Response times under 1ms, typically achieved by in-memory data stores like MemoryDB.
  • ACID Compliance: Atomicity, Consistency, Isolation, Durability—properties that guarantee reliable database transactions (Standard for Aurora/RDS).

The "Big Idea"

AWS advocates for Purpose-Built Databases. Instead of forcing all data into a single relational database, data engineers should select tools that match the specific shape and speed of the workload. A modern application might use Aurora for transactional data, MemoryDB for high-speed sessions, and OpenSearch for full-text search, all working in concert to provide a scalable architecture.

Formula / Concept Box

FeatureAmazon MemoryDBAmazon Aurora (with pgvector)Amazon DynamoDB
Primary EngineRedis-compatiblePostgreSQL/MySQLNoSQL (Key-Value)
Primary GoalUltra-fast performance + DurabilityRelational + Vector SearchMassively scalable Key-Value
Typical LatencyMicrosecondsMillisecondsSingle-digit Milliseconds
Vector SupportLimited (Redis Search)HNSW / IVFNo (requires integration)

Hierarchical Outline

  • I. High-Performance Key-Value Storage
    • Amazon MemoryDB: Redis-compatible, in-memory, but with Multi-AZ Durability. Ideal for microservices and banking ledgers.
    • Amazon ElastiCache: Best for non-durable caching (speed only). Data is lost if the cache fails/restarts.
  • II. Vector Search and AI Workloads
    • Amazon Aurora PostgreSQL: Supports pgvector extension.
    • HNSW Indexing: High precision, faster query speed, but higher memory usage during index build.
    • IVF Indexing: Lower memory footprint, faster build times, but potentially lower recall/accuracy than HNSW.
  • III. Specialized Databases
    • Amazon Neptune: Graph data (social connections, fraud networks).
    • Amazon OpenSearch: Log analytics and semantic search.
    • Amazon Redshift: OLAP (Analytics) and Data Warehousing.

Visual Anchors

Storage Selection Flowchart

Loading Diagram...
Figure 1 — Mermaid diagram

Vector Space Concept (HNSW vs. IVF)

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Definition-Example Pairs

  • Graph Database (Amazon Neptune): A database optimized for representing relationships between entities.
    • Example: Identifying fraudulent user accounts by tracing common IP addresses and credit card numbers used across multiple accounts.
  • In-Memory Database (MemoryDB): A database that keeps its entire data set in RAM for speed but logs transactions to multiple AZs for safety.
    • Example: A real-time leaderboard for a global gaming application where updates must be instant but scores cannot be lost.
  • Vector Search (Aurora pgvector): Searching for data based on semantic meaning rather than keywords.
    • Example: Searching an image catalog for "sunset over mountains" by comparing the vector representation of the query to the vectors of the images.

Worked Examples

Example 1: Selecting for Low Latency and Durability

Scenario: A financial service needs a key-value store for transaction processing. They require sub-millisecond response times but cannot risk losing any data if a node fails.

  • Incorrect Choice: ElastiCache (not durable; data in RAM is volatile).
  • Correct Choice: Amazon MemoryDB. It uses a distributed transactional log to ensure that even though data is served from RAM, it is written to disk across multiple Availability Zones.

Example 2: Implementing Vector Search for RAG

Scenario: A developer is building a Retrieval-Augmented Generation (RAG) system using Amazon Bedrock. They need to store millions of document embeddings and retrieve the most relevant ones within 50ms.

  • Implementation: Enable the pgvector extension on an Amazon Aurora PostgreSQL instance. Use the HNSW index type for the vector column to ensure high-speed retrieval of the nearest neighbors with high accuracy.

Checkpoint Questions

  1. Which service would you choose for a social media application's "friend-of-a-friend" recommendation feature? (Answer: Amazon Neptune)
  2. What is the primary difference between MemoryDB and ElastiCache regarding data safety? (Answer: MemoryDB is durable across multiple AZs; ElastiCache is primary volatile/cache-only)
  3. In vector search, which indexing algorithm is generally faster for queries at the cost of higher memory usage: IVF or HNSW? (Answer: HNSW)
  4. Which NoSQL service is best suited for simple, massive-scale key-value lookups with single-digit millisecond latency? (Answer: Amazon DynamoDB)

Comparison Tables

Vector Indexing Comparison

FeatureHNSW (Hierarchical Navigable Small Worlds)IVF (Inverted File Index)
Search SpeedVery FastFast (once clusters are pruned)
Memory UsageHigh (Builds a graph in memory)Low (Uses centroids and clusters)
AccuracyHighModerate (dependent on cluster count)
Best Use CaseSmall to Medium datasets where speed is kingVery large datasets with memory constraints

Muddy Points & Cross-Refs

  • HNSW vs. IVF Memory: Students often confuse memory usage. Remember: HNSW stands for Heavy memory usage because it builds a complex graph of connections between every data point.
  • MemoryDB vs. DynamoDB DAX: While both provide fast access, MemoryDB is a standalone Redis database, whereas DAX is a cache specifically for DynamoDB. If you need a full Redis API, use MemoryDB.
  • Cross-Ref: For more on how to generate the vectors used in Aurora, see Unit 4: Machine Learning and Bedrock Integration.
Curriculum Overview875 words

Curriculum Overview: AWS Audit Logs and Governance for Data Engineers

Audit Logs

Read full article

Curriculum Overview: AWS Audit Logs and Governance for Data Engineers

This curriculum provides a structured path to mastering the logging, monitoring, and auditing requirements necessary for the AWS Certified Data Engineer - Associate (DEA-C01) certification. It focuses on implementing robust audit trails to ensure data pipeline resiliency, security, and compliance.

Prerequisites

Before starting this module, students should possess the following foundational knowledge:

  • AWS Cloud Practitioner Essentials: Familiarity with core AWS services (S3, EC2, IAM).
  • IAM Fundamentals: Understanding of users, roles, and policies to manage permissions.
  • Data Format Basics: Ability to read and interpret JSON (the primary format for AWS logs).
  • SQL Basics: Proficiency in standard SQL for querying logs via Amazon Athena.

Module Breakdown

ModuleTitlePrimary ServicesDifficulty
1Fundamentals of AWS CloudTrailCloudTrail, CloudTrail LakeBeginner
2Centralized Logging with CloudWatchCloudWatch Logs, InsightsIntermediate
3Service-Specific Audit ConfigurationsAmazon Redshift, Amazon S3, EMRIntermediate
4Advanced Log Analysis & VisualizationAmazon Athena, OpenSearch, QuickSightAdvanced
5Compliance and Governance WorkflowsAWS Config, Macie, EventBridgeAdvanced

Learning Objectives per Module

Module 1: Fundamentals of AWS CloudTrail

  • Configure CloudTrail Trails: Move beyond the default 90-day event history to create permanent, multi-region trails.
  • Distinguish Event Types: Understand the difference between Management Events (control plane) and Data Events (e.g., S3 object-level actions).
  • Querying with CloudTrail Lake: Execute SQL-based queries on activity logs without managing complex ETL pipelines.

Module 2: Centralized Logging with CloudWatch

  • Log Ingestion: Configure AWS services (Lambda, Glue, EMR) to push application-level logs to CloudWatch Logs.
  • Insights & Filtering: Use CloudWatch Logs Insights to perform high-speed searches and aggregate log data.
  • Alarm Integration: Create CloudWatch Alarms to trigger SNS notifications when specific error patterns appear in logs.

Module 3: Service-Specific Audit Configurations

  • Redshift Auditing: Enable connection, user, and user activity logs (Note: This must be explicitly enabled; it is not on by default).
  • S3 Server Access Logging: Implement manual monitoring tools to track every request made to a specific bucket.
  • EMR Debugging: Access and analyze logs for large-scale distributed processing clusters.

Module 4: Advanced Log Analysis

  • Schema Definition: Use AWS Glue Crawlers to catalog log files stored in S3 for Athena querying.
  • OpenSearch Integration: Deploy OpenSearch (formerly Elasticsearch) for full-text search and real-time dashboarding of log data.

Visual Anchors

Log Flow Architecture

Loading Diagram...
Figure 1 — Mermaid diagram

Audit Choice Matrix

Loading Diagram...
Figure 2 — Mermaid diagram

Success Metrics

To demonstrate mastery of this curriculum, the learner must be able to:

  • Metric 1: Successfully query a CloudTrail log to identify the specific IAM user who deleted an AWS Glue job within the last 24 hours.
  • Metric 2: Configure a Redshift cluster to export audit logs to an S3 bucket and verify the logs appear in the specified prefix.
  • Metric 3: Build a CloudWatch Logs Insights query that identifies the top 5 most frequent error codes in a Lambda function log group.
  • Metric 4: Describe the specific use cases for S3 Storage Lens versus CloudTrail for monitoring data access patterns.

Real-World Application

[!IMPORTANT] Scenario: The "Bad Actor" Investigation A financial services company notices that a sensitive dataset in S3 was modified outside of business hours.

  • Step 1: Use AWS CloudTrail to identify the UpdateObject API call and find the source IP and IAM credentials used.
  • Step 2: Cross-reference with AWS Config to see the state of the bucket's encryption policy at the time of the change.
  • Step 3: Use Amazon Athena to scan historical S3 Server Access Logs to determine if the same IP has been performing reconnaissance (Read-Only activity) over the past month.
  • Result: The data engineer provides a complete "Chain of Custody" report for compliance officers, satisfying GDPR/HIPAA requirements for auditability.

Comparison of Primary Audit Tools

FeatureAWS CloudTrailAmazon CloudWatch LogsAmazon S3 Access Logs
Focus"Who did what?" (API Level)"What happened?" (App Level)"Who accessed the file?"
Data FormatJSONPlain Text / JSONSpace-delimited
Query ToolCloudTrail Lake / AthenaLogs InsightsAthena
Real-time?~15 min delayNear real-timePeriodic delivery
Hands-On Lab850 words

Hands-On Lab: Implementing and Analyzing Audit Logs in AWS

Audit Logs

Read full article

Hands-On Lab: Implementing and Analyzing Audit Logs in AWS

[!WARNING] Remember to run the teardown commands at the end of this lab to avoid ongoing charges.

Prerequisites

Before starting this lab, ensure you have the following:

  • An AWS Account with Administrator access.
  • AWS CLI installed and configured with credentials (aws configure).
  • Basic knowledge of JSON and the AWS Console.
  • IAM Permissions to manage S3, CloudTrail, and CloudWatch Logs.

Learning Objectives

By the end of this lab, you will be able to:

  1. Create and configure a multi-region AWS CloudTrail trail.
  2. Enable S3 Data Events for granular tracking of object-level activity.
  3. Integrate CloudTrail with Amazon CloudWatch Logs for real-time monitoring.
  4. Analyze audit logs using the CloudTrail Event History and CloudWatch Log Insights.

Architecture Overview

Loading Diagram...
Figure 1 — Mermaid diagram

Step-by-Step Instructions

Step 1: Create an S3 Bucket for Log Storage

CloudTrail requires an S3 bucket to store the log files for long-term auditing and compliance.

bash
# Generate a unique bucket name BUCKET_NAME="brainybee-audit-logs-$(aws sts get-caller-identity --query Account --output text)" # Create the bucket aws s3 mb s3://$BUCKET_NAME --region <YOUR_REGION>
▶Console alternative
  1. Navigate to S3 in the AWS Console.
  2. Click Create bucket.
  3. Bucket name: brainybee-audit-logs-<ACCOUNT_ID>.
  4. Keep other settings as default and click Create bucket.

Step 2: Create a CloudWatch Log Group

To enable real-time analysis, we need a destination for CloudTrail events in CloudWatch.

bash
aws logs create-log-group --log-group-name /aws/cloudtrail/audit-log-lab
▶Console alternative
  1. Navigate to CloudWatch > Logs > Log groups.
  2. Click Create log group.
  3. Log group name: /aws/cloudtrail/audit-log-lab.
  4. Click Create.

Step 3: Configure the CloudTrail Trail

Now we will create the trail that captures all management events and routes them to S3 and CloudWatch.

bash
# Create the trail aws cloudtrail create-trail --name LabAuditTrail --s3-bucket-name $BUCKET_NAME --is-multi-region-trail --cloud-watch-logs-log-group-arn $(aws logs describe-log-groups --log-group-name-prefix /aws/cloudtrail/audit-log-lab --query "logGroups[0].arn" --output text) --cloud-watch-logs-role-arn <YOUR_CLOUDTRAIL_IAM_ROLE_ARN> # Start logging aws cloudtrail start-logging --name LabAuditTrail

[!NOTE] In the console, AWS automatically creates the IAM role for CloudWatch integration. In the CLI, you must provide a role with permissions to create log streams and put log events.

▶Console alternative
  1. Navigate to CloudTrail > Trails > Create trail.
  2. Trail name: LabAuditTrail.
  3. Storage location: Choose "Use existing S3 bucket" and select the bucket from Step 1.
  4. CloudWatch Logs: Check "Enabled".
  5. Log group: Select the group from Step 2.
  6. IAM Role: Choose "New" and let AWS create the default role.
  7. Click Next, then Create trail.

Step 4: Generate and View Activity

Perform actions in your account to generate logs (e.g., create an S3 folder or modify a security group).

bash
# Create a dummy object to generate a 'PutObject' event (if data events are enabled) aws s3 cp hello.txt s3://$BUCKET_NAME/test-activity.txt

Checkpoints

  1. Verify Trail Status: Run aws cloudtrail get-trail-status --name LabAuditTrail. The IsLogging field should be true.
  2. Check S3 Delivery: Navigate to your S3 bucket. You should see a folder structure starting with AWSLogs/.
  3. CloudWatch Logs: Navigate to the Log Group. You should see log streams being populated with JSON entries of your recent API calls.

Troubleshooting

ProblemPotential CauseFix
No logs in S3Bucket PolicyEnsure the S3 bucket policy allows cloudtrail.amazonaws.com to PutObject.
Logs not appearing in CloudWatchIAM Role PermissionsVerify the CloudWatch Logs role has logs:CreateLogStream and logs:PutLogEvents permissions.
Delay in logsPropagation TimeCloudTrail logs can take up to 15 minutes to appear in CloudWatch/S3.

Clean-Up / Teardown

To avoid charges, delete the resources created in this lab:

bash
# Stop and delete the trail aws cloudtrail stop-logging --name LabAuditTrail aws cloudtrail delete-trail --name LabAuditTrail # Delete the Log Group aws logs delete-log-group --log-group-name /aws/cloudtrail/audit-log-lab # Empty and delete the S3 bucket aws s3 rb s3://$BUCKET_NAME --force

Cost Estimate

  • CloudTrail: The first management trail in each region is Free. Data events (if enabled) are charged at $0.10 per 100,000 events.
  • S3: Standard storage rates apply (negligible for small log files).
  • CloudWatch Logs: Ingestion is charged at ~$0.50/GB (depending on region). This lab will likely stay within the Free Tier limits.

Stretch Challenge

Enable S3 Data Events for your specific bucket. Use CloudWatch Logs Insights to write a query that identifies all DeleteObject calls made in the last hour.

Concept Review

FeatureCloudTrail Event HistoryCloudTrail Trails
Retention90 DaysIndefinite (based on S3 lifecycle)
ScopeManagement Events onlyManagement + Data Events
CostFreePaid (per events processed)
Multi-regionSingle Region viewCan be Multi-Region
Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram
Curriculum Overview845 words

Curriculum Overview: Authentication Mechanisms for AWS Data Engineering

Authentication Mechanisms

Read full article

Curriculum Overview: Authentication Mechanisms for AWS Data Engineering

This curriculum provides a comprehensive guide to implementing, managing, and auditing authentication within the AWS ecosystem, specifically tailored for the AWS Certified Data Engineer – Associate (DEA-C01). It covers the spectrum from basic IAM credentials to sophisticated identity federation and secret rotation strategies.


Prerequisites

Before starting this module, students should possess the following foundational knowledge:

  • Foundational AWS Knowledge: Familiarity with the AWS Management Console and the Shared Responsibility Model.
  • Basic Security Concepts: Understanding of the difference between Authentication (Who are you?) and Authorization (What can you do?).
  • Networking Basics: A baseline understanding of VPCs, Subnets, and Security Groups.
  • Data Literacy: Basic knowledge of how data flows between services like Amazon S3, AWS Glue, and Amazon Redshift.

Module Breakdown

ModuleTopicDifficultyKey Services
1IAM Fundamentals & IdentitiesBeginnerIAM Users, Groups, Roles
2Programmatic Auth & Secret ManagementIntermediateSecrets Manager, SSM Parameter Store
3Cross-Service & Connectivity AuthIntermediateVPC Endpoints, Security Groups, PrivateLink
4Enterprise Identity & GovernanceAdvancedIAM Identity Center, Lake Formation, SSO
5Service-Specific Auth (MSK, Redshift, OpenSearch)AdvancedMSK IAM, Redshift Data Sharing

Module Objectives

Module 1: IAM Fundamentals & Identities

  • Goal: Master the creation and management of IAM principals.
  • Objectives:
    • Differentiate between IAM Users (long-term credentials) and IAM Roles (temporary security tokens).
    • Implement the Principle of Least Privilege using custom IAM policies.
    • Configure trust relationships for service-linked roles (e.g., allowing Lambda to access S3).

Module 2: Programmatic Auth & Secret Management

  • Goal: Securely manage application-level credentials without hardcoding.
  • Objectives:
    • Implement automatic credential rotation using AWS Secrets Manager.
    • Store sensitive parameters (API keys, DB strings) in Systems Manager Parameter Store.
    • Compare the use cases for Secrets Manager vs. Parameter Store.

Module 3: Cross-Service & Connectivity Auth

  • Goal: Secure the network perimeter for data traffic.
  • Objectives:
    • Configure VPC Interface Endpoints for OpenSearch and Redshift.
    • Utilize S3 Gateway Endpoints to ensure data never leaves the AWS private network.
    • Enforce HTTPS-only protocols for sensitive data ingestion.

Module 4: Enterprise Identity & Governance

  • Goal: Scale authentication for large organizations.
  • Objectives:
    • Integrate IAM Identity Center with external Directory Services.
    • Apply fine-grained access control at the database, table, and column level via AWS Lake Formation.

Visual Anchors

Identity Flow Architecture

Loading Diagram...
Figure 1 — Mermaid diagram

The Hierarchy of Authentication

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Success Metrics

To demonstrate mastery of this curriculum, a student should be able to:

  1. Draft a Zero-Trust Policy: Write a JSON IAM policy that restricts access to a specific S3 prefix using ${aws:username} variables.
  2. Automate Rotation: Successfully configure a Lambda function to rotate a Redshift password in Secrets Manager every 30 days.
  3. Secure a Pipeline: Design a multi-service pipeline (EMR to Redshift) where all communication occurs over VPC Endpoints with no public IP addresses.
  4. Audit Access: Use AWS CloudTrail to identify which IAM principal deleted a specific Glue Table.

[!IMPORTANT] For the DEA-C01 exam, remember that IAM Role-based authentication is the recommended best practice for internal AWS service-to-service communication, while IAM Users are primarily for external tools or CLI access.


Real-World Application

Authentication mechanisms are the "first line of defense" in any data engineering role. Understanding these tools is critical for:

  • Compliance (GDPR/HIPAA): Ensuring that only authorized personnel can view PII (Personally Identifiable Information) through fine-grained Lake Formation permissions.
  • Security Posture: Preventing data breaches caused by hardcoded credentials in GitHub or public S3 buckets.
  • Operational Efficiency: Using SSO (IAM Identity Center) to manage thousands of users through a single directory rather than managing individual IAM users.
  • Multi-tenant Architectures: Isolating data for different Lines of Business (LOBs) within a single MSK cluster or Redshift instance using IAM-based access control.
▶Click to expand: Comparison of Managed vs. Unmanaged Auth
FeatureManaged (e.g., IAM Identity Center)Unmanaged (e.g., DB-native users)
Credential StorageCentralized in AWSDecentralized in DB engine
AuditabilityUnified in CloudTrailScattered across service logs
ScalabilityHigh (handles thousands of users)Low (manual user creation)
RotationAutomated via AWS toolsOften manual or requires custom scripts
Hands-On Lab945 words

Lab: Implementing Secure Authentication with IAM Roles and Secrets Manager

Authentication Mechanisms

Read full article

Lab: Implementing Secure Authentication with IAM Roles and Secrets Manager

In this lab, you will apply industry-standard authentication mechanisms within an AWS environment. You will move away from risky long-term IAM user credentials and instead implement IAM Roles for service-to-service authentication and AWS Secrets Manager for secure credential storage and rotation.

[!WARNING] Remember to run the teardown commands at the end of this lab to avoid ongoing charges for the EC2 instance and Secrets Manager secrets.

Prerequisites

  • An active AWS Account.
  • AWS CLI configured on your local machine with AdministratorAccess.
  • Basic familiarity with the Linux command line.
  • Access to a region where Amazon EC2 and AWS Secrets Manager are available (e.g., us-east-1).

Learning Objectives

  • Create and attach an IAM Role to an EC2 instance to eliminate hardcoded credentials.
  • Implement the Principle of Least Privilege using custom IAM policies.
  • Securely store and retrieve sensitive information using AWS Secrets Manager.
  • Verify authentication flows through the AWS CLI.

Architecture Overview

This diagram illustrates the flow of authentication. Instead of storing an Access Key on the EC2 instance, the instance "assumes" a role to gain temporary security credentials.

Loading Diagram...
Figure 1 — Mermaid diagram

Step-by-Step Instructions

Step 1: Create a Least-Privilege IAM Policy

First, we define exactly what our data processor is allowed to do. We want it to list objects in a specific bucket and retrieve a specific secret.

bash
# Create a policy file cat <<EOF > lab-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:ListBucket", "s3:GetObject"], "Resource": ["arn:aws:s3:::brainybee-lab-*", "arn:aws:s3:::brainybee-lab-*/*"] }, { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] } EOF # Create the IAM Policy aws iam create-policy --policy-name DataEngineerLabPolicy --policy-document file://lab-policy.json
▶Console Alternative

Navigate to

IAM > Policies > Create Policy

. Select the

JSON

tab and paste the code above. Name it

DataEngineerLabPolicy

.

Step 2: Create the IAM Role and Instance Profile

Services cannot "assume" a role unless we grant them permission to do so via a Trust Policy.

bash
# Create trust policy for EC2 cat <<EOF > trust-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF # Create the Role aws iam create-role --role-name DataEngineerRole --assume-role-policy-document file://trust-policy.json # Attach the policy from Step 1 (Replace <ACCOUNT_ID>) aws iam attach-role-policy --role-name DataEngineerRole --policy-arn arn:aws:iam::<YOUR_ACCOUNT_ID>:policy/DataEngineerLabPolicy # Create Instance Profile (required for EC2 to use a role) aws iam create-instance-profile --instance-profile-name DataEngineerInstanceProfile aws iam add-role-to-instance-profile --instance-profile-name DataEngineerInstanceProfile --role-name DataEngineerRole

Step 3: Store a Secret in Secrets Manager

Instead of hardcoding a database password in your app, you will store it in the managed service.

bash
aws secretsmanager create-secret --name "lab/db/password" \ --description "Database password for data engineering lab" \ --secret-string "{\"username\":\"admin\",\"password\":\"P@ssw0rd123!\"}"

[!TIP] In a production environment, you would enable Rotation to automatically change this password every 30-90 days.

Step 4: Launch EC2 with the Instance Profile

Now we launch a small instance and tell AWS to give it the identity we just created.

bash
# Launch t2.micro instance aws ec2 run-instances --image-id ami-0c101f26f147fa7fd --count 1 --instance-type t2.micro \ --iam-instance-profile Name=DataEngineerInstanceProfile \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=AuthenticationLab}]'

Checkpoints

  1. Verify Role Attachment: Navigate to the EC2 console. Select your instance and check the "IAM Role" field. It should say DataEngineerRole.
  2. Test Authentication: SSH into your instance (or use EC2 Instance Connect) and run:
    bash
    aws secretsmanager get-secret-value --secret-id lab/db/password
    If successful, you will see the JSON secret without ever having to run aws configure on that machine.

Visual Concept: IAM Policy Structure

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 2 — TikZ diagram

Troubleshooting

ErrorLikely CauseFix
An error occurred (AccessDenied)The IAM Policy does not have the correct ARN for the secret or bucket.Check the Resource block in lab-policy.json.
InstanceProfile not foundThere is a propagation delay in IAM.Wait 60 seconds and try the command again.
Connection TimeoutSecurity Group is not allowing SSH (Port 22).Update the VPC Security Group to allow your IP on port 22.

Concept Review

MechanismBest Use CaseSecurity Benefit
IAM UserHumans accessing the Console/CLI.Individual accountability.
IAM RoleApplications or Services (EC2, Lambda).No long-term credentials to leak.
Secrets ManagerDatabase credentials, API Keys.Automatic rotation and encryption.
Identity CenterLarge organizations with many users.Centralized SSO and directory sync.

Clean-Up / Teardown

To avoid charges, delete these resources in order:

bash
# 1. Terminate EC2 Instance (Get ID from console or previous output) aws ec2 terminate-instances --instance-ids <YOUR_INSTANCE_ID> # 2. Delete Secret aws secretsmanager delete-secret --secret-id lab/db/password --force-delete-without-recovery # 3. Remove Role from Profile and Delete aws iam remove-role-from-instance-profile --instance-profile-name DataEngineerInstanceProfile --role-name DataEngineerRole aws iam delete-instance-profile --instance-profile-name DataEngineerInstanceProfile aws iam detach-role-policy --role-name DataEngineerRole --policy-arn arn:aws:iam::<YOUR_ACCOUNT_ID>:policy/DataEngineerLabPolicy aws iam delete-role --role-name DataEngineerRole aws iam delete-policy --policy-arn arn:aws:iam::<YOUR_ACCOUNT_ID>:policy/DataEngineerLabPolicy

Cost Estimate

  • EC2 t2.micro: Free Tier eligible (otherwise ~$0.0116/hour).
  • Secrets Manager: $0.40 per secret per month (pro-rated for this lab: <$0.01).
  • IAM: Free.

Stretch Challenge

Try to modify the IAM Policy so the EC2 instance can only retrieve the secret if it is accessed from within your specific VPC. Look up the aws:SourceVpc condition key in AWS documentation.

More Study Notes (143)

Curriculum Overview: AWS Authorization Mechanisms for Data Engineers

Authorization Mechanisms

785 words

Lab: Implementing Least-Privilege Authorization with IAM Roles and Policies

Authorization Mechanisms

850 words

Automating Data Pipelines: Event-Driven Processing with Step Functions and Lambda

Automate data processing by using AWS services

940 words

Curriculum Overview: Automating Data Processing with AWS (DEA-C01)

Automate data processing by using AWS services

845 words

AWS Certified Data Engineer – Associate (DEA-C01): Curriculum Overview

AWS - Certified Data Engineer - Associate DEA-C01

895 words

Mastering Technical Data Catalogs: AWS Glue and Apache Hive

Build and reference a technical data catalog (for example, AWS Glue Data Catalog, Apache Hive metastore)

1,050 words

AWS Data Pipeline Engineering: Performance, Availability, and Resilience

Build data pipelines for performance, availability, scalability, resiliency, and fault tolerance

945 words

Data Engineering Study Guide: Integrating AWS Lambda with Amazon Kinesis

Call a Lambda function from Kinesis

864 words

Mastering Programmatic Access: AWS SDKs and Developer Tools for Data Engineering

Call SDKs to access Amazon features from code

1,085 words

Curriculum Overview: Cataloging and Schema Evolution (AWS Data Engineer Associate)

Cataloging and Schema Evolution

820 words

Lab: Mastering Schema Evolution with AWS Glue Crawlers

Cataloging and Schema Evolution

945 words

Configuring Encryption Across AWS Account Boundaries

Configure encryption across AWS account boundaries

945 words

AWS Lambda: Concurrency and Performance Optimization

Configure Lambda functions to meet concurrency and performance needs

925 words

AWS Data Store Selection & Configuration Guide

Configure the appropriate storage services for specific access patterns and requirements (for example, Amazon Redshift, Amazon EMR, Lake Formation, Amazon RDS, DynamoDB)

925 words

Mastering Data Source Connectivity: JDBC & ODBC in AWS

Connect to different data sources (for example, Java Database Connectivity [JDBC], Open Database Connectivity [ODBC])

925 words

Mastering AWS Custom Policies & The Principle of Least Privilege

Construct custom policies that meet the principle of least privilege

1,150 words

AWS Data Engineering: Consuming and Maintaining Data APIs

Consume and maintain data APIs

845 words

Mastering Data API Consumption and Creation on AWS

Consume data APIs

1,050 words

Mastering IP Allowlisting and Network Connectivity for Data Sources

Create allowlists for IP addresses to allow connections to data sources

945 words

Mastering AWS Data Catalogs: Business and Technical Metadata Management

Create and manage business data catalogs (for example, Amazon SageMaker Catalog)

945 words

Credential Management and Secret Rotation with AWS Secrets Manager

Create and rotate credentials for password management (for example, AWS Secrets Manager)

925 words

Mastering AWS IAM: Identities, Policies, and Endpoints

Create and update AWS Identity and Access Management (IAM) groups, roles, endpoints, and services

920 words

Mastering Custom IAM Policies: Beyond AWS Managed Defaults

Create custom IAM policies when a managed policy does not meet the needs

890 words

AWS Data APIs: Building the Front Door for Your Data Lake

Create data APIs to make data available to other systems by using AWS services

875 words

AWS Glue: Source and Target Connections for Data Cataloging

Create new source or target connections for cataloging (for example, AWS Glue)

1,050 words

Data Analysis and Querying Using AWS Services: Curriculum Overview

Data Analysis and Querying Using AWS Services

745 words

Lab: Building a Serverless Data Lake with AWS Glue and Amazon Athena

Data Analysis and Querying Using AWS Services

1,050 words

Curriculum Overview: Data Encryption and Masking in AWS

Data Encryption and Masking

680 words

Hands-On Lab: Implementing Data Encryption and PII Masking on AWS

Data Encryption and Masking

920 words

Curriculum Overview: Data Lifecycle Management (AWS DEA-C01)

Data Lifecycle Management

842 words

Hands-On Lab: Implementing Automated Data Lifecycle Management on AWS

Data Lifecycle Management

945 words

Curriculum Overview: Data Models and Schema Evolution

Data Models and Schema Evolution

845 words

Lab: Managing Schema Evolution with AWS Glue and Athena

Data Models and Schema Evolution

920 words

Curriculum Overview: Data Privacy and Governance

Data Privacy and Governance

820 words

Lab: Implementing Data Privacy and Governance on AWS

Data Privacy and Governance

1,050 words

Automating Data Quality Validation with AWS Glue and DQDL

Data Quality and Validation

945 words

Curriculum Overview: Data Quality and Validation (AWS DEA-C01)

Data Quality and Validation

685 words

Lab: Building a Real-Time Serverless Transformation Pipeline with Amazon Data Firehose and AWS Lambda

Data Transformation and Processing

925 words

AWS Data Engineering: Data Aggregation, Rolling Averages, Grouping, and Pivoting

Define data aggregation, rolling average, grouping, and pivoting

920 words

Mastering Data Quality Rules: AWS Glue Data Quality & DataBrew

Define data quality rules (for example, DataBrew)

920 words

Fundamentals of Distributed Computing for Data Engineering

Define distributed computing

1,245 words

Stateful vs. Stateless Data Transactions: AWS Data Engineering Guide

Define stateful and stateless data transactions

940 words

AWS Certified Data Engineer: Foundations of Big Data (The 5 Vs)

Define volume, velocity, and variety of data (for example, structured data, unstructured data)

945 words

Study Guide: Deleting Data to Meet Business and Legal Requirements

Delete data to meet business and legal requirements

948 words

AWS Logging, Monitoring, and Auditing for Data Engineers

Deploy logging and monitoring solutions to facilitate auditing and traceability

920 words

Data Optimization: Indexing, Partitioning, and Compression Strategies

Describe best practices for indexing, partitioning strategies, compression, and other data optimization techniques

945 words

Mastering CI/CD for Data Pipelines

Describe continuous integration and continuous delivery (CI/CD) (implementation, testing, and deployment of data pipelines)

1,085 words

AWS Data Engineering: Data Sampling Techniques & Quality Validation

Describe data sampling technique

850 words

Data Structures and Algorithms for Data Engineering (DEA-C01)

Describe data structures and algorithms (for example, graph data structures and tree data structures)

925 words

AWS Data Governance Frameworks and Sharing Patterns

Describe governance data framework and data sharing patterns

890 words

Data Ingestion Replayability: AWS Implementation Guide

Describe replayability of data ingestion pipelines

895 words

AWS Managed vs. Unmanaged Services: A Strategic Study Guide

Describe the differences between managed services and unmanaged services

875 words

AWS Study Guide: Provisioned vs. Serverless Services

Describe tradeoffs between provisioned services and serverless services

920 words

AWS Data Engineer Associate: Vector Indexing (HNSW & IVF)

Describe vector index types (for example, HNSW, IVF)

890 words

Study Guide: Vectorization and Amazon Bedrock Knowledge Bases

Describe vectorization concepts (for example, Amazon Bedrock knowledge base)

870 words

Mastering AWS Data Schemas: Redshift, DynamoDB, and Lake Formation

Design schemas for Amazon Redshift, DynamoDB, and Lake Formation

1,145 words

Mastering AWS Glue Crawlers and Data Catalogs

Discover schemas and use AWS Glue crawlers to populate data catalogs

920 words

Encryption in Transit: Mastering Data Protection on the Wire

Enable encryption in transit or before transit for data

915 words

Establishing Data Lineage with AWS Tools

Establish data lineage by using AWS tools (for example, Amazon SageMaker ML Lineage Tracking and Amazon SageMaker Catalog)

865 words

S3 Lifecycle Management: Automating Data Expiration and Cost Optimization

Expire data when it reaches a specific age by using S3 Lifecycle policies

945 words

AWS Data Engineering: Extracting & Preparing Logs for Audits

Extract logs for audits

945 words

Data Governance and Permissions: Amazon Redshift Data Sharing

Grant permissions for data sharing (for example, data sharing for Amazon Redshift)

945 words

AWS Data Engineer: Implementing & Maintaining Serverless Workflows

Implement and maintain serverless workflows

940 words

Mastering Batch Ingestion Configuration for AWS Data Engineering

Implement appropriate configuration options for batch ingestion

864 words

Amazon Redshift: Data Migration and Remote Access Methods

Implement data migration or remote access methods (for example, Amazon Redshift federated queries, Amazon Redshift materialized views, Amazon Redshift Spectrum)

920 words

Data Privacy Strategies: Preventing Replication to Disallowed AWS Regions

Implement data privacy strategies to prevent backups or replications of data to disallowed AWS Regions

985 words

Study Guide: Implementing Data Skew Mechanisms

Implement data skew mechanisms

1,085 words

AWS Data Transformation Services: Comprehensive DEA-C01 Study Guide

Implement data transformation services based on requirements (for example, Amazon EMR, AWS Glue, Lambda, Amazon Redshift)

925 words

Study Guide: Implementing PII Identification and Data Privacy

Implement PII identification (for example, Amazon Macie with Lake Formation)

925 words

AWS Data Store Selection: Cost and Performance Optimization

Implement the appropriate storage services for specific cost and performance requirements (for example, Amazon Redshift, Amazon EMR, AWS Lake Formation, Amazon RDS, Amazon DynamoDB, Amazon Kinesis Data Streams, Amazon Managed Streaming for Apache Kafka [Amazon MSK])

920 words

Mastering Throttling and Rate Limits in AWS Data Engineering

Implement throttling and overcoming rate limits (for example, DynamoDB, Amazon RDS, Kinesis)

1,084 words

Data Integration Mastery: Combining Multiple Sources for AWS Data Engineering

Integrate data from multiple sources

1,050 words

Integrating Large Language Models (LLMs) for Data Processing

Integrate large language models (LLMs) for data processing

940 words

Study Guide: Integrating Migration Tools into Data Processing Systems

Integrate migration tools into data processing systems (for example, AWS Transfer Family)

1,050 words

DEA-C01: Integrating AWS Services for High-Volume Logging & Auditing

Integrate various AWS services to perform logging (for example, Amazon EMR in cases of large volumes of log data)

945 words

Data Consistency and Quality with AWS Glue DataBrew

Investigate data consistency (for example, DataBrew)

1,050 words

Mastering Data Sovereignty in AWS: A Guide for Data Engineers

Maintain data sovereignty

875 words

Lab: Monitoring and Auditing AWS Data Pipelines

Maintaining and Monitoring Data Pipelines

948 words

Maintaining and Monitoring Data Pipelines: Curriculum Overview

Maintaining and Monitoring Data Pipelines

820 words

Mastering Data Access with Amazon SageMaker Catalog

Manage data access through Amazon SageMaker Catalog projects

1,085 words

Amazon EventBridge: Managing Events and Schedulers for Data Pipelines

Manage events and schedulers (for example, Amazon EventBridge)

1,142 words

Managing Fan-In and Fan-Out for Streaming Data Distribution

Manage fan-in and fan-out for streaming data distribution

985 words

AWS Data Store Security: Managing Access, Locks, and Permissions

Manage locks to prevent access to data (for example, Amazon Redshift, Amazon RDS)

875 words

Managing Open Table Formats: Apache Iceberg for Data Engineering

Manage open table formats (for example Apache Iceberg)

820 words

AWS Lake Formation: Centralized Governance and Fine-Grained Access Control

Manage permissions through AWS Lake Formation (for Amazon Redshift, Amazon EMR, Amazon Athena, and Amazon S3)

915 words

S3 Lifecycle Management: Automating Storage Tier Transitions

Manage S3 Lifecycle policies to change the storage tier of S3 data

945 words

Mastering Data Lifecycle: S3 Versioning and DynamoDB TTL

Manage S3 versioning and DynamoDB TTL

945 words

Optimizing Data Ingestion & Transformation Runtime

Optimize code to reduce runtime for data ingestion and transformatio

945 words

Optimizing Container Usage for Data Engineering: Amazon ECS & EKS

Optimize container usage for performance needs (for example, Amazon Elastic Kubernetes Service [Amazon EKS], Amazon Elastic Container Service [Amazon ECS])

940 words

Cost Optimization Strategies for Data Processing (DEA-C01)

Optimize costs while processing data

875 words

AWS Data Engineering: Orchestrating Data Pipelines with MWAA and Step Functions

Orchestrate data pipelines (for example, Amazon Managed Workflows for Apache Airflow [Amazon MWAA], AWS Step Functions)

895 words

AWS Data Ingestion: Building an Automated Batch Pipeline with S3, Lambda, and Glue

Perform data ingestion

1,050 words

Curriculum Overview: Performing Data Ingestion (AWS DEA-C01)

Perform data ingestion

820 words

Mastering Data Movement: Amazon S3 and Amazon Redshift COPY/UNLOAD Operations

Perform load and unload operations to move data between Amazon S3 and Amazon Redshift

875 words

Mastering Schema Conversion with AWS SCT and DMS

Perform schema conversion (for example, by using the AWS Schema Conversion Tool [AWS SCT] and AWS Database Migration Service [AWS DMS] Schema Conversion)

875 words

Curriculum Overview: Pipeline Orchestration and Programming

Pipeline Orchestration and Programming

785 words

Lab: Orchestrating Serverless Data Pipelines with AWS Step Functions

Pipeline Orchestration and Programming

1,142 words

Data Preparation for Transformation: AWS Glue DataBrew and SageMaker Unified Studio

Prepare data for transformation (for example, AWS Glue DataBrew and Amazon SageMaker Unified Studio)

945 words

Curriculum Overview: Programming Concepts for Data Engineering (AWS DEA-C01)

Programming Concepts

785 words

Lab: Building a Serverless Data Processor with AWS Lambda and Python

Programming Concepts

985 words

AWS Certified Data Engineer: Protecting Data with Resiliency and Availability

Protect data with appropriate resiliency and availability

1,184 words

Database Access and Authority: Amazon Redshift and AWS Security

Provide database users, groups, and roles access and authority in a database (for example, for Amazon Redshift)

945 words

Mastering Amazon Athena: Serverless SQL for Data Lakes

Query data (for example, Amazon Athena)

1,055 words

AWS Certified Data Engineer Associate: Reading Data from Batch Sources

Read data from batch sources (for example, Amazon S3, AWS Glue, Amazon EMR, AWS DMS, Amazon Redshift, AWS Lambda, Amazon AppFlow)

925 words

Reading Data from Streaming Sources: AWS Data Engineer Study Guide

Read data from streaming sources (for example, Amazon Kinesis, Amazon Managed Streaming for Apache Kafka [Amazon MSK], Amazon DynamoDB Streams, AWS Database Migration Service [AWS DMS], AWS Glue, Amazon Redshift)

1,142 words

Data Quality Engineering on AWS: Checks and Validation

Run data quality checks while processing the data (for example, checking for empty fields)

1,050 words

Curriculum Overview: Selecting Optimal Data Stores (AWS DEA-C01)

Selecting Optimal Data Stores

860 words

Lab: Implementing Optimal Data Store Strategies on AWS

Selecting Optimal Data Stores

845 words

AWS Data Engineering: Setting Up Event Triggers (S3 & EventBridge)

Set up event triggers (for example, Amazon S3 Event Notifications, EventBridge)

880 words

Mastering AWS IAM Roles: A Study Guide for Data Engineers

Set up IAM roles for access (for example, AWS Lambda, Amazon API Gateway, AWS CLI, AWS CloudFormation)

890 words

Mastering Schedulers and Orchestration in AWS

Set up schedulers by using Amazon EventBridge, Apache Airflow, or time-based schedules for jobs and crawlers

1,152 words

AWS Certified Data Engineer: Secure Credential Management

Store application and database credentials (for example, Secrets Manager, AWS Systems Manager Parameter Store)

890 words

DEA-C01 Study Guide: Synchronizing Partitions with Data Catalogs

Synchronize partitions with a data catalog

920 words

Transforming Data Formats: CSV to Apache Parquet in AWS

Transform data between formats (for example, from .csv to Apache Parquet)

1,145 words

Troubleshooting and Orchestrating Amazon Managed Workflows

Troubleshoot Amazon managed workflows

985 words

Mastering Data Transformation Troubleshooting & Performance Optimization

Troubleshoot and debug common transformation failures and performance issues

980 words

AWS Data Engineering: Troubleshooting and Maintaining Pipelines

Troubleshoot and maintain pipelines (for example, AWS Glue, Amazon EMR)

940 words

Study Guide: Troubleshooting Performance Issues in AWS Data Pipelines

Troubleshoot performance issues

945 words

Study Guide: Updating VPC Security Groups

Update VPC security groups

925 words

Mastering Amazon CloudWatch Logs: Configuration and Automation for Data Engineers

Use Amazon CloudWatch Logs to log application data (with a focus on configuration and automation)

1,185 words

Mastering Application Logging with Amazon CloudWatch Logs

Use Amazon CloudWatch Logs to store application logs

920 words

AWS Lambda Storage: Mounting Volumes for Data Pipelines

Use and mount storage volumes from within Lambda functions

1,350 words

Mastering Athena Notebooks with Apache Spark

Use Athena notebooks that use Apache Spark to explore data

985 words

Mastering AWS CloudTrail Lake: Centralized Logging and Analysis

Use AWS CloudTrail Lake for centralized logging queries

915 words

Mastering AWS CloudTrail for API Auditing and Governance

Use AWS CloudTrail to track API calls

1,184 words

Mastering AWS CloudTrail for API Tracking and Auditing

Use AWS CloudTrail to track API calls

860 words

Automating Data Processing with AWS Lambda: A Comprehensive Study Guide

Use AWS Lambda to automate data processing

875 words

Mastering Data Catalogs: Discovering and Consuming Data at Source

Use data catalogs to consume data from the data's source

942 words

Mastering SageMaker Unified Studio: Domains, Domain Units, and Projects

Use domain, domain units, and projects for SageMaker Unified Studio

925 words

AWS Key Management Service (KMS) & Data Encryption Guide

Use encryption keys to encrypt or decrypt data (for example, AWS Key Management Service [AWS KMS])

985 words

AWS Infrastructure as Code (IaC) for Data Engineering

Use infrastructure as code (IaC) for repeatable resource deployment (for example, AWS CloudFormation and AWS Cloud Development Kit [AWS CDK])

890 words

Mastering Infrastructure as Code (IaC) for Data Engineering

Use Infrastructure as Code (IaC) to deploy data engineering solutions

920 words

Monitoring and Alerting in AWS Data Pipelines

Use notifications during monitoring to send alerts

920 words

AWS Notification Services for Data Pipelines: Amazon SNS and SQS

Use notification services to send alerts (for example, Amazon Simple Notification Service [Amazon SNS], Amazon Simple Queue Service [Amazon SQS])

1,150 words

AWS Orchestration Services for Data ETL Pipelines

Use orchestration services to build workflows for data ETL pipelines (for example, Lambda, EventBridge, Amazon Managed Workflows for Apache Airflow [Amazon MWAA], AWS Step Functions, AWS Glue workflows

1,150 words

Mastering Programming Languages & Frameworks for AWS Data Engineering

Use programming languages and frameworks for data engineering (for example, Python, SQL, Scala, R, Java, Bash, PowerShell)

925 words

Software Engineering Best Practices for Data Engineering

Use software engineering best practices for data engineering (for example, version control, testing, logging, monitoring)

1,080 words

SQL Querying and Data Transformation: Amazon Redshift & Athena

Use SQL in Amazon Redshift and Athena to query data or to create views

925 words

AWS SAM: Packaging and Deploying Serverless Data Pipelines

Use the AWS Serverless Application Model (AWS SAM) to package and deploy serverless data pipelines (for example, Lambda functions, Step Functions, DynamoDB tables)

895 words

AWS Data Processing: EMR, Redshift, and Glue

Use the features of AWS services to process data (for example, Amazon EMR, Amazon Redshift, AWS Glue)

948 words

AWS Certified Data Engineer: Verifying and Cleaning Data

Verify and clean data (for example, Lambda, Athena, QuickSight, Jupyter Notebooks, Amazon SageMaker Data Wrangler)

920 words

Mastering AWS Config: Tracking Account Configuration Changes

Viewing configuration changes that have occurred in an account (for example, AWS Config)

945 words

Mastering Data Visualization: Amazon QuickSight and AWS Glue DataBrew

Visualize data by using AWS services and tools (for example, DataBrew, Amazon QuickSight)

880 words

Ready to practice? Jump straight in — no sign-up needed.

Take practice tests, review flashcards, and read study notes right now.

Take a Practice Test

AWS Certified Data Engineer - Associate (DEA-C01) Practice Questions

Try 15 sample questions from a bank of 635. Answers and detailed explanations included.

Q1medium

An architect is deciding between using AWS Managed Workflows for Apache Airflow (MWAA) and AWS Step Functions for a data orchestration pipeline. During the analysis of error-handling capabilities, the architect evaluates the behavior of a Parallel state in Step Functions. If a Catch block is defined at the Parallel state level and an unhandled error occurs in one of the parallel branches, which of the following describes the resulting behavior?

A.

The entire Parallel state fails immediately, all other currently running branches are stopped, and the execution transitions to the state specified in the Catch block.

B.

The Parallel state allows the remaining branches to run to completion, after which the execution transitions to the state specified in the Catch block.

C.

The Catch block at the Parallel state level is ignored because Step Functions requires error handling to be defined within individual Task states inside each branch.

D.

The state machine transitions to the Catch state for the failed branch only, while the other branches continue their normal execution path toward their respective 'Next' states.

Show answer & explanation

Correct Answer: A

In AWS Step Functions, when an error occurs in a branch of a Parallel state that is not handled within that specific branch, the entire Parallel state is considered failed.

  1. Atomic Failure: Step Functions treats the Parallel state as a unit. If one branch fails and the error is not caught locally, the service stops all other branches that are currently in progress to prevent unnecessary resource consumption.
  2. Catch Mechanism: If a Catch field is defined at the Parallel state level, the execution immediately transitions to the fallback state defined in the Catch configuration.
  3. Retry Calculation: If a Retry policy is present, it is evaluated first. For a policy with MaxAttempts: 2, the total number of attempts NNN is: N=1(extinitial)+2(extretries)=3N = 1 ( ext{initial}) + 2 ( ext{retries}) = 3N=1(extinitial)+2(extretries)=3 If all 3 attempts fail, the Catch logic is then triggered.

Note: This 'stop-work' behavior is a key differentiator when comparing Step Functions to MWAA (Airflow), where individual tasks in a DAG can often continue or be retried independently without stopping the entire parallel execution path.

Q2medium

When creating a custom Identity and Access Management (IAM) policy in AWS, which of the following accurately describes the role and requirements of the Version and Statement elements within the JSON structure?

A.

The Version element specifies the policy language version (e.g., 2012-10-17) to determine syntax support, while the mandatory Statement element must contain at least the Effect, Action, and Resource elements.

B.

The Version element is a user-defined timestamp used to track policy iterations for rollback purposes, while the Statement element is optional if a Principal is defined at the root level of the policy.

C.

The Version element defines the syntax version, but the Resource element within the Statement block can be omitted in identity-based policies as it defaults to all resources (∗*∗) automatically.

D.

The Statement element is the main container for permissions, but the Action element is only required when the Effect is set to Allow; for Deny statements, only the Resource must be specified.

Show answer & explanation

Correct Answer: A

In an AWS IAM JSON policy, the Version element (typically set to 2012-10-17) defines the version of the policy language and the features it supports; it is not a user-defined timestamp or a version number for the policy document itself. The Statement element is the primary and mandatory component of the policy, containing one or more individual statements. Each statement block must include:

  1. Effect: Specifies whether the statement results in an Allow or an Explicit Deny (Effect∈{Allow,Deny}Effect \in \{Allow, Deny\}Effect∈{Allow,Deny}).
  2. Action: Specifies the specific API operations (e.g., s3:GetObject) that are allowed or denied.
  3. Resource: Specifies the specific AWS resources (via ARNs) to which the actions apply.

The Sid (Statement ID) is an optional element used for identification. Distractors B, C, and D are incorrect because Version is not for rollbacks, Resource is mandatory in identity-based policies, and Action is required regardless of the Effect value.

Q3medium

A data engineer is preparing to load a large dataset from Amazon S3 into an Amazon Redshift cluster using the COPY command. The cluster is configured with 6 ra3.xlplus compute nodes, each containing 2 slices. To ensure maximum parallel ingestion performance and prevent resource skew, into how many equal-sized files should the engineer split the data in Amazon S3?

A.

1 large compressed file

B.

6 files

D.

24 files

Divide the data into 15 files to ensure small enough chunks for S3 throughput limits.

C

Show answer & explanation

Correct Answer: D

To maximize the performance of an Amazon Redshift COPY operation, the source data should be partitioned into a number of files that is a multiple of the total number of slices in the cluster.

  1. Calculate the total slices: Amazon Redshift utilizes a Massively Parallel Processing (MPP) architecture where slices are the fundamental units of parallel processing. For this cluster, the calculation is: Total Slices=Number of Nodes×Slices per Node\text{Total Slices} = \text{Number of Nodes} \times \text{Slices per Node}Total Slices=Number of Nodes×Slices per Node Total Slices=6×2=12 slices\text{Total Slices} = 6 \times 2 = 12 \text{ slices}Total Slices=6×2=12 slices

  2. Determine optimal file count: The COPY command can load data in parallel by assigning files to different slices. If the file count is a multiple of the slice count (e.g., $12, 24, 36$), the workload is distributed evenly.

  3. Evaluate options:

    • Option A (1 file): Forces the load to be a serial process on a single slice, while the other 11 slices remain idle.
    • Option B (6 files): Only uses 1 slice per node, leaving 6 of the 12 slices idle.
    • Option C (15 files): Since 15 is not a multiple of 12, some slices will process 2 files while others process 1, causing a bottleneck (skew).
    • Option D (24 files): This is a multiple of 12 ($24 \div 12 = 2$). Each of the 12 slices will process exactly 2 files, achieving perfectly balanced parallel execution.

Therefore, 24 files is the optimal choice for maximum ingestion performance.

Q4medium

A cloud architect is managing an AWS account with several Lambda functions. One specific function, ProcessOrders, occasionally experiences massive traffic spikes that consume the entire regional account-level concurrency pool, causing all other functions in the account to be throttled. Which configuration should the architect apply to ProcessOrders to ensure it has a dedicated capacity and cannot exhaust the pool available to other functions?

A.

Configure Reserved Concurrency for the ProcessOrders function.

B.

Enable Provisioned Concurrency for the ProcessOrders function's $LATEST version.

C.

Increase the Account-level Concurrency limit via a Service Quotas increase request.

D.

Implement an AWS Auto Scaling policy for the Lambda function's concurrency.

Show answer & explanation

Correct Answer: A

To solve this, the architect should apply Reserved Concurrency to the ProcessOrders function.

  1. Isolation and Guarantee: Reserved concurrency allocates a specific portion of the account's total concurrency limit solely to that function. This ensures that the function always has capacity available (up to the reserved amount).
  2. Limiting (Capping): Crucially, Reserved Concurrency also acts as a ceiling. The function cannot scale beyond the reserved amount, which prevents it from consuming the remaining 'Unreserved Concurrency' pool used by other functions in the account.
  3. Calculation: If the regional limit is 1000 and you reserve 200 for ProcessOrders, the function is capped at 200, and the other functions share a remaining pool of 800 ($1000 - 200 = 800$).

Option B is incorrect because Provisioned Concurrency is designed to reduce cold-start latency by keeping environments warm; it does not restrict a function from consuming unreserved concurrency. Option C is incorrect because increasing the account limit doesn't prevent one function from hogging all the new capacity. Option D is incorrect because Lambda handles scaling automatically; standard Auto Scaling policies are not used to set concurrency limits on individual Lambda functions.

Q5medium

Which statement best explains the defining characteristics and typical formats of structured data within the context of data variety?

A.

It utilizes a fixed, well-defined schema applied before storage (schema-on-write), typically represented in tabular formats like SQL database tables or CSV files.

B.

It is characterized by a flexible schema embedded directly within the data items, such as in JSON or XML files, allowing for hierarchical and nested structures.

C.

It refers to any data stored in a cloud-based object store, where the storage service automatically enforces a rigid relational structure regardless of the original file format.

D.

It consists primarily of high-volume media files, such as video and audio, that have been enriched with descriptive metadata for indexing and searchability.

Show answer & explanation

Correct Answer: A

Structured data is defined by its high degree of organization and its adherence to a rigid, pre-defined schema, often referred to as schema-on-write.

  1. Schema Requirement: In structured data, the format and data types must be defined before the data is loaded into the system (e.g., a relational database).
  2. Format: Typical examples include SQL tables, CSV files, and delimited datasets. These are easily searchable and readable by distributed processing frameworks like Apache Spark due to their consistent row-and-column (tabular) format.
  3. Comparison:
    • Option B describes semi-structured data (JSON/XML), which has self-describing tags but no rigid external schema.
    • Option C is incorrect because the storage location (like Amazon S3) does not determine the data's internal structure; S3 can store any data type.
    • Option D describes unstructured data (media files), which lacks a native internal structure but may use metadata for discovery.

Therefore, Option A is the correct explanation.

Q6medium

A CloudWatch alarm is configured to monitor a system metric with a 1-minute period. The alarm threshold is set to >50> 50>50, with the 'Datapoints to Alarm' (MMM) set to 2 and 'Evaluation Periods' (NNN) set to 3. Given the metric values recorded in the timeline below, at which minute mark will the alarm transition to the ALARM state and trigger an Amazon SNS notification?

A.

Minute 2

B.

Minute 3

C.

Minute 4

D.

Minute 5

Show answer & explanation

Correct Answer: C

To determine when a CloudWatch alarm triggers an Amazon SNS notification, we must identify the first instance where MMM out of NNN data points exceed the threshold within a sliding window.

  1. Metric Analysis: The alarm triggers when at least 2 out of the most recent 3 data points are greater than 50 (M=2,N=3M=2, N=3M=2,N=3).
  2. Minute 1: Value is 45 (<50< 50<50). 0/1 breach. State: OK.
  3. Minute 2: Value is 55 (>50> 50>50). Window [45, 55] contains 1/2 breaches. State: OK.
  4. Minute 3: Value is 48 (<50< 50<50). Window [45, 55, 48] contains 1/3 breaches. State: OK.
  5. Minute 4: Value is 62 (>50> 50>50). The sliding window for the last 3 periods [Minutes 2, 3, 4] contains values [55, 48, 62]. Since 2 out of these 3 data points now exceed the threshold, the alarm condition is satisfied.

Amazon SNS notifications are sent specifically upon a state transition. The transition from OK to ALARM occurs at the end of Minute 4, triggering the notification.

Q7medium

A data engineer is managing a data lake on Amazon S3 where source systems frequently add new fields or change data types in their JSON exports. Which strategy should the engineer use to ensure the AWS Glue Data Catalog reflects these changes while handling inconsistent data types (such as a column containing both integers and strings) during ETL processing?

A.

Configure AWS Glue Crawlers to update the table definition with new schema versions and use the resolveChoice method within Glue ETL DynamicFrames to handle mixed data types.

B.

Manually update the DDL in Amazon Athena whenever a schema change is detected to ensure queries do not fail, and use S3 Lifecycle policies to move non-conforming data to a cold storage tier.

C.

Implement strict IAM resource-level policies to prevent file uploads to S3 if the file metadata does not match the predefined schema template stored in the Glue Data Catalog.

D.

Set the AWS Glue Crawler configuration to 'Delete all columns' that change from a numeric type to a string type to maintain backward compatibility for existing consumers.

Show answer & explanation

Correct Answer: A

The correct approach involves two primary AWS Glue mechanisms. First, AWS Glue Crawlers can be configured to automatically detect schema changes (like new columns) and update the Glue Data Catalog with new schema versions. This ensures the catalog stays in sync with the physical data. Second, when data types are inconsistent within a single column, AWS Glue ETL uses DynamicFrames which assign a Choice type to the column. The resolveChoice method then allows the engineer to programmatically handle these inconsistencies—for example, by casting values to a common type (e.g., casting all values in the column to string) or projecting them into separate columns. Option B is incorrect because manual DDL updates are not scalable or recommended for automated data lakes. Option C is incorrect because IAM is a security service and is not used for schema validation or enforcement. Option D is incorrect because deleting columns with changed types would result in significant data loss and does not solve the underlying schema evolution challenge.

Q8medium

A data engineering team is deploying an AWS Lambda function to process streaming data that requires sub-second latency for every request. During testing, they observe that the first invocation after a period of inactivity takes $3.5 seconds, while subsequent invocations take only 150 ms. Which configuration should the team apply to ensure the function consistently meets the performance requirement?

A.

Increase the memory allocation to $10,240 MB to maximize the CPU burst capability during the initialization phase.

B.

Configure Provisioned Concurrency for the specific function version to maintain pre-warmed execution environments.

C.

Set the Reserved Concurrency limit to a value higher than the expected peak request rate to prevent environment recycling.

D.

Implement an Amazon EventBridge scheduled rule to invoke the function every 5 minutes to keep a single instance warm.

Show answer & explanation

Correct Answer: B

The scenario describes a cold start issue, where the latency spike ($3.5 s vs. 150 ms) occurs because AWS Lambda must initialize a new execution environment. 1. Provisioned Concurrency is the correct solution because it initializes a requested number of execution environments in advance, allowing them to respond immediately to invocations without the 'Init' phase delay. 2. Reserved Concurrency (Option C) restricts or guarantees the maximum concurrency of a function but does not pre-warm instances. 3. Increasing memory (Option A) can make the initialization code run faster by providing more CPU, but it does not eliminate the initialization step itself. 4. EventBridge pings (Option D) are less reliable for scaling and only keep a single instance warm, whereas Provisioned Concurrency scales to the defined capacity. The correct configuration is Provisioned Concurrency.

Q9medium

An organization is implementing automated credential rotation for a database using AWS Secrets Manager. Which of the following best explains the security configuration required for the rotation Lambda function to successfully update the secret?

A.

The Lambda function must have a resource-based policy granting lambda:InvokeFunction to secretsmanager.amazonaws.com, and its execution role must include permissions for secretsmanager:GetSecretValue and secretsmanager:PutSecretValue.

B.

The Lambda function's execution role must be granted iam:PassRole for the Secrets Manager service role, and the secret must be configured with a resource-based policy allowing the Lambda function's ARN.

C.

The Lambda function requires its AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY to be stored in its environment variables to authenticate with the Secrets Manager API during the rotation lifecycle.

D.

The Lambda execution role only needs secretsmanager:GetSecretValue permissions, as the Secrets Manager service principal automatically handles the PutSecretValue action once the Lambda execution completes.

Show answer & explanation

Correct Answer: A

To perform automated rotation, two distinct security layers must be configured:

  1. Resource-based Policy: AWS Secrets Manager (the service principal secretsmanager.amazonaws.com) must have permission to trigger the Lambda function. This is achieved by adding a policy to the Lambda function itself that allows lambda:InvokeFunction for the service principal.
  2. IAM Execution Role: The Lambda function acts as the 'worker'. It must have permissions to interact with the secret versions. Specifically, it needs secretsmanager:GetSecretValue to read the current secret, secretsmanager:PutSecretValue to create the new version, secretsmanager:DescribeSecret to identify the secret metadata, and secretsmanager:UpdateSecretVersionStage to move the AWSCURRENT label.

Option B is incorrect because iam:PassRole is not used in this context. Option C is a security anti-pattern; Lambda should use its execution role. Option D is incorrect because the Lambda function code is responsible for calling PutSecretValue to store the newly generated credentials.

Q10medium

A data engineering team has populated a data lake with technical tables such as txn_log_v2_curr and cust_attr_fin. Business analysts are struggling to find relevant data because they search using terms like "Quarterly Revenue" or "Customer Loyalty Tier," which do not appear in the technical schema. Which action should be taken within Amazon SageMaker Catalog to bridge this gap and improve discoverability?

A.

Use metadata enrichment to automatically generate business descriptions via generative AI and map technical attributes to business glossary terms.

B.

Configure an AWS Glue crawler to scan the underlying S3 buckets every hour to ensure the technical schema and partitions are up to date.

C.

Apply S3 object tags to the raw parquet files to label the datasets by business unit and project code for easier bucket-level filtering.

D.

Perform a physical schema migration in the source database to rename columns to match the business glossary before re-importing them into the catalog.

Show answer & explanation

Correct Answer: A

To improve discoverability for business users, the technical metadata must be enriched with business context. Amazon SageMaker Catalog provides metadata enrichment features, including the use of generative AI to automatically generate business-friendly descriptions and attribute definitions. By mapping cryptic technical names (like cust_attr_fin) to business glossary terms (like "Customer Loyalty Tier"), the catalog allows users to search using the terminology they understand. Option B is incorrect because AWS Glue crawlers focus on technical metadata (schemas, partitions) rather than business context. Option C is incorrect because S3 tags provide file-level labels which are not indexed for attribute-level business searches in a catalog. Option D is incorrect as modifying physical schemas is often impractical, impacts downstream applications, and bypasses the specific purpose of a data catalog.

Q11medium

An administrator of an Amazon Redshift producer cluster needs to share specific tables with a consumer cluster located in a different AWS account. Which sequence of administrative actions must be performed on the producer cluster to correctly authorize this access?

A.

Create a datashare object using CREATE DATASHARE, add the required schemas and tables to it using ALTER DATASHARE, and grant usage on the datashare to the consumer's namespace using GRANT USAGE ON DATASHARE.

B.

Attach an IAM resource-based policy to the producer cluster that allows the redshift:GetDataAccess action for the consumer cluster's Amazon Resource Name (ARN) and ensure both clusters are in the same VPC.

C.

Execute a standard GRANT SELECT command on the individual tables directly to the consumer cluster's AWS account ID and set the database to 'Public' mode to allow cross-account discovery.

D.

Establish a VPC peering connection between the producer and consumer clusters, then share the producer's master database credentials with the consumer administrator to allow direct connection via JDBC/ODBC.

Show answer & explanation

Correct Answer: A

To share data in Amazon Redshift, the producer administrator must follow a specific SQL-based workflow. First, a datashare is created using the CREATE DATASHARE command, which acts as a container for the shared objects. Second, specific schemas and metadata objects (tables, views, functions) are added to the datashare using the ALTER DATASHARE ... ADD command. Finally, access is granted to the consumer by referencing the consumer cluster's unique namespace (a GUID) or AWS account ID using the GRANT USAGE ON DATASHARE command. This mechanism ensures that data remains read-only for consumers and does not require sharing security credentials or complex IAM resource policies for object-level access. Option A correctly outlines this sequence. Options B, C, and D describe incorrect methods that either do not exist in Redshift or violate security best practices.

Q12medium

A data engineer is monitoring an AWS Lambda function that processes records from an Amazon Kinesis Data Stream. The engineer notices that the GetRecords.IteratorAgeMilliseconds metric for one of the shards is increasing, indicating that the Lambda function is falling behind the data stream. The workload requires that all records with the same partition key must be processed in the order they were received. Which configuration change to the event source mapping will most effectively increase processing throughput for the shard while maintaining this ordering requirement?

A.

Increase the ParallelizationFactor to a value between 2 and 10.

B.

Increase the Lambda function's Reserved Concurrency to a value greater than 1.

C.

Change the event source mapping invocation type to asynchronous.

D.

Decrease the BatchSize to 1 and increase MaximumRetryAttempts to 100.

Show answer & explanation

Correct Answer: A

To increase throughput for a single Kinesis shard without losing record ordering by partition key, the ParallelizationFactor should be adjusted.

  1. ParallelizationFactor: This setting (ranging from 1 to 10) allows Lambda to process more than one batch of records from a single shard concurrently. It does this by creating sub-streams based on the partition key. Lambda ensures that all records with the same partition key remain in the same sub-stream and are processed sequentially, preserving order.
  2. Reserved Concurrency (Distractor): Increasing reserved concurrency limits the maximum number of concurrent executions but does not change how the Kinesis poller interacts with the shard. Lambda is normally restricted to one concurrent execution per shard unless ParallelizationFactor is used.
  3. Asynchronous Invocation (Distractor): Kinesis-to-Lambda event source mappings always use synchronous invocation. The poller waits for the function to return a success or failure before moving to the next batch for that specific sub-stream.
  4. BatchSize (Distractor): Decreasing the BatchSize to 1 would typically decrease throughput, as it increases the overhead of function invocations per record processed.

Therefore, increasing the ParallelizationFactor is the correct way to handle high IteratorAge while maintaining strict ordering for partition keys.

Q13medium

A data engineer manages an AWS Glue crawler that populates a Data Catalog table from transaction logs stored in Amazon S3. The data is organized in a Hive-style partition structure: s3://my-bucket/logs/year=YYYY/month=MM/day=DD/. Due to an upstream change, the log files now include two additional columns: discount_code and loyalty_status.

Which configuration should the engineer apply to the crawler to ensure the Data Catalog table reflects these new columns while continuing to discover new partitions?

A.

Set the crawler behavior to 'Crawl new folders only' and set the schema change policy to 'Ignore the change.'

B.

Set the crawler behavior to 'Crawl all folders' and set the schema change policy to 'Update the table definition in the data catalog.'

C.

Set the crawler behavior to 'Crawl new folders only' and run the MSCK REPAIR TABLE command manually after each crawl.

D.

Create a custom classifier with the new column names and configure the crawler to 'Crawl new folders only' to optimize performance.

Show answer & explanation

Correct Answer: B

To handle schema evolution—such as adding new columns—the AWS Glue crawler must be configured with a specific policy.

  1. Schema Change Policy: By default, if a crawler detects a schema change and the policy is set to 'Ignore the change', the Data Catalog metadata remains static. To reflect the new $n + 2$ columns in the table definition, the policy must be set to 'Update the table definition in the data catalog.'
  2. Crawl Behavior: While an incremental crawl ('Crawl new folders only') is efficient for finding new partitions, it is primarily optimized for identifying new data folders. According to AWS Glue best practices and the provided key facts, a full crawl ('Crawl all folders') ensures that the crawler evaluates the data samples necessary to perform a schema merge and update the existing table definition.
  3. Distractors: MSCK REPAIR TABLE (Option C) is an Athena/Hive command used to update partition metadata in the metastore, but it does not perform schema inference or update column definitions. Custom classifiers (Option D) are used to help the crawler recognize file formats, but they do not manage the update logic for existing tables in the Data Catalog.
Q14medium

A company stores 500 GB of application logs in Amazon S3 in raw JSON format. Most analytical queries target specific time ranges and geographic regions, typically using a WHERE clause such as WHERE event_date = '2023-10-01' AND region = 'us-east-1'. As the dataset grows, query performance is degrading and costs are increasing. Which of the following data organization strategies will provide the most significant improvement in query performance and cost reduction in Amazon Athena?

A.

Convert the logs to Apache Parquet format using Snappy compression, partition the data by event_date and region, and ensure individual file sizes are approximately 128 MB.

B.

Compress the existing JSON logs with GZIP to reduce storage size and use AWS Glue Crawlers to partition the data by event_id to improve lookup speeds for specific events.

C.

Maintain the JSON format to avoid conversion overhead, but use Apache Hive bucketing on the event_date and region columns to organize the data into $1,000 small files per bucket.

D.

Convert the logs to CSV format with BZIP2 compression and partition the data by user_id to ensure that data for the same user is always stored in the same S3 prefix.

Show answer & explanation

Correct Answer: A

To optimize Amazon Athena, three main factors must be addressed: data format, partitioning, and file sizing.

  1. Columnar Format: Converting data to Apache Parquet or ORC allows Athena to read only the columns required by the query (e.g., event_date and region) rather than reading the entire row, which is required for JSON or CSV. This drastically reduces the amount of data scanned.
  2. Partitioning: Partitioning by columns frequently used in WHERE clauses (like event_date and region) enables 'partition pruning.' Athena will only scan the S3 prefixes corresponding to those specific values, ignoring the rest of the dataset.
  3. File Sizing: Aiming for file sizes of approximately 128 MB is ideal. Having too many small files (a common issue with high-cardinality partitioning or over-bucketing) increases the overhead for the AWS Glue Data Catalog and S3 list operations, slowing down queries.
  4. Compression: Snappy compression with Parquet offers an excellent balance between compression ratio and the parallel processing capabilities (splittability) of the Athena engine.

Option B is incorrect because row-based formats (JSON) still require reading the whole line, and partitioning by a high-cardinality column like event_id creates too many small files. Option C is incorrect because bucketing low-cardinality data is less effective than partitioning, and JSON remains inefficient. Option D is incorrect because partitioning by user_id (high cardinality) does not help with the primary query filters for date and region.

Therefore, Option A is the most effective strategy.

Q15medium

A data engineering team manages a large-scale data lake on Amazon S3. The business requirements necessitate frequent schema updates, including renaming existing columns and dropping fields that are no longer needed. To minimize operational overhead and costs, the team wants to avoid rewriting existing data files whenever these changes occur. Which strategy provides the most effective way to manage these schema evolutions while maintaining compatibility with downstream analytics services?

A.

Utilize an open-source table format such as Apache Iceberg, which implements schema evolution as a metadata-only operation.

B.

Configure AWS Glue crawlers to automatically update the Glue Data Catalog and trigger a Glue ETL job to rewrite the underlying Parquet files.

C.

Implement a strict schema-on-write validation layer using AWS Lambda to reject any ingestion records that do not conform to the initial schema.

D.

Rely on Amazon Athena's native ability to automatically resolve column renames by matching data types and field order in standard Parquet files.

Show answer & explanation

Correct Answer: A

The most effective strategy is to use a modern table format like Apache Iceberg. Iceberg tracks the relationship between the table schema and the underlying data files using unique IDs for each column rather than relying solely on column names. This architecture allows schema evolution—including adding, dropping, or renaming columns—to be performed as a metadata-only operation. Because the mapping is handled via metadata, the underlying data files do not need to be rewritten, which significantly reduces compute costs and operational complexity compared to standard Parquet tables.

  • Option B is inefficient because rewriting data files for every schema change incurs high I/O and compute costs.
  • Option C prevents schema evolution rather than managing it, which fails the business requirement for frequent updates.
  • Option D is incorrect because Amazon Athena and the AWS Glue Data Catalog typically map columns in standard Parquet files by name; renaming a column without changing the underlying files would result in data being unreadable or returning null values.

Therefore, Option A is the correct choice.

These are 15 of 635 questions available. Take a practice test →

AWS Certified Data Engineer - Associate (DEA-C01) Flashcards

680 flashcards for spaced-repetition study. Showing 30 sample cards below.

Address changes to the characteristics of data(5 cards shown)

Question

Schema Evolution

Answer

The ability of a data processing system to adapt to changes in the data structure (schema) over time without failing.

Key Concepts

  • Backward Compatibility: New code can read old data.
  • Forward Compatibility: Old code can read new data.
  • Full Compatibility: Both backward and forward compatible.

[!NOTE] In AWS, this is primarily managed via the AWS Glue Data Catalog which maintains version history for table definitions.

Question

Schema Drift

Answer

The phenomenon where the metadata of source systems changes unexpectedly (e.g., a new field is added to a JSON payload or a column type changes), potentially breaking downstream ETL pipelines.

Strategies to Address Drift

  • Schema-on-Read: Use tools like Amazon Athena to define the schema at query time.
  • AWS Glue Crawlers: Configure crawlers to automatically update the Data Catalog when changes are detected.
  • Data Quality Rules: Use AWS Glue Data Quality (DQDL) to detect and alert on unexpected characteristic changes.

Question

AWS Glue Schema Registry

Answer

A feature that allows you to centralize and control the evolution of schemas for streaming data.

Functions

  • Integrates with Amazon Kinesis Data Streams and Amazon MSK.
  • Validates data produced by applications against a registered schema.
  • Prevents "poison pill" records (data that doesn't match the schema) from entering the pipeline.
Loading Diagram...
Figure 1 — Mermaid diagram

Question

Partition Projection

Answer

A mechanism in Amazon Athena used to address changes in data volume and high-cardinality partitioning by calculating partition values from configuration rather than metadata lookups.

Benefits

  • Reduces the overhead of managing thousands of partitions in the Glue Data Catalog.
  • Highly effective for datasets where data characteristics include highly predictable paths (e.g., s3://bucket/year/month/day/).

[!TIP] Use this when you have millions of partitions or frequently changing time-based data characteristics to avoid MSCK REPAIR TABLE timeouts.

Question

AWS Schema Conversion Tool (AWS SCT)

Answer

A standalone tool used to convert database schemas when moving between different database engines (heterogeneous migration).

Role in Data Characteristics

  • It addresses changes in data types and structural paradigms (e.g., converting an OLTP schema to an OLAP schema like Amazon Redshift).
  • It provides a Migration Assessment Report that identifies items that cannot be converted automatically and require manual intervention.
SourceTarget
Oracle/SQL ServerAmazon Redshift
CassandraAmazon DynamoDB
MongoDBAmazon DocumentDB

Amazon CloudWatch Logs for Application Data(10 cards shown)

Question

CloudWatch Log Group

Answer

A Log Group is a collection of log streams that share the same retention, monitoring, and access control settings.

FeatureDescription
RetentionHow long logs are kept (1 day to 10 years or Infinite).
Access ControlManaged via IAM policies at the group level.
UsageTypically represents a single application or service.

[!NOTE] You define a log group to aggregate logs from multiple instances of the same application component.

Question

Amazon CloudWatch Logs

Answer

A managed service used to centralize, store, and monitor log files from AWS resources and applications. It allows for real-time monitoring of systems and applications using your existing log data.

Key Integrations in Data Engineering

ServiceLog Content
AWS GlueETL job execution status, runtime metrics, and errors.
AWS LambdaFunction execution logs and custom logger output.
Amazon EMRSpark, Hive, and other big data workload performance logs.
Amazon RedshiftConnection, user, and activity logs (must be enabled).

[!NOTE] CloudWatch Logs helps align data engineering practices with regulations like GDPR or HIPAA by providing a central audit trail.

Question

Log Group

Answer

The primary administrative unit in CloudWatch Logs. A Log Group is a collection of log streams that share the same retention, monitoring, and access control settings.

Loading Diagram...
Figure 1 — Mermaid diagram

[!TIP] Use Log Groups to organize logs by application or environment (e.g., /prod/ecommerce/web-server).

Question

CloudWatch Log Stream

Answer

A Log Stream is a sequence of log events that share the same source, such as a specific instance of an application or a specific container.

Loading Diagram...
Figure 1 — Mermaid diagram

[!TIP] In Lambda, each execution environment (container) creates its own unique Log Stream within the function's Log Group.

Question

CloudWatch Logs Insights

Answer

A fully managed, pay-as-you-go analytics service used to interactively search and analyze log data using a specialized query language.

Common Commands:

  • filter: Search for specific terms or patterns.
  • stats: Calculate aggregations (e.g., count, sum, avg).
  • sort: Order results by timestamp or field.

Example Query:

sql
fields @timestamp, @message | filter @message like /Error/ | stats count(*) by bin(1h)

Question

CloudWatch Logs Insights

Answer

A fully managed, interactive log analysis service that allows you to search and analyze your log data in CloudWatch Logs using a purpose-built query language.

Example Query for Data Pipelines:

sql
fields @timestamp, @message | filter @message like /ERROR/ or @message like /FAIL/ | sort @timestamp desc | limit 20

[!NOTE] It is a pay-per-query service, making it a cost-effective alternative to maintaining a dedicated OpenSearch cluster for infrequent log analysis.

Question

Metric Filter

Answer

A feature that allows you to search and extract specific patterns or terms from log events and transform them into numerical CloudWatch Metrics.

Workflow:

  1. Define Pattern: e.g., [ip, user, timestamp, request, status_code=500, size]
  2. Assign Metric: Create a metric named InternalServerErrorCount.
  3. Set Alarm: Trigger an SNS notification if the count exceeds 5 in a 1-minute period.

[!TIP] Use Metric Filters to monitor the health of your data pipelines without having to write custom monitoring code.

Question

put_log_events (Boto3 / SDK)

Answer

The primary API action used to programmatically upload batches of log events to a specific log stream.

Key Requirements:

  • logGroupName: Destination group.
  • logStreamName: Destination stream.
  • logEvents: Array of objects containing timestamp and message.
  • sequenceToken: Required for subsequent uploads to the same stream to ensure ordering.

[!WARNING] If you provide an invalid sequenceToken, the API returns an InvalidSequenceTokenException containing the correct next token.

Question

CloudWatch Metric Filters

Answer

Metric filters define patterns to search for in log data as it is sent to CloudWatch Logs, turning log data into numerical CloudWatch Metrics.

Loading Diagram...
Figure 1 — Mermaid diagram

Use Case: Create a filter for the term "404" in web logs to create a custom metric for NotFoundErrors, then set an alarm if the count exceeds 10 per minute.

Question

Redshift Audit Logging Configuration

Answer

The process of capturing and exporting logs related to cluster security and usage. Unlike basic metrics, audit logging in Amazon Redshift is not enabled by default.

Implementation Steps

  1. Enable Export: You must explicitly enable audit logging in the Redshift console or via API.
  2. Choose Destination: Specify a destination: Amazon CloudWatch Logs or an Amazon S3 prefix.
  3. Define Log Path: For CloudWatch, the group follows a standard path: /aws/redshift/cluster/<cluster_name>/<log_type>

[!WARNING] For connection logs specifically, the path will be /aws/redshift/cluster/<cluster_name>/connectionlog. Ensure IAM permissions are correctly set for the cluster to write to CloudWatch.

Amazon EventBridge & Event Management(5 cards shown)

Question

Amazon EventBridge

Answer

A serverless event bus service that helps build event-driven architectures by routing data from AWS services, custom applications, and SaaS providers to various targets.

[!NOTE] Formerly known as Amazon CloudWatch Events, it uses the same API but offers expanded features like schema registries and third-party SaaS integrations.

Question

Event Bus

Answer

The primary resource in Amazon EventBridge that acts as a router. It receives events and delivers them to zero or more destinations (targets) based on defined rules.

Loading Diagram...
Figure 1 — Mermaid diagram

[!TIP] Think of it as a central hub or post office that sorts incoming mail (events) and redirects it to the correct recipients.

Question

EventBridge Rules

Answer

Logic applied to an Event Bus to match incoming events and route them to specific targets. There are two primary types:

Rule TypeDescriptionExample
Event-drivenTriggered by a state change in an AWS resource or custom app.An S3 object creation starts a Glue job.
Schedule-basedTriggered at specific times or intervals (Cron or Rate expressions).Running a cleanup script every Friday at 8 PM.

[!NOTE] A single event can match multiple rules, allowing it to be sent to multiple downstream services simultaneously.

Question

EventBridge Targets

Answer

The downstream resources that EventBridge invokes when an event matches a rule. A single rule can have up to 5 targets.

Common Targets:

  • Compute: AWS Lambda, AWS Batch
  • Orchestration: AWS Step Functions, Amazon MWAA (Airflow)
  • Storage/Streaming: Amazon S3, Kinesis Data Streams, Data Firehose
  • Databases: Amazon Redshift (via Data API)
  • Messaging: Amazon SNS, Amazon SQS

Question

Event Transformation (Input Transformer)

Answer

A feature that allows you to modify the JSON payload of an event before it reaches its target.

Why use it?

  • To extract specific fields from a large event JSON.
  • To reformat data to match the input schema of a target (e.g., a specific Lambda parameter).
  • To add static text or variables to the message.

[!TIP] This is highly useful for creating human-readable notifications in SNS or Slack from raw system events.

Amazon Redshift Data Sharing & Permissions(5 cards shown)

Question

Amazon Redshift Data Sharing

Answer

A feature that allows sharing live, read-only data across Redshift clusters, AWS accounts, or Regions without the need to move or copy the data.

Key Benefits

  • Zero-ETL: Eliminates the need for complex data pipelines to replicate data.
  • Workload Isolation: Consumers can query data without impacting the performance of the producer's compute resources.
  • Data Currency: Consumers see live updates as soon as they are committed in the source cluster.

[!TIP] Use this to move from a siloed architecture to a hub-and-spoke or data mesh model.

Question

Outbound vs. Inbound Shares

Answer

The two primary components involved in the Amazon Redshift data sharing workflow.

ComponentDescription
Outbound ShareCreated by the Producer cluster to define which schemas, tables, or views are shared.
Inbound ShareReceived by the Consumer cluster, which then creates a local database reference to query the shared objects.
Loading Diagram...
Figure 1 — Mermaid diagram

Question

Role-Based Access Control (RBAC)

Answer

A security mechanism in Redshift that simplifies permission management by assigning privileges to roles instead of individual users.

Core Features

  • Inheritance: Supports role nesting (assigning a role to another role).
  • Efficiency: Changing a role's permissions automatically updates all assigned users.
  • Commands: Uses GRANT to provide access and REVOKE to remove it.

[!NOTE] RBAC helps implement the Principle of Least Privilege by ensuring users only have the specific permissions required for their role.

Question

Row-Level Security (RLS)

Answer

A granular access control feature that restricts the specific rows a user or role can view within a table based on predefined policies.

Implementation

  • Policy Logic: Defined using SQL predicates (e.g., WHERE region = 'US').
  • Filtering: When a user queries the table, Redshift silently applies the policy to filter results.

[!WARNING] Avoid complex subqueries or excessive table joins within RLS policies, as they can significantly degrade query performance.

Question

Centralized Governance via AWS Lake Formation

Answer

The integration of Redshift data sharing with Lake Formation to manage permissions centrally across the AWS environment.

How it Works

  1. Producer clusters register data shares with Lake Formation.
  2. Administrators use LF-Tags (Tag-Based Access Control) to define permissions.
  3. Consumers access shared data through the Lake Formation catalog, which handles cross-account authorization.
Loading Diagram...
Figure 1 — Mermaid diagram

Amazon S3 and Redshift Data Movement(5 cards shown)

Question

COPY Command

Answer

The SQL command used to load data into Amazon Redshift tables from external sources, most commonly Amazon S3.

Key Features:

  • Parallelism: Loads data in parallel using all compute nodes in the cluster.
  • Efficiency: Significantly faster than performing multiple INSERT statements.
  • Flexibility: Supports various formats including CSV, JSON, Parquet, and Avro.

[!TIP] Use a Manifest File (a JSON file listing specific S3 objects) with the COPY command to ensure the correct files are loaded and to handle cross-account or cross-region access.

Question

UNLOAD Command

Answer

The SQL command used to export the results of a query from Amazon Redshift to one or more files in an Amazon S3 bucket.

Characteristics:

FeatureDetails
ParallelismEnabled by default; writes data in parallel to multiple files based on the number of slices in the cluster.
CompressionSupports GZIP, BZIP2, and ZSTD to reduce storage costs in S3.
FormatCan export as delimited text (CSV), JSON, or Parquet.

[!WARNING] By default, UNLOAD creates multiple files. If you need a single file, you must use the PARALLEL OFF option, though this is slower and not recommended for large datasets.

Question

Amazon Redshift Spectrum

Answer

A feature that enables Redshift to execute SQL queries directly against data stored in Amazon S3 without the need to load the data into Redshift local storage.

Loading Diagram...
Figure 1 — Mermaid diagram

Use Case: Ideal for querying "cold" or infrequent data, or for performing ad-hoc analysis on massive datasets in the data lake while joining them with "hot" data stored locally in Redshift.

Question

Hot vs. Cold Data Strategy

Answer

An architectural pattern in a Lakehouse environment used to optimize performance and cost by tiering data storage.

  • Hot Data: Frequently accessed, structured data stored in Amazon Redshift for high-performance BI and reporting.
  • Cold Data: Infrequently accessed or raw data stored in Amazon S3 for cost-efficiency.

[!NOTE] The UNLOAD command is frequently used to move "aging" data from Redshift to S3 to free up expensive local SSD storage while keeping it accessible via Redshift Spectrum or Athena.

Question

IAM Role for COPY/UNLOAD

Answer

The security mechanism required for an Amazon Redshift cluster to access Amazon S3 buckets for loading or unloading data.

Implementation:

  1. Create an IAM Role with policies like AmazonS3ReadOnlyAccess (for COPY) or AmazonS3FullAccess (for UNLOAD).
  2. Attach the role to the Redshift Cluster.
  3. Reference the Role's ARN in the SQL command:

COPY table_name FROM 's3://bucket/path' IAM_ROLE 'arn:aws:iam::123456789012:role/MyRedshiftRole';

Showing 30 of 680 flashcards. Study all flashcards →

Related Study Resources

Explore other free certification prep and study materials on BrainyBee.

∫

Calculus 1 Mastery

AWS Certified Cloud Practitioner (CLF-C02)

854 questions · 163 notes

AWS Certified Solutions Architect - Associate (SAA-C03)

833 questions · 204 notes

AWS Certified Machine Learning Engineer - Associate (MLA-C01)

724 questions · 160 notes

AWS Certified Advanced Networking - Specialty (ANS-C01)

1156 questions · 231 notes

Microsoft Azure AI Fundamentals (AI-900)

255 questions · 54 notes

Microsoft Azure Fundamentals (AZ-900)

680 questions · 96 notes

AWS Certified Security - Specialty (SCS-C03)

980 questions · 130 notes

Ready to ace AWS Certified Data Engineer - Associate (DEA-C01)?

Access all 635 practice questions, 9 timed mock exams, study notes, and flashcards — no sign-up required.

Start Studying — Free
Explore All HivesBlogHome

© 2026 BrainyBee. Free AI-powered exam prep.

Loading Diagram...
Flowchart, top to bottom. Source Data (S3/JDBC) connects to AWS Glue Crawler. B connects to Update Data Catalog (Detects Change). C connects to Amazon Athena. C connects to Amazon Redshift Spectrum. D connects to Query Updated Schema. E connects to F.
Loading Diagram...
Flowchart, top to bottom. Log Sources: EC2, Lambda, VPC, CloudTrail connects to Storage Type?. B connects to CloudWatch Logs ("Real-time / Operational"). B connects to Amazon S3 ("Long-term / Cold Storage"). C connects to CloudWatch Logs Insights. D connects to Amazon Athena (SQL). C connects to Kinesis Data Firehose. G connects to Amazon OpenSearch Service. H connects to Dashboards / Visuals.
Loading Diagram...
Flowchart, left to right. Sources: EC2, Lambda, VPC connects to Ingestion Layer. B connects to CloudWatch Logs. B connects to Amazon S3. C connects to CloudWatch Logs Insights. D connects to Amazon Athena. D connects to Amazon EMR/Glue. F connects to QuickSight / Dashboards. G connects to D.
Loading Diagram...
Flowchart, top to bottom. User Request connects to Is Identity Authenticated?. D connects to Explicit Deny?.
Loading Diagram...
Flowchart, top to bottom. Request Start connects to Explicit Deny?. B connects to Final Decision: Deny (Yes). B connects to Allow in Organizations SCP? (No). D connects to C (No). D connects to Allow in Resource Policy? (Yes). E connects to Final Decision: Allow (Yes). E connects to Allow in Identity Policy? (No). G connects to Is there a Permissions Boundary? (Yes). 5 more statements.
Loading Diagram...
Flowchart, top to bottom. Start: Choose Data Store connects to Is data highly connected?. B connects to Amazon Neptune (Graph) (Yes). B connects to Need sub-ms latency? (No). D connects to Needs Durability? (Yes). E connects to Amazon MemoryDB (Yes). E connects to Amazon ElastiCache (No). D connects to Relational / Vector Search? (No). H connects to Amazon Aurora (PostgreSQL) (Yes). 1 more statements.
Loading Diagram...
Flowchart, top to bottom. AWS Services: S3, Redshift, Glue connects to AWS CloudTrail (API Calls). AWS Services: S3, Redshift, Glue] -->|API Calls| B(AWS CloudTrail connects to Amazon CloudWatch (App Logs/Metrics). B connects to Amazon S3 Bucket (Storage). C connects to D (Retention). D connects to Amazon Athena (Query). D connects to Amazon OpenSearch (Search). E connects to Amazon QuickSight (Visualize).
Loading Diagram...
Flowchart, top to bottom. What are you auditing? connects to AWS CloudTrail (User/API Actions). What are you auditing? connects to CloudWatch Logs (Application Errors). What are you auditing? connects to S3 Server Access Logs (S3 Bucket Requests). CT connects to CloudTrail Lake (Need Long-term SQL?). CW connects to OpenSearch Dashboards (Need Dashboard?).
Loading Diagram...
Flowchart, top to bottom. User/Service Activity connects to AWS CloudTrail ("API Calls"). CT connects to Amazon S3 Bucket ("Storage"). CT connects to CloudWatch Logs ("Monitoring"). CW connects to Log Insights Queries ("Insights"). S3 connects to Amazon Athena ("Analysis").
Loading Diagram...
Flowchart, top to bottom. User/Application connects to IAM Authenticator (1. Requests Access). B connects to Access Keys / Secret Keys (IAM User). B connects to STS: AssumeRole (IAM Role). D connects to AWS Resources (Temporary Tokens). B connects to External IDP / SSO (Identity Center). F connects to D (SAML Assertion).
Loading Diagram...
Flowchart, top to bottom. Administrator connects to EC2 Data Processor ("Assigns Role"). EC2 Data Processor connects to IAM Role: DataEngineerRole ("Assumes"). IAM Role: DataEngineerRole connects to S3 Data Bucket ("Permissions to Read"). IAM Role: DataEngineerRole connects to Secrets Manager ("Permissions to GetValue"). EC2 Data Processor connects to S3 Data Bucket ("Authenticated Request"). EC2 Data Processor connects to Secrets Manager ("Authenticated Request").
Loading Diagram...
Flowchart, left to right. Producer connects to Glue Schema Registry (Validates). Producer] -->|Validates| R[Glue Schema Registry connects to Kinesis/Kafka (Sends Data). S connects to Consumer. C connects to R (Fetches Schema).
Loading Diagram...
Flowchart, top to bottom. Log Group: /aws/lambda/process-data connects to Log Stream: 2023/10/01/instance-1. Log Group: /aws/lambda/process-data] --> B[Log Stream: 2023/10/01/instance-1 connects to Log Stream: 2023/10/01/instance-2. Log Group: /aws/lambda/process-data] --> B[Log Stream: 2023/10/01/instance-1 connects to Log Stream: 2023/10/02/instance-1.
Loading Diagram...
Flowchart, top to bottom. Application Instance A connects to Log Stream 1 (Sends Logs). Application Instance B connects to Log Stream 2 (Sends Logs). B connects to Log Group: MyWebApp. D connects to E.
Loading Diagram...
Flowchart, left to right. Application Logs connects to Metric Filter. B connects to CloudWatch Metric (Pattern Match). C connects to CloudWatch Alarm. D connects to SNS Notification.
Loading Diagram...
Flowchart, left to right. Event Source connects to Event Bus. Bus connects to Rule Engine. Rule connects to Lambda. Rule connects to Step Functions.
Loading Diagram...
Flowchart, left to right. P[Producer Cluster] -- "Creates Outbound Share connects to Data Share. S -- "Received as Inbound Share connects to Consumer Cluster. C -- "Queries Live Data connects to Producer Cluster] -- "Creates Outbound Share" --> S((Data Share.
Loading Diagram...
Sequence diagram. P sends LF: Register Data Share. LF sends LF: Apply LF-Tags & Permissions. C sends LF: Request Access. LF sends C: Authorized Metadata. C sends P: Query Live Data (Direct Access).
Loading Diagram...
Flowchart, left to right. SQL Query connects to Redshift Cluster. RS connects to Spectrum Nodes. Spec connects to (Amazon S3 Lake).