Ngân hàng đề — AWS Certified Data Engineer Associate
Tìm thấy 867 câu.
A company maintains three environments for different stages of testing. AWS Glue jobs run in these environments to perform certain tasks every day. Although these tasks need to run every day, there is no specific start and end time mandated for them. The company is looking at options to reduce the cost of these jobs.
What do you recommend?
-
A
Use AWS Glue Spark shuffle plugin to reduce the cost of storage
-
B
Configure AWS Glue job with FLEX job execution class
-
C
Opt for the Spot Instance type in Glue job properties
-
D
Configure AWS Glue job with STANDARD job execution class
Xem giải thích
Đáp án
*B — Cấu hình Glue job với execution class FLEX
Vì sao đúng
Chi tiết quyết định trong đề: các job phải chạy mỗi ngày nhưng không có yêu cầu về thời điểm bắt đầu hay kết thúc. Đó chính là điều kiện để dùng FLEX.
FLEX execution class chạy job trên năng lực tính toán dư thừa của AWS, và rẻ hơn đáng kể so với class STANDARD. Đổi lại:
- Thời gian bắt đầu không đoán trước được — job có thể chờ trước khi được cấp tài nguyên.
- Thời gian chạy có thể dài hơn và biến động.
- Job có thể bị gián đoạn và được thử lại.
Với môi trường kiểm thử chạy hằng ngày mà không ai chờ kết quả, cả ba nhược điểm đều không thành vấn đề — nên đây là khoản tiết kiệm gần như miễn phí.
Vì sao các phương án khác sai
- D. Dùng execution class STANDARD — đó là class mặc định, tức là tình trạng hiện tại; nó không giảm chi phí gì. Đây là phương án nhiễu chính vì nó là cặp đối lập trực tiếp của đáp án.
- C. Chọn kiểu Spot Instance trong thuộc tính Glue job — không có tuỳ chọn này; Glue là dịch vụ serverless, bạn không chọn loại instance. FLEX chính là cách Glue cho bạn tiếp cận năng lực dư thừa.
- A. Dùng Glue Spark shuffle plugin để giảm chi phí lưu trữ — plugin này giải bài toán tràn đĩa khi shuffle cho job xử lý dữ liệu lớn; nó không phải công cụ giảm chi phí chung.
An e-commerce application runs on a single EC2 instance and processes one Kinesis data stream that has four shards. The instance has one KCL worker configured on it. As part of application scaling, another EC2 instance has been added to this configuration.
What is the outcome of this change?
-
A
When the KCL worker starts up on the second instance, it load-balances with the first instance, and each instance will now process two shards
-
B
When the KCL worker starts up on the second instance, it can randomly pick between one to four shards depending on the load experienced by the second instance
-
C
When the KCL worker starts up on the second instance, it load-balances with the first instance, and each instance will now process four shards
-
D
When you use the KCL, you should ensure that the number of instances exceeds the number of shards for better performance and scaling abilities, so the data processing will be paused
Xem giải thích
Đáp án
*A — Khi KCL worker khởi động trên instance thứ hai, nó cân bằng tải với instance thứ nhất, và mỗi instance xử lý hai shard
Vì sao đúng
KCL có cơ chế cân bằng tải tự động dựa trên khái niệm lease (quyền thuê shard):
Trước: Instance 1 giữ lease cả 4 shard
Sau: Instance 1 giữ 2 shard | Instance 2 giữ 2 shard
Cách nó hoạt động: mọi worker cùng đọc bảng DynamoDB dùng chung của ứng dụng, thấy có bao nhiêu shard và bao nhiêu worker đang hoạt động, rồi tự thoả thuận để chia đều. Worker mới giành lấy (steal) lease từ worker đang giữ nhiều hơn mức trung bình.
Quá trình này tự động và không mất dữ liệu: worker cũ ghi checkpoint trước khi nhả lease, worker mới đọc tiếp từ đúng vị trí đó.
Vì sao các phương án khác sai
- C. Mỗi instance xử lý bốn shard — nghĩa là mỗi shard bị xử lý hai lần; KCL cố ý ngăn điều này bằng cơ chế lease, vì xử lý trùng sẽ làm hỏng kết quả.
- B. Worker thứ hai chọn ngẫu nhiên từ một tới bốn shard — việc phân chia là tất định theo cân bằng tải, không ngẫu nhiên.
- D. Số instance phải vượt số shard, nên xử lý sẽ tạm dừng — sai ở cả hai vế: một shard chỉ được một worker xử lý, nên có nhiều instance hơn shard chỉ khiến các instance thừa nằm không chứ không gây dừng. Nguyên tắc đúng là: số worker nên nhỏ hơn hoặc bằng số shard.
A company needs to set up a data pipeline that includes an AWS Lambda function and an AWS Glue job. You have been hired as an AWS Certified Data Engineer Associate to build a solution that has the least management overhead and is fully integrated with AWS services.
What do you recommend?
-
A
Leverage Amazon Managed Workflows for Apache Airflow to set up an Apache Airflow workflow that is deployed on an Amazon Elastic Container Service (Amazon ECS) cluster. The workflow definition should have the first task as the Lambda function and the second task as the AWS Glue job
-
B
Set up an AWS Step Functions state machine to run the Lambda function and then the AWS Glue job
-
C
Set up an AWS Glue workflow to run the Lambda function and then the AWS Glue job
-
D
Leverage Amazon Managed Workflows for Apache Airflow to set up an Apache Airflow workflow that is deployed on an Amazon Elastic Kubernetes Service (Amazon EKS) cluster. The workflow definition should have the first task as the Lambda function and the second task as the AWS Glue job
Xem giải thích
Đáp án
B — Dựng một AWS Step Functions state machine chạy hàm Lambda rồi tới Glue job
Vì sao đúng
Đề đòi ít công quản lý nhất và tích hợp đầy đủ với các dịch vụ AWS. Step Functions thoả cả hai:
- Không có hạ tầng nào — hoàn toàn serverless, trả tiền theo số bước chuyển trạng thái.
- Tích hợp trực tiếp với hơn 200 dịch vụ AWS, trong đó có Lambda và Glue — không phải viết mã kết dính nào.
- Lo sẵn phần thử lại, xử lý lỗi, phân nhánh, và chờ job Glue chạy xong trước khi đi bước tiếp.
Vì sao các phương án khác sai
-
C. Dùng AWS Glue workflow — điều phối được các thành phần của Glue (crawler, job, trigger), nhưng không gọi được Lambda. Bước đầu tiên trong đề vì thế không làm được. Đây là phương án nhiễu chính, và cặp này đáng nhớ:
Glue workflow Step Functions Điều phối được Chỉ thành phần Glue Hơn 200 dịch vụ AWS -
A và D. Dùng Amazon MWAA trên ECS hoặc EKS — mạnh và linh hoạt nhất, nhưng công quản lý cao nhất: bạn quản lý môi trường Airflow, viết DAG bằng Python, và trả tiền theo giờ cho môi trường luôn chạy. Ngoài ra mô tả trong hai phương án còn sai: MWAA là dịch vụ được quản lý, bạn không tự triển khai nó lên ECS hay EKS.
A media company runs a photo-sharing web application that is accessed across three different countries. The application is deployed on several Amazon Elastic Compute Cloud (Amazon EC2) instances running behind an Application Load Balancer. With new government regulations, the company has been asked to block access from two countries and allow access only from the home country of the company.
Which configuration should be used to meet this requirement?
-
A
Configure the security group of the Amazon EC2 instances to enforce geo-restriction
-
B
Use Geo Restriction feature of Amazon CloudFront that is deployed in an Amazon Virtual Private Cloud (Amazon VPC)
-
C
Configure the security group of the Application Load Balancer to enforce geo restriction
-
D
Configure AWS Web Application Firewall (AWS WAF) on the Application Load Balancer that is deployed in an Amazon Virtual Private Cloud (Amazon VPC)
Xem giải thích
Đáp án
D — Cấu hình AWS WAF trên Application Load Balancer
Vì sao đúng
WAF có luật geo match statement cho phép chặn hoặc cho phép yêu cầu theo quốc gia nguồn, và nó gắn được trực tiếp vào Application Load Balancer — đúng kiến trúc mà đề mô tả.
Cấu hình rất gọn: tạo web ACL với một luật geo match liệt kê hai nước cần chặn, đặt hành động BLOCK, rồi gắn vào ALB.
Với yêu cầu tuân thủ quy định, WAF còn có ưu điểm là ghi log đầy đủ — bạn chứng minh được biện pháp chặn đã có hiệu lực từ thời điểm nào.
Vì sao các phương án khác sai
- B. Dùng Geo Restriction của CloudFront — tính năng này có thật và hoạt động tốt, nhưng kiến trúc trong đề không có CloudFront; thêm cả một CDN chỉ để chặn theo nước là thừa. Phương án còn nói CloudFront "được triển khai trong VPC", điều không đúng — CloudFront là dịch vụ biên toàn cầu, không nằm trong VPC nào. Đây là phương án nhiễu chính.
- A và C. Cấu hình security group để chặn theo địa lý — security group không biết khái niệm quốc gia; nó chỉ khai được dải IP, và còn không có luật từ chối.
You are establishing a monitoring solution for desktop systems, that will be sending telemetry data into AWS every 1 minute. Data for each system must be processed in order, independently, and you would like to scale the number of consumers to be possibly equal to the number of desktop systems that are being monitored.
What do you recommend?
-
A
Use an Amazon Simple Queue Service (Amazon SQS) standard queue, and send the telemetry data as is
-
B
Use an Amazon Simple Queue Service (Amazon SQS) FIFO (First-In-First-Out) queue, and send the telemetry data as is
-
C
Use Amazon Kinesis Data Streams, and send the telemetry data with a Partition ID that uses the value of the Desktop ID
-
D
Use an Amazon Simple Queue Service (Amazon SQS) FIFO (First-In-First-Out) queue, and make sure the telemetry data is sent with a Group ID attribute representing the value of the Desktop ID
Xem giải thích
Đáp án
D — Dùng SQS FIFO queue, và gửi dữ liệu telemetry kèm thuộc tính Group ID mang giá trị Desktop ID
Vì sao đúng
Đề nêu ba yêu cầu, và cơ chế MessageGroupId của SQS FIFO giải trọn cả ba:
| Yêu cầu | Cách MessageGroupId đáp ứng |
|---|---|
| Thứ tự cho từng máy | Thứ tự được bảo đảm trong mỗi group |
| Xử lý độc lập giữa các máy | Các group khác nhau xử lý song song, không chờ nhau |
| Số consumer bằng số máy | Số group không giới hạn, nên số consumer song song cũng vậy |
Vế thứ ba là chỗ quyết định. Với Kinesis, mức song song bị giới hạn bởi số shard — muốn hàng nghìn consumer song song thì phải có hàng nghìn shard, tốn kém và phải quản lý. Còn SQS FIFO thì số message group là không giới hạn và bạn không phải cấp phát gì.
Vì sao các phương án khác sai
- C. Dùng Kinesis Data Streams với Partition ID là Desktop ID — hoạt động đúng về mặt thứ tự, nhưng mức song song bị chặn bởi số shard, nên không đạt được yêu cầu "số consumer có thể bằng số máy tính". Đây là phương án nhiễu chính và là lựa chọn hợp lý thứ hai.
- B. Dùng FIFO queue nhưng gửi dữ liệu "as is" — không có
MessageGroupIdthì mọi thông điệp vào một group duy nhất, và toàn bộ hệ thống bị xử lý tuần tự — mất hết tính song song. - A. Dùng standard queue — không bảo đảm thứ tự, vi phạm yêu cầu đầu tiên.
A global CRM company has recently migrated its technology infrastructure from its on-premises data center to AWS Cloud. The data engineering team has provisioned an RDS PostgreSQL DB cluster for the company's flagship CRM application. An analytics workload also runs on the same database which publishes near real-time reports for the senior management of the company. When the analytics workload runs, it slows down the CRM application as well, resulting in a bad user experience.
Which of the following would you recommend as the MOST cost-optimal solution to fix this issue?
-
A
Create a Read Replica in the same Region as the Master database and point the analytics workload there
-
B
Enable Multi-AZ for the RDS database and run the analytics workload on the standby database
-
C
For Disaster Recovery purposes, create a Read Replica in another Region as the Master database and point the analytics workload there
-
D
Migrate the analytics application to AWS Lambda
Xem giải thích
Đáp án
A — Tạo Read Replica trong cùng Region với database chính và trỏ workload phân tích sang đó
Vì sao đúng
Vấn đề trong đề là kinh điển: workload phân tích và workload giao dịch tranh chấp tài nguyên trên cùng một cơ sở dữ liệu.
Read Replica giải đúng chỗ đó — nó là bản sao chỉ đọc nhận dữ liệu qua nhân bản bất đồng bộ, và truy vấn chạy trên nó hoàn toàn không đụng tới database chính.
Chi tiết "cùng Region" là phần quyết định về chi phí: nhân bản trong cùng Region không phát sinh phí truyền dữ liệu liên Region, còn sang Region khác thì mỗi byte đều bị tính.
Với báo cáo gần thời gian thực, độ trễ nhân bản (thường dưới một giây) là chấp nhận được.
Vì sao các phương án khác sai
- *C. Tạo Read Replica ở Region khác — cũng giải được vấn đề tranh chấp, nhưng đắt hơn vì phí truyền dữ liệu liên Region, và độ trễ nhân bản cao hơn. Đề đòi tối ưu chi phí nhất. Đây là phương án nhiễu chính.
- B. Bật Multi-AZ rồi chạy phân tích trên bản chờ — không làm được: bản chờ trong Multi-AZ không phục vụ truy vấn nào, nó chỉ đứng chờ chuyển dự phòng. Đây là hiểu lầm phổ biến nhất về Multi-AZ.
- D. Chuyển ứng dụng phân tích sang Lambda — đổi nơi chạy mã, nhưng truy vấn vẫn đánh vào cùng một database; vấn đề nguyên vẹn.
An online gaming company wants to block access to its application from specific countries; however, the company wants to allow its remote development team (from one of the blocked countries) to have access to the application. The application is deployed on Amazon EC2 instances running under an Application Load Balancer with AWS Web Application Firewall (AWS WAF).
Which of the following solutions can be combined to address the given use case? (Select two)
-
A
Use AWS WAF geo match statement listing the countries that you want to block
-
B
Use Application Load Balancer IP set statement that specifies the IP addresses that you want to allow through
-
C
Create a deny rule for the blocked countries in the network access control list (network ACL) associated with each of the Amazon EC2 instances
-
D
Use Application Load Balancer geo match statement listing the countries that you want to block
-
E
Use AWS WAF IP set statement that specifies the IP addresses that you want to allow through
Xem giải thích
Đáp án
A và E — dùng WAF geo match statement để chặn theo quốc gia, và WAF IP set statement để cho phép đội phát triển từ xa
Vì sao đúng
Bài toán có hai vế trái chiều — chặn cả nước nhưng cho phép một nhóm trong nước đó — và AWS WAF giải được nhờ thứ tự ưu tiên của luật:
Luật 1 (ưu tiên cao): IP set → ALLOW IP của đội phát triển
Luật 2 (ưu tiên thấp): Geo match → BLOCK các quốc gia bị chặn
WAF xét luật theo thứ tự ưu tiên và dừng ở luật khớp đầu tiên. Yêu cầu từ đội phát triển khớp luật 1 và được cho qua trước khi chạm tới luật chặn. Mọi yêu cầu khác từ nước đó rơi xuống luật 2 và bị chặn.
Đặt sai thứ tự là hỏng: nếu geo match có ưu tiên cao hơn, đội phát triển bị chặn trước khi luật cho phép được xét tới.
Vì sao các phương án khác sai
- B và *D. Dùng "geo match statement" hoặc "IP set statement" của Application Load Balancer — không tồn tại. ALB có listener rule định tuyến theo host, đường dẫn và header, nhưng không lọc theo quốc gia và không có khái niệm IP set. Chức năng này thuộc về WAF.
- C. Tạo luật deny cho các nước bị chặn trong network ACL — NACL không biết quốc gia, chỉ biết dải IP; muốn chặn một nước phải liệt kê hàng nghìn dải, mà NACL có giới hạn số luật rất thấp. Ngoài ra NACL gắn với subnet, không gắn với instance như phương án viết.
A research agency stores and manages the global seismological data for the last 100 years. The data has a velocity of 1GB per minute. You would like to store the data with only the most relevant attributes to build a predictive model for earthquakes.
Which of the following solutions would you use to build the most cost-effective solution that requires the LEAST infrastructure maintenance?
-
A
Ingest the data in Kinesis Data Streams and use an intermediary Lambda function to filter and transform the incoming stream before the output is written to S3
-
B
Ingest the data in Kinesis Data Analytics and use SQL queries to filter and transform the data before writing to S3
-
C
Ingest the data in Kinesis Data Firehose and use an intermediary Lambda function to filter and transform the incoming stream before the output is written to S3
-
D
Ingest the data in a Spark Streaming Cluster on EMR use Spark Streaming transformations before writing to S3
Xem giải thích
Đáp án
C — Nhận dữ liệu vào Kinesis Data Firehose, dùng một hàm Lambda trung gian để lọc và biến đổi luồng trước khi ghi ra S3
Vì sao đúng
Đề nêu hai tiêu chí: tiết kiệm nhất và ít bảo trì hạ tầng nhất. Firehose thắng ở cả hai vì nó là dịch vụ hoàn toàn được quản lý và tự co giãn:
| Kinesis Data Firehose | Kinesis Data Streams | |
|---|---|---|
| Cấp phát | Không có gì — tự co giãn | Phải khai số shard |
| Ghi ra S3 | Tích hợp sẵn, tự gom lô và nén | Phải tự viết consumer |
| Biến đổi dữ liệu | Gọi Lambda sẵn trong đường ống | Tự dựng |
| Trả tiền | Theo lượng dữ liệu | Theo shard-giờ (kể cả khi rảnh) |
Với tốc độ 1 GB mỗi phút, Firehose tự xử lý mà bạn không phải tính toán số shard hay điều chỉnh khi lưu lượng đổi.
Tính năng data transformation gọi Lambda ngay trong đường ống là chỗ khớp chính xác với yêu cầu "chỉ giữ lại các thuộc tính liên quan nhất".
Vì sao các phương án khác sai
- A. Kinesis Data Streams kèm Lambda — làm được, nhưng phải khai và quản lý số shard, và trả tiền theo shard-giờ kể cả lúc ít dữ liệu. Đây là phương án nhiễu chính.
- B. Kinesis Data Analytics dùng SQL để lọc — thêm một dịch vụ nữa vào chuỗi mà không cần thiết cho việc lọc đơn giản.
- D. Cụm Spark Streaming trên EMR — tốn bảo trì nhất: bạn quản lý cụm, vá lỗi, điều chỉnh quy mô. Ngược hẳn yêu cầu của đề.
The data engineering team at a company is building an Opensearch-based index for all the existing files in S3. To build this index, it only needs to read the first 250 bytes of each object in S3, which contains some metadata about the content of the file itself. There are over 100,000 files in your S3 bucket, adding up to 50TB of data.
Which of the following solutions can be used to build this index MOST efficiently? (Select two)
-
A
Use the Database Migration Service to load the entire data from S3 to Opensearch and then Opensearch will automatically build the index
-
B
Create an application that will traverse the S3 bucket, read the entire files one by one, extract the first 250 bytes, and store that information in Opensearch
-
C
Create an application that will traverse the S3 bucket, issue a Byte Range Fetch for the first 250 bytes, and store that information in Opensearch
-
D
Use the Opensearch Import feature to load the entire data from S3 to Opensearch and then Opensearch will automatically build the index
-
E
Create an application that will use the S3 Select ScanRange parameter to get the first 250 bytes and store that information in Opensearch
Xem giải thích
Đáp án
C và E — dùng Byte Range Fetch để lấy 250 byte đầu, hoặc dùng tham số ScanRange của S3 Select
Vì sao đúng
Chìa khoá của câu này là con số: 50 TB tổng dung lượng, nhưng chỉ cần 250 byte đầu của mỗi tệp. Với 100.000 tệp, tổng lượng dữ liệu thật sự cần đọc chỉ là:
100.000 × 250 byte = 25 MB
Nghĩa là đọc cả tệp thay vì đọc phần đầu là lãng phí gấp hai triệu lần. Cả hai phương án đúng đều tránh được điều đó:
- C. Byte Range Fetch — dùng header HTTP
Range: bytes=0-249trong yêu cầuGetObject; S3 chỉ trả về đúng phần đó, và bạn chỉ trả tiền cho phần đã truyền. - E.
ScanRangecủa S3 Select — chỉ định phạm vi byte cần quét, đạt hiệu quả tương tự.
Vì sao các phương án khác sai
- B. Đọc toàn bộ từng tệp rồi trích 250 byte đầu — hoạt động được nhưng cực kỳ lãng phí: truyền đủ 50 TB, tốn thời gian và tốn phí truyền dữ liệu. Đây là phương án nhiễu chính vì nó là cách làm ngây thơ nhất.
- A. Dùng Database Migration Service nạp toàn bộ dữ liệu vào OpenSearch — cũng chuyển cả 50 TB, và DMS dựng cho việc di trú cơ sở dữ liệu.
- D. Dùng "OpenSearch Import feature" — không tồn tại tính năng nhập trực tiếp từ S3 như phương án mô tả.
A company needs to upgrade its Amazon Elastic Block Store - General Purpose SSD storage from gp2 to gp3. The change should not interrupt the services running on the Amazon EC2 instance.
Which solution will meet the given requirements with the LEAST operational overhead ?
-
A
Choose
Modify Volumefrom the Amazon EC2 console and change theVolume Typeto gp3. Also modify theSize,IOPS, andThroughputparameters. To migrate to gp3, you need to increase the volume size -
B
You need to stop the instance, apply the modifications, and then restart the instance. Downtime cannot fully be avoided unless a failover instance is maintained
-
C
You need to hibernate the instance, apply the modifications, and then restart the instance. Downtime cannot fully be avoided unless a failover instance is maintained
-
D
Choose
Modify Volumefrom the Amazon EC2 console and change theVolume Typeto gp3. Also modifySize,IOPSandThroughputparameters
Xem giải thích
Đáp án
D — Chọn Modify Volume trong Console rồi đổi Volume Type sang gp3, đồng thời chỉnh Size, IOPS và Throughput
Vì sao đúng
Chuyển từ gp2 sang gp3 là thao tác Elastic Volumes, và nó diễn ra trực tuyến: volume vẫn gắn nguyên, instance vẫn chạy, ứng dụng không bị gián đoạn.
Ba lý do nên chuyển:
- gp3 rẻ hơn gp2 khoảng 20% cho cùng dung lượng.
- IOPS và throughput tách rời khỏi dung lượng — gp3 cho sẵn 3.000 IOPS và 125 MB/s bất kể volume to hay nhỏ, còn gp2 thì IOPS tỷ lệ với dung lượng (3 IOPS mỗi GB).
- Điều chỉnh độc lập — cần thêm IOPS thì tăng riêng IOPS, không phải phình dung lượng lên.
Sau khi đổi, volume vào trạng thái optimizing một lúc nhưng vẫn dùng được bình thường.
Vì sao các phương án khác sai
- *A. Cùng thao tác nhưng nói "phải tăng dung lượng volume mới chuyển được sang gp3" — sai; không có ràng buộc nào như vậy. Đây là phương án nhiễu chính, và nó chỉ khác đáp án đúng ở đúng một câu thừa.
- B. Phải dừng instance và C. Phải hibernate instance — đều sai: Elastic Volumes hoạt động khi volume đang gắn và instance đang chạy. Đó chính là điểm mạnh của tính năng này.