Ngân hàng đề — Google Cloud Associate Cloud Engineer
Tìm thấy 449 câu.
- A Deploy the container on Cloud Run for Anthos, and set the minimum number of instances to zero.
- B Deploy the container on Cloud Run (fully managed), and set the minimum number of instances to zero.
- C Deploy the container on App Engine flexible environment with autoscaling, and set the value min_instances to zero in the app.yaml.
- D Deploy the container on App Engine flexible environment with manual scaling, and set the value instances to zero in the app.yaml.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi mô tả tình huống: Bạn đã phát triển một ứng dụng web containerized phục vụ nội bộ cho đồng nghiệp chỉ trong giờ làm việc. Mục tiêu là đảm bảo không phát sinh chi phí ngoài giờ sử dụng. Bạn vừa tạo một dự án Google Cloud mới và cần triển khai ứng dụng.
✅ Yêu cầu chính: Sử dụng dịch vụ serverless hoặc autoscaling có khả năng scale to zero (giảm về 0 instance khi không có traffic) để tránh chi phí idle (chi phí khi không sử dụng). Điều này phù hợp với ứng dụng không liên tục, chỉ dùng giờ hành chính.
🛠️ Bối cảnh Google Cloud (cập nhật đến 2026): Các dịch vụ như Cloud Run fully managed hỗ trợ scale-to-zero hoàn hảo, chỉ tính phí theo request và CPU/memory sử dụng thực tế. Không dùng VM hoặc cluster luôn chạy.
✅ Đáp án đúng
Deploy the container on Cloud Run (fully managed), and set the minimum number of instances to zero.
Lý do lựa chọn:
- Cloud Run (fully managed) là dịch vụ serverless lý tưởng cho container, tự động scale từ 0 instance khi không có traffic.
- Với
min-instances: 0(cấu hình qua--min-instances 0hoặc YAML), ứng dụng cold-start chỉ khi có request đầu tiên, không tốn chi phí ngoài giờ làm việc. - Phù hợp dự án mới, dễ deploy (
gcloud run deploy), tích hợp IAM cho internal access.
📘 Nguồn: Cloud Run docs - Scaling (cập nhật 2025: hỗ trợ concurrency lên 1000+ và cold-start <1s với optimizations).
📋 Giải thích tất cả các phương án
-
❌ Deploy the container on Cloud Run for Anthos, and set the minimum number of instances to zero.
Sai vì: Cloud Run for Anthos (nay là Cloud Run on Anthos trên GKE) chạy trên Kubernetes cluster, không hỗ trợ scale to zero thực sự như fully managed. Cluster GKE luôn tốn chi phí (node pool minimum), ngay cả khi set min-instances=0. Không phù hợp tránh chi phí hoàn toàn cho app internal.
🛠️ Nguồn: Cloud Run on Anthos docs – yêu cầu GKE cluster luôn active. -
✅ Deploy the container on Cloud Run (fully managed), and set the minimum number of instances to zero.
Đúng vì: Như giải thích ở trên, đây là lựa chọn tối ưu cho scale-to-zero, zero-cost khi idle. Fully managed không cần quản lý infra. -
❌ Deploy the container on App Engine flexible environment with autoscaling, and set the value min_instances to zero in the app.yaml.
Sai vì: App Engine flexible environment (dùng GCE VMs) không hỗ trợ min_instances=0 thực sự. Nó luôn giữ ít nhất 1 instance (hoặc hơn tùy config), dẫn đến chi phí liên tục ~24/7. Scale-to-zero chỉ có ở standard environment (không flexible).
🛠️ Nguồn: App Engine flexible scaling docs (2025: vẫn yêu cầu min 1 instance mặc định). -
❌ Deploy the container on App Engine flexible environment with manual scaling, and set the value instances to zero in the app.yaml.
Sai vì: Manual scaling trên flexible env yêu cầu instances cố định >0, setinstances: 0sẽ lỗi deploy hoặc không scale. Không tự động, phải manual resize – không phù hợp app chỉ dùng giờ làm việc, vẫn tốn chi phí VM idle.
🛠️ Nguồn: App Engine manual scaling docs – instances phải >=1.
- A Grant the financial team the IAM role of ג€Billing Account Userג€ on the billing account linked to your credit card.
- B Set up BigQuery billing export and grant your financial department IAM access to query the data.
- C Create a ticket with Google Billing Support to ask them to send the invoice to your company.
- D Change the billing account of your projects to the billing account of your company.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả tình huống: Bạn đã thử nghiệm Google Cloud bằng thẻ tín dụng cá nhân của mình và sau đó yêu cầu công ty hoàn tiền chi phí. Bây giờ, công ty muốn đơn giản hóa quy trình thanh toán bằng cách chuyển chi phí của các dự án (projects) này vào hóa đơn hàng tháng của họ.
📌 Mục tiêu chính: Chuyển chi phí từ billing account cá nhân (liên kết thẻ tín dụng cá nhân) sang billing account của công ty, để công ty nhận hóa đơn thống nhất hàng tháng thay vì bạn phải expensed thủ công.
🛠️ Đây là chủ đề liên quan đến Google Cloud Billing, cụ thể là quản lý billing accounts và liên kết chúng với projects. Kiến thức dựa trên tài liệu chính thức Google Cloud Billing (cập nhật đến năm 2026, phiên bản mới nhất từ Google Cloud Console và Billing APIs).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Change the billing account of your projects to the billing account of your company.
Lý do:
- Trong Google Cloud, mỗi project phải liên kết với một billing account duy nhất để thanh toán chi phí. Việc thay đổi billing account của project sang billing account của công ty sẽ tự động chuyển tất cả chi phí tương lai (và có thể bao gồm chi phí quá khứ nếu cấu hình đúng) vào hóa đơn hàng tháng của công ty.
- Quy trình đơn giản: Vào Billing section trong Google Cloud Console, chọn project, chọn "Change billing account" và link sang billing account công ty (yêu cầu quyền Billing Account Administrator trên billing account mới).
- Điều này streamline quy trình billing hoàn hảo, tránh expensed thủ công.
📘 Nguồn tham khảo: Google Cloud Billing - Link a project to a billing account và Manage billing accounts.
📋 Giải thích tất cả các phương án (đúng/sai)
-
Phương án 1: Grant the financial team the IAM role of ג€Billing Account Userג€ on the billing account linked to your credit card.
❌ Sai: Vai trò Billing Account User chỉ cho phép xem thông tin billing, quản lý payments và notifications trên billing account hiện tại (của thẻ cá nhân). Nó không thay đổi billing account của project, nên chi phí vẫn tính vào thẻ cá nhân, financial team chỉ xem được chứ không chuyển sang hóa đơn công ty. (Lưu ý: Tên role có ký tự lạ "ג€" có thể là lỗi hiển thị của "Billing Account User"). -
Phương án 2: Set up BigQuery billing export and grant your financial department IAM access to query the data.
❌ Sai: BigQuery Billing Export chỉ xuất dữ liệu chi phí chi tiết ra BigQuery dataset để phân tích (query, report). Nó không thay đổi billing account hay chuyển chi phí sang hóa đơn công ty, chỉ giúp theo dõi dữ liệu sau khi chi phí đã phát sinh trên billing account cá nhân. Financial team có quyền IAM (như BigQuery Data Viewer) chỉ query data, không giải quyết vấn đề thanh toán. -
Phương án 3: Create a ticket with Google Billing Support to ask them to send the invoice to your company.
❌ Sai: Google Billing Support không hỗ trợ thay đổi địa chỉ invoice thủ công hay chuyển billing như vậy. Họ chỉ hỗ trợ troubleshooting kỹ thuật, không can thiệp vào quy trình billing cá nhân/doanh nghiệp. Giải pháp đúng phải tự quản lý qua Console (change billing account), tránh phụ thuộc support. -
Phương án 4 (Đúng): Change the billing account of your projects to the billing account of your company.
✅ Đúng: Như đã giải thích ở phần trên, đây là cách chuẩn và hiệu quả nhất để chuyển chi phí dự án sang billing account công ty, tự động tích hợp vào hóa đơn hàng tháng. Hỗ trợ quy mô lớn, tuân thủ best practices của Google Cloud.
🧠 Lưu ý bổ sung: Sau khi thay đổi, kiểm tra Billing forecasts và Budgets/Alerts để tránh vượt ngân sách. Nếu công ty chưa có billing account, tạo mới qua Cloud Billing Console. Kiến thức này vẫn áp dụng đến 2026 với các tính năng mới như AI-powered billing insights.
- A Create a Service Account in your own project, and grant this Service Account access to BigQuery in your project.
- B Create a Service Account in your own project, and ask the partner to grant this Service Account access to BigQuery in their project.
- C Ask the partner to create a Service Account in their project, and have them give the Service Account access to BigQuery in their project.
- D Ask the partner to create a Service Account in their project, and grant their Service Account access to the BigQuery dataset in your project.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề quản lý quyền truy cập (IAM - Identity and Access Management) trên Google Cloud Platform (GCP), cụ thể là chia sẻ tài nguyên BigQuery giữa các project khác nhau.
✅ Tình huống chính:
- Bạn đang vận hành một data warehouse trên BigQuery (dịch vụ kho dữ liệu serverless của GCP).
- Một đối tác (partner company) cung cấp recommendation engine (hệ thống gợi ý) dựa trên dữ liệu từ data warehouse của bạn.
- Đối tác chạy ứng dụng của họ trên GCP, nhưng quản lý tài nguyên trong project riêng của họ.
- Họ cần truy cập vào BigQuery dataset nằm trong project của bạn.
- Mục tiêu: Cung cấp quyền truy cập an toàn, tuân thủ nguyên tắc least privilege (quyền tối thiểu cần thiết) và best practices của GCP (cập nhật đến năm 2026, theo tài liệu IAM mới nhất).
🛠️ Vấn đề cốt lõi: Không thể chia sẻ trực tiếp dataset giữa các project. Phải sử dụng Service Account (SA) để ứng dụng của đối tác có thể xác thực và truy cập tài nguyên cross-project một cách programmatic (tự động). Bạn là chủ project, nên bạn kiểm soát việc grant quyền vào dataset của mình.
📘 Tài liệu tham khảo:
- BigQuery: Share access to datasets (cập nhật 2024-2026).
- IAM best practices for BigQuery – Nhấn mạnh tạo SA ở project sử dụng, grant từ project sở hữu.
✅ Đáp án đúng
Phương án đúng: Ask the partner to create a Service Account in their project, and grant their Service Account access to the BigQuery dataset in your project.
Lý do chọn đáp án này:
- Đây là best practice chuẩn của GCP: Đối tác tạo Service Account (SA) trong project của họ (nơi ứng dụng chạy), để SA đó đại diện cho ứng dụng recommendation engine.
- Sau đó, bạn (chủ project BigQuery) grant quyền IAM (ví dụ:
roles/bigquery.dataViewerhoặcroles/bigquery.user) trực tiếp cho SA của đối tác vào dataset của bạn. - Ưu điểm:
- An toàn (SA chỉ dùng trong project đối tác, dễ thu hồi).
- Không cần chia sẻ credential (key) giữa các bên.
- Hỗ trợ cross-project access mượt mà, tuân thủ nguyên tắc "grant external identities".
- Theo docs GCP 2026: Sử dụng IAM policy bindings trên dataset level để grant SA external.
❌ Phân tích tất cả các phương án (đúng/sai)
-
Create a Service Account in your own project, and grant this Service Account access to BigQuery in your project.
❌ Sai: Phương án này vô nghĩa vì SA được tạo trong project của bạn và chỉ grant quyền trong project bạn – không giúp đối tác truy cập. Ứng dụng đối tác (chạy ở project khác) không thể sử dụng SA của bạn một cách an toàn (phải chia sẻ key, vi phạm security). Không giải quyết cross-project access. -
Create a Service Account in your own project, and ask the partner to grant this Service Account access to BigQuery in their project.
❌ Sai: Bạn tạo SA trong project mình, rồi yêu cầu đối tác grant quyền vào BigQuery của họ – điều này ngược lại hoàn toàn! Dataset cần truy cập là của bạn, không phải của họ. Đối tác không có lý do grant quyền cho SA của bạn vào tài nguyên họ. Không liên quan đến yêu cầu. -
Ask the partner to create a Service Account in their project, and have them give the Service Account access to BigQuery in their project.
❌ Sai: Yêu cầu đối tác tạo SA trong project họ và tự grant quyền vào BigQuery của họ – nhưng dataset nằm ở project bạn! Họ không thể grant quyền cross-project vào tài nguyên của bạn. Phương án này bỏ qua việc bạn phải authorize từ phía chủ sở hữu. -
Ask the partner to create a Service Account in their project, and grant their Service Account access to the BigQuery dataset in your project.
✅ Đúng (như đã giải thích ở trên): Hoàn hảo khớp với quy trình IAM cross-project. Đối tác tạo SA → Bạn grant quyền → Ứng dụng họ dùng SA key để truy cập dataset bạn một cách an toàn.
🛡️ Lời khuyên thực hành: Sau khi grant, dùng IAM Recommender để audit quyền định kỳ, và ưu tiên workload identity federation nếu có thể (không cần key file, cập nhật 2024+).
- A Create a new service with the new version of the application. Split traffic between this version and the version that is currently running.
- B Create a new revision with the new version of the application. Split traffic between this version and the version that is currently running.
- C Create a new service with the new version of the application. Add an HTTP Load Balancer in front of both services.
- D Create a new revision with the new version of the application. Add an HTTP Load Balancer in front of both revisions.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi này xoay quanh việc triển khai canary deployment (triển khai thử nghiệm với tỷ lệ người dùng sản xuất cụ thể) cho một ứng dụng web đang chạy thành công trên Cloud Run for Anthos (dịch vụ serverless của Google Cloud, chạy trên Anthos/GKE).
- Bối cảnh chính: Ứng dụng đang chạy ổn định (production). Bạn muốn test phiên bản mới bằng cách phân bổ một phần trăm traffic (ví dụ: 10%) cho phiên bản mới, còn lại cho phiên bản cũ – đây là kỹ thuật traffic splitting tiêu chuẩn trong Cloud Run để giảm rủi ro.
- Mục tiêu: Đánh giá phiên bản cập nhật mà không ảnh hưởng toàn bộ người dùng sản xuất.
- Kiến thức cốt lõi (cập nhật đến 2026): Cloud Run hỗ trợ revisions (phiên bản độc lập của container image trong cùng một service). Bạn có thể split traffic giữa các revisions của cùng một service mà không cần service mới hay Load Balancer bên ngoài. Tính năng này được quản lý qua
gcloud run services update-traffichoặc console/UI. Cloud Run tự động scale và route traffic theo tỷ lệ % (ví dụ: 90% revision cũ, 10% revision mới).- 📘 Nguồn tham khảo: Cloud Run Documentation - Traffic splitting (phiên bản mới nhất 2024-2026, hỗ trợ multi-revisions lên đến 1000 revisions/service).
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create a new revision with the new version of the application. Split traffic between this version and the version that is currently running.
Lý do 🛠️:
- Đây là cách chuẩn và đơn giản nhất cho canary deployment trên Cloud Run for Anthos. Khi deploy phiên bản mới, Cloud Run tự động tạo revision mới (không thay thế revision cũ). Sau đó, bạn split traffic giữa các revisions của cùng service (ví dụ:
gcloud run services update-traffic SERVICE --to-revisions REVISION_OLD=90,REVISION_NEW=10). - Ưu điểm: Không downtime, tự động rollback nếu lỗi, tích hợp sẵn (không cần tool ngoài). Phù hợp 100% với yêu cầu "specific percentage of production users".
📋 Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể dựa trên best practices Cloud Run (2026):
-
❌ Create a new service with the new version of the application. Split traffic between this version and the version that is currently running.
Sai vì: Tạo service mới không phải cách khuyến nghị cho canary. Mỗi service là entity độc lập, split traffic giữa hai service khác nhau yêu cầu Load Balancer ngoài (như Google Cloud Load Balancer), phức tạp hóa quản lý (DNS, scaling riêng biệt). Cloud Run ưu tiên revisions trong cùng service để đơn giản và tự động. -
✅ Create a new revision with the new version of the application. Split traffic between this version and the version that is currently running.
Đúng vì: Như đã giải thích ở phần đáp án. Đây là traffic splitting native của Cloud Run: Deploy revision mới → Split % traffic trực tiếp giữa revisions cũ/mới trong cùng service. Hỗ trợ canary/blue-green/gradual rollout hoàn hảo, không cần config thêm. -
❌ Create a new service with the new version of the application. Add an HTTP Load Balancer in front of both services.
Sai vì: Tạo service mới + thêm HTTP Load Balancer (như Global External HTTP(S) LB) là cách overkill và không hiệu quả. LB chỉ cần khi multi-service phức tạp (multi-cluster/region), nhưng tăng chi phí, latency, và quản lý (session affinity, health checks). Cloud Run đã có built-in routing, không khuyến khích cho canary đơn giản. -
❌ Create a new revision with the new version of the application. Add an HTTP Load Balancer in front of both revisions.
Sai vì: Revisions thuộc cùng service, không thể đặt LB "in front of both revisions" trực tiếp (LB route đến service, không phải revision). Thêm LB làm phức tạp không cần thiết, vì Cloud Run tự handle splitting nội bộ. Chỉ dùng LB nếu cần advanced routing (WAF, CDN), không phải canary cơ bản.
Kết luận 🎯: Sử dụng revisions và traffic splitting là best practice cho Cloud Run for Anthos, giúp deploy an toàn, tiết kiệm chi phí. Thực hành qua Google Cloud Console hoặc gcloud CLI để test! 🚀
- A Configure an SSL Proxy load balancer in front of the application servers.
- B Configure an Internal UDP load balancer in front of the application servers.
- C Configure an External HTTP(s) load balancer in front of the application servers.
- D Configure an External Network load balancer in front of the application servers.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả một tình huống thực tế trong Google Cloud Platform (GCP):
Công ty phát triển một trò chơi di động được triển khai trên GCP. Người chơi kết nối qua điện thoại cá nhân qua Internet (tức là lưu lượng từ public Internet). Trò chơi gửi gói tin UDP để cập nhật hành động của người chơi trong chế độ multiplayer (đa người chơi). Backend game có thể scale trên nhiều máy ảo (VMs) – tức là các instance Compute Engine. Yêu cầu là expose các VMs này qua một địa chỉ IP duy nhất (single IP address) để dễ quản lý và scale.
Mục tiêu chính: Cần một giải pháp Load Balancer (LB) hỗ trợ UDP protocol từ Internet, Layer 4 (Network layer), external/public-facing, và phân phối traffic đến nhiều VMs sau một IP public duy nhất.
📘 Lưu ý kiến thức cập nhật (tính đến 2026): GCP hỗ trợ các loại Load Balancer theo phiên bản mới nhất (Network Load Balancing v2 với bất kỳ cải tiến nào từ Google Cloud Next 2025), ưu tiên External Network LB cho UDP traffic từ Internet (không phải AWS, vì câu hỏi rõ ràng là GCP).
✅ Đáp án đúng
Configure an External Network load balancer in front of the application servers.
Lý do chọn đáp án này 🛠️:
- External Network Load Balancer (Network LB) là loại LB Layer 4 của GCP, hỗ trợ TCP/UDP/ICMP từ public Internet qua một static global IP duy nhất.
- Hoàn hảo cho game multiplayer UDP (real-time, low-latency), scale tự động trên nhiều VMs (Compute Engine) trong backend.
- Không cần proxy/terminate connection ở Layer 7, giữ nguyên UDP packets nguyên vẹn.
✅ Đây là giải pháp chuẩn theo best practices GCP cho UDP gaming workloads.
📋 Giải thích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên khả năng hỗ trợ UDP từ public Internet, scale VMs qua single IP, và phù hợp với game backend.
-
❌ [SAI] Configure an SSL Proxy load balancer in front of the application servers.
Giải thích sai: SSL Proxy LB chỉ hỗ trợ TCP/SSL/TLS traffic (Layer 4 với SSL offload), KHÔNG hỗ trợ UDP. Nó dành cho HTTPS/TCP apps cần SSL termination, không phù hợp cho UDP gaming packets từ Internet. Sử dụng sẽ làm drop toàn bộ UDP traffic. -
❌ [SAI] Configure an Internal UDP load balancer in front of the application servers.
Giải thích sai: Internal UDP LB chỉ hoạt động bên trong VPC network (private IP), KHÔNG expose ra public Internet. Người chơi từ Internet không thể kết nối trực tiếp; cần thêm proxy hoặc NAT, vi phạm yêu cầu single public IP cho VMs. -
❌ [SAI] Configure an External HTTP(s) load balancer in front of the application servers.
Giải thích sai: External HTTP(S) LB là Layer 7 (Application LB), chỉ hỗ trợ HTTP/HTTPS/gRPC, KHÔNG hỗ trợ UDP. Nó terminate connection và inspect HTTP headers, gây delay cho real-time UDP game (không phải protocol gốc). -
✅ [ĐÚNG] Configure an External Network load balancer in front of the application servers.
Giải thích đúng (như phần trên): Hỗ trợ UDP từ public Internet, pass-through packets không thay đổi, single external IP, scale seamless trên nhiều VMs.
📚 Tài liệu tham khảo (GCP chính thức, cập nhật 2026)
- Network Load Balancing overview – Hướng dẫn chi tiết External Network LB cho TCP/UDP.
- Choosing a Load Balancer – Bảng so sánh các loại LB (xác nhận UDP chỉ External/Internal Network LB).
- Gaming workloads on GCP – Best practices cho multiplayer UDP games (ví dụ Agones + Network LB).
🛡️ Khuyến nghị: Test vớigcloud compute forwarding-rules createđể setup External Network LB nhanh chóng!
- A Create a Pub/Sub topic, and enable a Cloud Storage trigger for the Pub/Sub topic. Create an application that sends all medical images to the Pub/Sub topic.
- B Deploy a Dataflow job from the batch template, ג€Datastore to Cloud Storage.ג€ Schedule the batch job on the desired interval.
- C Create a script that uses the gsutil command line interface to synchronize the on-premises storage with Cloud Storage. Schedule the script as a cron job.
- D In the Cloud Console, go to Cloud Storage. Upload the relevant images to the appropriate bucket.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi mô tả tình huống một bệnh viện đang lưu trữ hình ảnh y tế (medical images) trong phòng dữ liệu tại chỗ (on-premises data room). Bệnh viện muốn chuyển sang sử dụng Google Cloud Storage để lưu trữ lâu dài (archival storage) cho các hình ảnh này. Yêu cầu chính là thiết kế và triển khai một quy trình tự động (automated process) để upload bất kỳ hình ảnh y tế mới nào lên Cloud Storage.
📌 Các yếu tố cần lưu ý:
- Dữ liệu nguồn: On-premises (không phải cloud native).
- Mục tiêu: Tự động đồng bộ hình ảnh mới (new medical images) lên bucket Cloud Storage.
- Giải pháp phải tự động hóa, không thủ công, và phù hợp với kiến trúc Google Cloud (dựa trên phiên bản cập nhật đến 2026, nơi gsutil vẫn là công cụ CLI mạnh mẽ cho sync dữ liệu on-prem).
- Không yêu cầu xử lý real-time phức tạp, chỉ cần sync định kỳ.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Create a script that uses the gsutil command line interface to synchronize the on-premises storage with Cloud Storage. Schedule the script as a cron job.
🛠️ Lý do chi tiết:
- gsutil là công cụ CLI chính thức của Google Cloud (cập nhật phiên bản mới nhất 2026 hỗ trợ rsync-like sync với tùy chọn
-mcho multi-threaded, đảm bảo hiệu suất cao cho dữ liệu lớn như hình ảnh y tế). - Lệnh
gsutil rsync(hoặccp -r) đồng bộ thư mục on-premises với bucket Cloud Storage, chỉ upload file mới hoặc thay đổi (dựa trên checksum hoặc timestamp), tránh duplicate. - Cron job trên máy on-premises (Linux/Unix scheduler) chạy script định kỳ (ví dụ: hàng giờ/ngày), tạo quy trình tự động hoàn toàn.
- Giải pháp đơn giản, chi phí thấp, không cần serverless phức tạp, phù hợp Associate Cloud Engineer level. Hoạt động ổn định với archival class (Nearline/Coldline).
📘 Tài liệu tham khảo:
- gsutil rsync documentation (Google Cloud Docs 2026).
- Cron job best practices (tích hợp với Compute Engine nếu cần scale).
📋 Phân tích tất cả các phương án (đúng/sai)
Dưới đây là phân tích từng lựa chọn một cách chi tiết, giữ nguyên nội dung gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên tính tự động, phù hợp dữ liệu on-premises, và hiệu quả thực tế theo Google Cloud best practices 2026.
-
Create a Pub/Sub topic, and enable a Cloud Storage trigger for the Pub/Sub topic. Create an application that sends all medical images to the Pub/Sub topic.
❌ Sai vì: Pub/Sub là messaging service cho event-driven, nhưng "Cloud Storage trigger" không tồn tại (Eventarc/Cloud Functions trigger từ Storage ra, không phải ngược lại). Gửi images qua Pub/Sub không hiệu quả cho file lớn (medical images có thể GBs), gây overhead và không sync tự động on-premises. Phải custom app monitor folder – phức tạp thừa. -
Deploy a Dataflow job from the batch template, „Datastore to Cloud Storage‟. Schedule the batch job on the desired interval.
❌ Sai vì: Template "Datastore to Cloud Storage" chỉ dành cho dữ liệu từ Cloud Datastore/Firestore (cloud-native NoSQL), không hỗ trợ on-premises storage. Dataflow (Apache Beam) mạnh cho ETL lớn nhưng overkill cho simple sync, yêu cầu dữ liệu đã ở GCP. Không tự động detect "new images" từ on-prem. -
Create a script that uses the gsutil command line interface to synchronize the on-premises storage with Cloud Storage. Schedule the script as a cron job.
✅ Đúng vì: Như giải thích trên – gsutil rsync + cron là giải pháp chuẩn, tự động, idempotent (chỉ upload delta). Hỗ trợ authentication qua service account keys, resume nếu gián đoạn (rất phù hợp medical data lớn). -
In the Cloud Console, go to Cloud Storage. Upload the relevant images to the appropriate bucket.
❌ Sai vì: Đây là phương pháp thủ công (manual upload via web UI), không tự động chút nào. Không scale cho "any new medical images", phải lặp lại mỗi lần – vi phạm yêu cầu cốt lõi của câu hỏi. Console chỉ phù hợp test nhỏ.
🧠 Kết luận: Giải pháp đúng tận dụng hybrid cloud pattern (on-prem ↔ GCP), đảm bảo compliance cho dữ liệu y tế (HIPAA-eligible với Cloud Storage). Nếu scale lớn hơn, có thể nâng cấp sang Transfer Service for On-Premises hoặc Storage Transfer Service (pos-copy).
- A Turn on Data Access Logs for the buckets they want to audit, and then build a query in the log viewer that filters on Cloud Storage.
- B Assign the appropriate permissions, and then create a Data Studio report on Admin Activity Audit Logs.
- C Assign the appropriate permissions, and then use Cloud Monitoring to review metrics.
- D Use the export logs API to provide the Admin Activity Audit Logs in the format they want.
Xem giải thích
🧩 Phân tích nội dung câu hỏi
Câu hỏi tập trung vào việc hỗ trợ kiểm toán viên (auditor) xem xét việc sử dụng dữ liệu trong Google Cloud, đặc biệt là ai đã truy cập dữ liệu trong các Cloud Storage buckets.
- Bối cảnh: Auditor cần dữ liệu audit chi tiết về truy cập dữ liệu (data access), không chỉ hoạt động admin.
- Yêu cầu: Bạn phải giúp auditor truy cập dữ liệu cần thiết một cách hiệu quả.
- Thách thức chính: Data Access Logs không được bật mặc định (vì tạo ra lượng log lớn và tốn kém), nên cần kích hoạt trước khi audit.
- Mục tiêu: Sử dụng công cụ logging phù hợp để query và xem logs về truy cập bucket.
(Kiến thức dựa trên Google Cloud Logging cập nhật đến 2026: Audit logs bao gồm Admin Activity, Data Access, Policy Denied – theo docs chính thức). 📘
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Turn on Data Access Logs for the buckets they want to audit, and then build a query in the log viewer that filters on Cloud Storage.
Lý do:
- Để audit ai truy cập dữ liệu trong Cloud Storage buckets, cần bật Data Access Logs cụ thể cho các bucket đó (qua IAM hoặc gcloud CLI). Logs này ghi chi tiết các hành động như GET, PUT, LIST objects.
- Sau khi bật, sử dụng Logs Explorer (log viewer) để xây dựng query lọc theo
resource.type="gcs_bucket"hoặcprotoPayload.methodNameliên quan đến Cloud Storage. - Đây là cách chính xác và trực tiếp nhất, phù hợp với yêu cầu audit data access. Không bật logs trước thì không có dữ liệu lịch sử! 🛠️
(Nguồn: Google Cloud Audit Logs Docs, Cloud Storage Audit Logs).
🔍 Giải thích tất cả các phương án
Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai với lý do cụ thể:
-
Turn on Data Access Logs for the buckets they want to audit, and then build a query in the log viewer that filters on Cloud Storage.
✅ Đúng – Như đã giải thích ở trên, đây là quy trình chuẩn: Bật Data Access Logs (admin hoặc data_read/write), sau đó query trong Logs Explorer để xem chi tiết truy cập bucket. Hoàn hảo cho auditor! 🏆 -
Assign the appropriate permissions, and then create a Data Studio report on Admin Activity Audit Logs.
❌ Sai – Admin Activity Audit Logs chỉ ghi hoạt động quản trị (như tạo/delete bucket), không ghi data access (ai đọc/ghi object). Data Studio (nay là Looker Studio) chỉ visualize logs đã có, nhưng logs sai loại nên vô dụng. Permissions chỉ cho phép xem, không tạo logs! 🚫
(Nguồn: Audit Log Types). -
Assign the appropriate permissions, and then use Cloud Monitoring to review metrics.
❌ Sai – Cloud Monitoring (nay Operations Suite) dùng cho metrics (số lượng request, bytes), không chi tiết ai truy cập (không có user ID, IP). Chỉ permissions không đủ, metrics không thay thế logs audit. Không phù hợp audit cá nhân hóa! 📊❌
(Nguồn: Cloud Monitoring vs Logging). -
Use the export logs API to provide the Admin Activity Audit Logs in the format they want.
❌ Sai – Export Logs API (qua Cloud Logging API) chỉ export Admin Activity Logs, không phải Data Access Logs cần cho truy cập dữ liệu. Auditor cần data access, không phải admin activity. API chỉ định dạng, không giải quyết vấn đề logs sai! 🔌❌
(Nguồn: Exporting Logs).
💡 Lời khuyên thực hành
- Bước thực hiện đáp án đúng:
gcloud logging settings buckets update --location=global --data-access-onhoặc qua Console > Logging > Audit Logs. Sau đó query:resource.type="gcs_bucket" AND jsonPayload.protoPayload.methodName=~"^storage.*". - Chi phí: Data Access Logs tốn kém, chỉ bật cho bucket cần audit và export ra BigQuery nếu volume lớn.
Hy vọng phân tích này giúp bạn ôn thi Associate Cloud Engineer hiệu quả! 🚀 (Cập nhật dựa trên Google Cloud docs 2026).
- A Use the command gcloud auth login and point it to the private key.
- B Use the command gcloud auth activate-service-account and point it to the private key.
- C Place the private key file in the installation directory of the Cloud SDK and rename it to ג€credentials.jsonג€.
- D Place the private key file in your home directory and rename it to ג€GOOGLE_APPLICATION_CREDENTIALSג€.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề xác thực và ủy quyền (Authentication & Authorization) trong Google Cloud Platform (GCP), cụ thể là cách sử dụng Service Account key (một file JSON chứa private key) để truy cập tài nguyên trong một dự án GCP qua lệnh gcloud của Cloud SDK.
- Bối cảnh: Bạn đã nhận file JSON chứa private key của Service Account (không phải tài khoản người dùng cá nhân). Bạn đã cài đặt Cloud SDK và muốn kích hoạt key này để chạy các lệnh gcloud (như gcloud compute instances list) mà không cần đăng nhập thủ công.
- Mục tiêu: Tìm lệnh đúng để activate Service Account, cho phép gcloud sử dụng credentials từ file JSON đó trong các session hiện tại.
- Lưu ý quan trọng: Service Account dùng cho ứng dụng/máy chủ, khác với tài khoản người dùng. Không nên nhầm lẫn với biến môi trường hay đặt file thủ công. Kiến thức dựa trên phiên bản Cloud SDK mới nhất (tính đến 2026, gcloud version 4xx+), không thay đổi cơ bản từ các phiên bản trước.
📘 Tài liệu tham khảo:
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Use the command gcloud auth activate-service-account and point it to the private key.
Lý do 🛠️:
- Lệnh
gcloud auth activate-service-account --key-file=PATH_TO_KEY.jsonlà cách chuẩn và an toàn nhất để kích hoạt Service Account key. Nó lưu credentials vào cấu hình gcloud (thường tại~/.config/gcloud/), cho phép tất cả lệnh gcloud sau đó sử dụng quyền của Service Account mà không cần chỉ định key mỗi lần. - "Point it to the private key" nghĩa là dùng flag
--key-filetrỏ đến file JSON. Sau khi chạy, gcloud sẽ dùng Service Account làm default cho project tương ứng. - Ưu điểm: Tạm thời (per session), dễ revoke, phù hợp cho CI/CD hoặc máy local.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ Phương án SAI: Use the command gcloud auth login and point it to the private key.
Giải thích: Lệnhgcloud auth logindành duy nhất cho tài khoản người dùng cá nhân (user account), mở browser để OAuth flow. Không hỗ trợ "point to private key" của Service Account (sẽ báo lỗi "Invalid choice"). Service Account không dùng login như user, nên sai hoàn toàn. -
✅ Phương án ĐÚNG: Use the command gcloud auth activate-service-account and point it to the private key.
Giải thích: Như đã nêu ở phần đáp án đúng. Đây là lệnh chính thức từ Google, hoạt động ngay với file JSON key (ví dụ:gcloud auth activate-service-account my-sa@project.iam.gserviceaccount.com --key-file=sa-key.json). Sau đó, kiểm tra bằnggcloud auth listsẽ thấy active. -
❌ Phương án SAI: Place the private key file in the installation directory of the Cloud SDK and rename it to “credentials.json”.
Giải thích: Cloud SDK không tự động đọc file ở thư mục cài đặt (thường/usr/local/google-cloud-sdk/). Đặt filecredentials.jsonở đây vô hiệu, có thể gây conflict với các cài đặt khác. Không phải cách chính thức, dễ lỗi bảo mật (ai cũng đọc được). -
❌ Phương án SAI: Place the private key file in your home directory and rename it to “GOOGLE_APPLICATION_CREDENTIALS”.
Giải thích:GOOGLE_APPLICATION_CREDENTIALSlà biến môi trường (export GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json), dùng cho Client Libraries (Python/Java SDK), KHÔNG cho gcloud CLI. Đặt file tên biến này ở home (~/) sẽ không hoạt động với gcloud (gcloud dùng cấu hình riêng). Sai vì nhầm lẫn giữa gcloud auth và application default credentials (ADC).
🛡️ Lời khuyên thực hành
- Best practice: Tải key từ IAM > Service Accounts > Keys > Add Key > JSON. Chạy lệnh activate, sau dùng
gcloud config set project PROJECT_ID. - Bảo mật: Xóa key sau khi dùng (
gcloud auth revoke), ưu tiên Workload Identity thay key file (từ 2023+ khuyến nghị). - Test nhanh:
gcloud projects listsau activate để verify! 🚀
What should you do?
- A Set up an export job for the first of the month. Write the export file to an Archive class Cloud Storage bucket.
- B Save the automatic first-of-the-month backup for three years. Store the backup file in an Archive class Cloud Storage bucket.
- C Set up an on-demand backup for the first of the month. Write the backup to an Archive class Cloud Storage bucket.
- D Convert the automatic first-of-the-month backup to an export file. Write the export file to a Coldline class Cloud Storage bucket.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi tập trung vào Cloud SQL for MySQL trên Google Cloud Platform (GCP). Bạn đang làm việc với cơ sở dữ liệu Cloud SQL MySQL và cần giữ một bản sao month-end (cuối tháng) trong 3 năm để phục vụ mục đích audit (kiểm toán).
📌 Yêu cầu chính:
- Bản sao phải là month-end copy (ví dụ: ngày đầu tháng sau để đại diện cho cuối tháng trước).
- Lưu trữ dài hạn 3 năm, đòi hỏi giải pháp rẻ tiền, bền vững vì audit thường không cần truy cập thường xuyên.
- Cloud SQL hỗ trợ automated backups (tự động, retention tối đa 365 ngày), on-demand backups (thủ công), và export jobs (xuất dữ liệu ra file SQL dump hoặc CSV vào Cloud Storage).
- Storage classes trong Cloud Storage: Archive class lý tưởng cho lưu trữ >3 năm (chi phí thấp nhất, retrieval chậm).
🛠️ Thách thức: Backups của Cloud SQL được Google quản lý (không export trực tiếp vào bucket của bạn), retention giới hạn 365 ngày. Để lưu 3 năm, phải export ra Cloud Storage bucket với class Archive (minimum storage duration 365 ngày, phù hợp dài hạn).
📘 Tài liệu tham khảo (cập nhật đến 2026):
- Cloud SQL Backups – Retention max 365 days.
- Exporting Data – Export to Cloud Storage.
- Cloud Storage Classes – Archive: ~$0.0012/GB/tháng.
✅ Đáp án đúng và lý do lựa chọn
Đáp án đúng: Set up an export job for the first of the month. Write the export file to an Archive class Cloud Storage bucket.
Lý do 🏆:
- Export job tự động hóa việc xuất SQL dump đầy đủ (bao gồm schema + data) vào Cloud Storage bucket định kỳ (ngày 1 hàng tháng đại diện month-end).
- Archive class hoàn hảo cho 3 năm lưu trữ: Chi phí siêu rẻ (~1/10 so với Standard), chịu lỗi cao, phù hợp audit (ít truy cập).
- Không phụ thuộc retention backup Cloud SQL, tránh giới hạn 365 ngày. Dễ script qua Cloud Scheduler + Cloud Functions.
🔍 Giải thích tất cả các phương án (đúng/sai)
-
✅ Set up an export job for the first of the month. Write the export file to an Archive class Cloud Storage bucket.
(Đúng - Như đã giải thích ở trên: Export linh hoạt, tự động, lưu trữ dài hạn tối ưu 🏅). -
❌ Save the automatic first-of-the-month backup for three years. Store the backup file in an Archive class Cloud Storage bucket.
(Sai: Automated backups của Cloud SQL được Google quản lý nội bộ, retention tối đa chỉ 365 ngày – không thể giữ 3 năm. Không export trực tiếp vào bucket người dùng, chỉ point-in-time recovery nội bộ. Archive bucket không áp dụng được ❌). -
❌ Set up an on-demand backup for the first of the month. Write the backup to an Archive class Cloud Storage bucket.
(Sai: On-demand backups tương tự automated, vẫn managed bởi Google, retention 365 ngày max. Không hỗ trợ viết trực tiếp vào bucket – phải export riêng. Thủ công "first of the month" không tự động hóa tốt 🕒). -
❌ Convert the automatic first-of-the-month backup to an export file. Write the export file to a Coldline class Cloud Storage bucket.
(Sai kép: Không có tính năng convert backup thành export trực tiếp trong Cloud SQL. Coldline class kém hơn Archive cho 3 năm (chi phí cao hơn ~2-3x, minimum duration ngắn hơn). Export phải chạy riêng, không dựa backup tự động 🚫).
- A In the Log Viewer, filter the logs on severity 'Error' and the name of the Service Account.
- B Create a sink to BigQuery to export all the logs. Create a Data Studio dashboard on the exported logs.
- C Create a custom log-based metric for the specific error to be used in an Alerting Policy.
- D Grant Project Owner access to the Service Account.
Xem giải thích
🧩 Phân tích chi tiết nội dung câu hỏi
Câu hỏi này thuộc chủ đề Cloud Monitoring và Cloud Logging trên Google Cloud Platform (GCP) (không phải AWS như mô tả ban đầu, vì các khái niệm như Service Account, Log Viewer, BigQuery, Alerting Policy là đặc trưng của GCP). Tình huống: Bạn đang giám sát một ứng dụng và nhận phản hồi từ người dùng rằng một lỗi cụ thể đang tăng đột biến (spiking). Nguyên nhân là Service Account thiếu quyền hạn (insufficient permissions). Bạn đã khắc phục vấn đề, nhưng muốn nhận thông báo tự động nếu lỗi này tái diễn.
Mục tiêu chính: Thiết lập cơ chế giám sát chủ động (proactive alerting) dựa trên log lỗi cụ thể, thay vì chỉ xem thủ công hoặc cấp quyền thừa. Đây là kỹ năng cốt lõi của Associate Cloud Engineer, tập trung vào việc sử dụng Cloud Logging và Cloud Monitoring để tạo metric tùy chỉnh và alerting policy (cập nhật đến 2026: Cloud Monitoring hỗ trợ log-based metrics với tích hợp AI-powered insights trong Operations Suite).
📘 Tài liệu tham khảo:
- Cloud Logging Metrics (GCP Docs, phiên bản mới nhất 2026).
- Alerting Policies in Cloud Monitoring (hỗ trợ notification qua email/SMS/Pub/Sub).
- Google Cloud Associate Cloud Engineer Exam Guide – Objective 5: Monitoring.
✅ Đáp án đúng: Create a custom log-based metric for the specific error to be used in an Alerting Policy.
Lý do lựa chọn 🛠️:
- Phương án này chính xác và hiệu quả nhất vì nó tạo log-based metric tùy chỉnh từ log lỗi cụ thể (ví dụ: filter theo severity 'Error' và Service Account name), sau đó liên kết metric này vào Alerting Policy trong Cloud Monitoring.
- Khi lỗi tái diễn (spike), metric sẽ tăng → alerting policy tự động kích hoạt notification (email, Slack, PagerDuty, v.v.), giúp phát hiện sớm mà không cần kiểm tra thủ công.
- Tuân thủ nguyên tắc least privilege (không cấp quyền thừa), và scalable cho production (hỗ trợ up to 10k metrics/project đến 2026).
- Đây là best practice của GCP cho error monitoring.
📋 Giải thích tất cả các phương án (đúng/sai)
-
❌ In the Log Viewer, filter the logs on severity 'Error' and the name of the Service Account.
Phân tích sai 🚫: Phương án này chỉ cho phép xem log thủ công trong Log Viewer (Cloud Logging UI), không tự động notify khi lỗi recur. Bạn phải kiểm tra định kỳ → không proactive, không giải quyết yêu cầu "want to be notified". Phù hợp troubleshoot ban đầu, nhưng không phải giải pháp dài hạn. -
❌ Create a sink to BigQuery to export all the logs. Create a Data Studio dashboard on the exported logs.
Phân tích sai 🚫: Xuất tất cả logs sang BigQuery qua sink rồi tạo dashboard (nay là Looker Studio) chỉ dùng cho phân tích dữ liệu lịch sử hoặc visualization, không có alerting tự động. Quá tốn kém (export all logs → chi phí storage/query cao), và không target "specific error". Không đáp ứng notify real-time. -
✅ Create a custom log-based metric for the specific error to be used in an Alerting Policy.
Phân tích đúng 🎯: Như đã giải thích ở trên. Log-based metric (counter/distribution) filter chính xác lỗi (JSON payload với Service Account + error message), threshold-based alerting (ví dụ: >5 errors/5min) → notify ngay lập tức. Hỗ trợ MQL (Monitoring Query Language) nâng cao từ 2023-2026. -
❌ Grant Project Owner access to the Service Account.
Phân tích sai ⚠️: Cấp Project Owner (IAM role cao nhất) vi phạm principle of least privilege (quá rộng, rủi ro security cao: Service Account có thể xóa project). Không giải quyết monitoring/alerting, chỉ fix tạm thời permissions → không prevent recurrence detection.
Kết luận 🌟: Chọn C để đảm bảo tự động hóa alerting an toàn, tiết kiệm. Áp dụng ngay trong GCP Console: Logging > Log-based metrics > Create metric > Link to Alerting!