Ngân hàng đề — Google Cloud Associate Cloud Engineer

Tìm thấy 449 câu.

Câu 131
You want to select and configure a cost-effective solution for relational data on Google Cloud Platform. You are working with a small set of operational data in one geographic location. You need to support point-in-time recovery. What should you do?
  1. A Select Cloud SQL (MySQL). Verify that the enable binary logging option is selected.
  2. B Select Cloud SQL (MySQL). Select the create failover replicas option.
  3. C Select Cloud Spanner. Set up your instance with 2 nodes.
  4. D Select Cloud Spanner. Set up your instance as multi-regional.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm

📖 Nội dung câu hỏi:
Câu hỏi yêu cầu chọn và cấu hình một giải pháp tiết kiệm chi phí cho dữ liệu quan hệ (relational data) trên Google Cloud Platform (GCP). Dữ liệu là một tập nhỏ dữ liệu hoạt động (small set of operational data), chỉ ở một vị trí địa lý duy nhất (one geographic location), và cần hỗ trợ point-in-time recovery (PITR) – tức là khả năng khôi phục dữ liệu đến một thời điểm cụ thể trong quá khứ.
🛠️ Yêu cầu chính: Giải pháp phải rẻ tiền, phù hợp quy mô nhỏ, không cần phân tán toàn cầu, và hỗ trợ PITR (thường qua binary logging + automated backups).

✅ Đáp án đúng:
Select Cloud SQL (MySQL). Verify that the enable binary logging option is selected.
Lý do chọn: Cloud SQL (MySQL) là dịch vụ managed relational database tiết kiệm chi phí nhất cho workload nhỏ, single-region. Khi bật binary logging, kết hợp với automated backups, nó hỗ trợ PITR đầy đủ – cho phép khôi phục đến bất kỳ thời điểm nào trong 7 ngày gần nhất (có thể mở rộng). Điều này phù hợp hoàn hảo với yêu cầu: rẻ, đơn giản, one location, và PITR. Không cần HA phức tạp hay phân tán.

🔍 Giải thích tất cả các phương án (đúng/sai)

  • ✅ [ĐÚNG] Select Cloud SQL (MySQL). Verify that the enable binary logging option is selected.
    Phương án này đúng vì Cloud SQL MySQL với binary logging enabled là cách cost-effective nhất cho relational data nhỏ ở single-region. Binary logging ghi lại mọi thay đổi giao dịch, kết hợp backups tự động để hỗ trợ PITR chính xác. Phù hợp quy mô nhỏ, không tốn kém như Spanner.

  • ❌ [SAI] Select Cloud SQL (MySQL). Select the create failover replicas option.
    Phương án sai vì failover replicas chỉ dùng cho high availability (HA) và disaster recovery qua read replicas có thể promote thành primary. Nó không hỗ trợ PITR trực tiếp (cần binary logging riêng). Thêm replicas làm tăng chi phí không cần thiết cho workload nhỏ single-region.

  • ❌ [SAI] Select Cloud Spanner. Set up your instance with 2 nodes.
    Phương án sai vì Cloud Spanner là database globally distributed, scalable với chi phí cao (dựa trên nodes, minimum 1 node nhưng 2 nodes ~$1,500/tháng). Không cost-effective cho dữ liệu nhỏ one location; Spanner hỗ trợ PITR nhưng overkill và đắt đỏ hơn Cloud SQL nhiều lần.

  • ❌ [SAI] Select Cloud Spanner. Set up your instance as multi-regional.
    Phương án sai vì cấu hình multi-regional làm Spanner phân tán dữ liệu qua nhiều vùng, tăng chi phí gấp bội (cao nhất trong các lựa chọn). Hoàn toàn không cần cho single geographic location, dù hỗ trợ PITR nhưng vi phạm yêu cầu cost-effective.

📘 Tài liệu tham khảo (cập nhật đến 2026)

  • Cloud SQL PITR: Google Cloud Docs - Point-in-time recovery for Cloud SQL – Xác nhận binary logging bắt buộc cho PITR.
  • So sánh Cloud SQL vs Spanner: Google Cloud Docs - Choose the right database – Cloud SQL rẻ hơn cho small/medium workload single-region.
  • Pricing (2026): Cloud SQL MySQL ~$0.01-0.02/GB/tháng + compute; Spanner minimum ~$0.90/node/giờ (regional).
    (Dữ liệu dựa trên GCP pricing calculator và docs chính thức mới nhất, không thay đổi cơ bản đến 2026).
Câu 132
You want to configure autohealing for network load balancing for a group of Compute Engine instances that run in multiple zones, using the fewest possible steps.
You need to configure re-creation of VMs if they are unresponsive after 3 attempts of 10 seconds each. What should you do?
  1. A Create an HTTP load balancer with a backend configuration that references an existing instance group. Set the health check to healthy (HTTP)
  2. B Create an HTTP load balancer with a backend configuration that references an existing instance group. Define a balancing mode and set the maximum RPS to 10.
  3. C Create a managed instance group. Set the Autohealing health check to healthy (HTTP)
  4. D Create a managed instance group. Verify that the autoscaling setting is on.
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 việc cấu hình autohealing (tự động phục hồi) cho network load balancing (cân bằng tải mạng - NLB) trên một nhóm Compute Engine instances chạy ở nhiều zone (multi-zone), với yêu cầu sử dụng ít bước nhất có thể. Cụ thể:

  • Autohealing nghĩa là tự động tạo lại (re-create) các VM nếu chúng không phản hồi (unresponsive) sau 3 lần thử (attempts), mỗi lần 10 giây.
  • Network Load Balancer (NLB) trong Google Cloud là loại L4 load balancer (TCP/UDP), yêu cầu instance group để quản lý backend.
  • Để đạt autohealing hiệu quả với ít bước, cần sử dụng Managed Instance Group (MIG) vì MIG hỗ trợ tự động heal dựa trên health check.
  • Yêu cầu multi-zone → phù hợp với regional MIG (tự động replicate instances qua zones).
  • Kiến thức cập nhật đến 2026: Theo GCP docs mới nhất (2024-2026), MIG hỗ trợ autohealing qua health check policy với các thông số như timeout (10s), failure threshold (3), healthy threshold (2 mặc định), và protocol HTTP cho web apps.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Create a managed instance group. Set the Autohealing health check to healthy (HTTP)

Lý do:

  • 🛠️ Managed Instance Group (MIG) là lựa chọn tối ưu với ít bước nhất: Tạo MIG regional (multi-zone), attach NLB backend, và config autohealing health check với HTTP protocol (phù hợp web servers).
  • Autohealing policy cho phép set timeout 10s, failure threshold 3 (VM unhealthy nếu fail 3 lần), tự động recreate VM.
  • Không cần unmanaged IG hay LB riêng lẻ, MIG tích hợp sẵn NLB forwarding rules.
  • Đơn giản: gcloud hoặc Console → Create MIG → Edit autohealing HC → HTTP path (e.g., /healthz).

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ [SAI] Create an HTTP load balancer with a backend configuration that references an existing instance group. Set the health check to healthy (HTTP)
    Phương án này sai vì sử dụng HTTP Load Balancer (L7) thay vì Network Load Balancer (L4) như yêu cầu. Ngoài ra, "existing instance group" thường ám chỉ unmanaged IG, không hỗ trợ autohealing tự động recreate VM. Health check chỉ mark unhealthy, không heal.

  • ❌ [SAI] Create an HTTP load balancer with a backend configuration that references an existing instance group. Define a balancing mode and set the maximum RPS to 10.
    Sai hoàn toàn: Lại dùng HTTP LB (L7) không phải NLB. Balancing mode max RPS 10 chỉ giới hạn requests/giây cho rate-limiting, không liên quan autohealing hay 3 attempts 10s. Không recreate VM.

  • ✅ [ĐÚNG] Create a managed instance group. Set the Autohealing health check to healthy (HTTP)
    Đúng như giải thích trên: MIG hỗ trợ autohealing tích hợp, config health check HTTP với timeout/failure threshold khớp yêu cầu (10s x 3). Ít bước: Tạo MIG → NLB attach → Set autoheal policy.

  • ❌ [SAI] Create a managed instance group. Verify that the autoscaling setting is on.
    Sai vì autoscaling (tăng/giảm instances dựa CPU/load) khác autohealing (recreate unhealthy VM). Autoscaling không đảm bảo heal sau 3 attempts 10s; cần config riêng health check policy trong MIG.

📘 Tài liệu tham khảo (cập nhật 2026)

  • GCP Docs - MIG Autohealing: About managed instance groups (health check config: timeout, thresholds).
  • NLB with MIG: Network load balancing overview (backend MIG required).
  • Console/gcloud examples: gcloud compute instance-groups managed set-named-ports + update-autoscaler (autohealing policy).
  • Best practices 2025+: Sử dụng HTTP(S) HC cho web, regional MIG cho HA multi-zone.
Câu 133
You are using multiple configurations for gcloud. You want to review the configured Kubernetes Engine cluster of an inactive configuration using the fewest possible steps. What should you do?
  1. A Use gcloud config configurations describe to review the output.
  2. B Use gcloud config configurations activate and gcloud config list to review the output.
  3. C Use kubectl config get-contexts to review the output.
  4. D Use kubectl config use-context and kubectl config view to review the output.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi

📘 Nội dung câu hỏi:
Câu hỏi xoay quanh việc sử dụng gcloud CLI (Google Cloud CLI) với nhiều configurations (cấu hình), chẳng hạn như các profile khác nhau cho project, zone/region, cluster, v.v. Bạn cần xem xét (review) cluster Kubernetes Engine (GKE) được cấu hình trong một inactive configuration (cấu hình không hoạt động hiện tại), và phải thực hiện với số bước ít nhất có thể (fewest possible steps).

🔍 Ý nghĩa chính:

  • gcloud configurations: Là các bộ thuộc tính CLI riêng biệt (ví dụ: config A cho project X, config B cho project Y). Chúng lưu thông tin như project, zone, container/cluster. Inactive config nghĩa là không phải config đang active.
  • Review GKE cluster: Không chỉ xem tên cluster mà cần xem chi tiết đầy đủ như endpoint server, certificate, auth, v.v. (thường nằm trong kubeconfig ~/.kube/config), vì đây là nơi kubectl sử dụng để kết nối cluster.
  • Fewest steps: Ưu tiên lệnh ít nhất, không thay đổi vĩnh viễn config active của gcloud, và tập trung vào kubeconfig (riêng biệt với gcloud configs).
  • Bối cảnh: Khi dùng gcloud container clusters get-credentials, nó tạo/update context trong kubeconfig tương ứng với gcloud config hiện tại (tên context kiểu gke_[project]_[zone]_[cluster]). Với inactive config, context tương ứng cũng "inactive" (không current).

🛠️ Mục tiêu: Chuyển tạm thời sang context kube tương ứng (không ảnh hưởng gcloud config), rồi xem chi tiết cluster mà không cần active gcloud config đó.

✅ Đáp án đúng

Use kubectl config use-context and kubectl config view to review the output.

📝 Lý do chọn đáp án này (bằng kiến thức cập nhật đến 2026):

  • Đây là cách ít bước nhất (2 lệnh) để xem đầy đủ chi tiết cluster GKE của inactive config:
    1. kubectl config use-context [context-name] ✅ Chuyển tạm thời current context sang context tương ứng (inactive → active tạm thời, không thay đổi gcloud config).
    2. kubectl config view (hoặc --minify để gọn) ✅ Hiển thị chi tiết cluster (server URL, CA data, token/user certs) mà không cần active gcloud.
  • Ưu điểm: kubeconfig độc lập với gcloud configs (theo docs GKE 2024-2026), context name dễ map từ gcloud config (dùng gcloud config configurations describe để lấy tên cluster/project/zone nếu cần). Không thay đổi gcloud active, an toàn và nhanh.
  • Ví dụ output mẫu (view): Hiển thị sections clusters, users, contexts với chi tiết endpoint như server: https://....

📚 Tài liệu tham khảo:

❌ Giải thích tất cả các phương án

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, đánh dấu đúng/sai với lý do chi tiết bằng tiếng Việt:

  • ❌ [SAI] Use gcloud config configurations describe to review the output.
    Lệnh gcloud config configurations describe [name] chỉ hiển thị thuộc tính gcloud config (như core/project, compute/zone, container/cluster), ví dụ tên cluster. Không review đầy đủ cluster GKE (thiếu endpoint, CA certs từ kubeconfig). Không liên quan trực tiếp đến kube details, chỉ là metadata CLI. Không phải fewest cho "cluster review".

  • ❌ [SAI] Use gcloud config configurations activate and gcloud config list to review the output.
    gcloud config configurations activate [name] kích hoạt inactive config (thay đổi active config của gcloud), rồi gcloud config list hiển thị properties tương tự describe. Thay đổi trạng thái gcloud (không mong muốn), chỉ xem tên cluster chứ không chi tiết kubeconfig. 2 bước nhưng thừa và rủi ro (phải deactivate sau).

  • ❌ [SAI] Use kubectl config get-contexts to review the output.
    kubectl config get-contexts chỉ liệt kê contexts (tên context, cluster ref, namespace, current*). Xem được tên cluster nhưng không chi tiết cụ thể (không server, certs). Không target trực tiếp inactive config's cluster, phải đoán/map context, và chỉ 1 bước nhưng thiếu thông tin đầy đủ.

  • ✅ [ĐÚNG] Use kubectl config use-context and kubectl config view to review the output.
    Như đã giải thích ở trên: 2 bước tối ưu, switch tạm context kube (tương ứng inactive gcloud config) và xem full chi tiết cluster GKE từ kubeconfig. Không ảnh hưởng gcloud configs, phù hợp fewest steps cho review thực tế.

🎯 Kết luận: Cách đúng tận dụng kubeconfig (core của GKE access), tránh thay đổi gcloud state. Nếu chưa có context, dùng gcloud container clusters get-credentials --dry-run từ config đó để preview (nhưng không cần ở đây).

Câu 134
Your company uses Cloud Storage to store application backup files for disaster recovery purposes. You want to follow Google's recommended practices. Which storage option should you use?
  1. A Multi-Regional Storage
  2. B Regional Storage
  3. C Nearline Storage
  4. D Coldline Storage
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 Google Cloud Storage (GCS), nơi công ty sử dụng để lưu trữ các tệp sao lưu ứng dụng (application backup files) nhằm mục đích phục hồi thảm họa (disaster recovery). Yêu cầu chọn lớp lưu trữ (storage class) phù hợp theo thực hành khuyến nghị của Google (Google's recommended practices).

🛠️ Chi tiết ngữ cảnh:

  • Backup cho disaster recovery thường có đặc tính: truy cập thấp tần suất (infrequent access), lưu trữ dài hạn, cần độ bền cao (high durability) và chi phí tối ưu.
  • Google Cloud Storage có các lớp lưu trữ khác nhau dựa trên tần suất truy cập, độ trễ, chi phí và tính sẵn sàng: Standard (Multi-Regional/Regional), Nearline, Coldline, Archive.
  • Mục tiêu: Chọn lớp cân bằng giữa chi phí thấp cho dữ liệu ít dùng và đảm bảo khả dụng khi cần phục hồi khẩn cấp.

📘 Nguồn tham khảo:

✅ Đáp án đúng: Coldline Storage

Lý do chọn:

  • Coldline Storage được Google khuyến nghị chính thức cho backup disaster recovery vì dữ liệu này thường ít được truy cập (90+ ngày), cần chi phí lưu trữ thấp (rẻ hơn Standard/Nearline) nhưng vẫn đảm bảo độ bền 99.999999999% (11 9's) và tính sẵn sàng cao (99.9%).
  • Phù hợp với backup: Dữ liệu lưu lâu dài, chỉ dùng trong trường hợp khẩn cấp, tránh chi phí cao của lớp Standard.
  • Theo kỳ thi Associate Cloud Engineer, đây là lựa chọn chuẩn mực cho DR backups.

🔍 Giải thích tất cả các phương án (đúng/sai)

  • Multi-Regional Storage ❌ Sai:
    Đây là lớp Standard Multi-Regional, dành cho dữ liệu truy cập thường xuyên (hot data) cần độ trễ thấp và tính sẵn sàng cực cao (99.95-99.99%). Chi phí lưu trữ cao, không tối ưu cho backup DR (ít truy cập), vi phạm nguyên tắc tiết kiệm chi phí của Google.

  • Regional Storage ❌ Sai:
    Lớp Standard Regional, tương tự Multi-Regional nhưng giới hạn một vùng (region), dùng cho dữ liệu thường xuyên trong cùng khu vực. Vẫn đắt đỏ cho backup dài hạn, không theo best practices cho DR vì ưu tiên dữ liệu hoạt động hàng ngày.

  • Nearline Storage ❌ Sai:
    Dành cho dữ liệu truy cập trung bình (30+ ngày) như log hoặc media. Chi phí rẻ hơn Standard nhưng cao hơn Coldline, và phí truy xuất cao hơn nếu dùng khẩn cấp. Không phải lựa chọn tối ưu nhất cho DR backup (Google ưu tiên Coldline cho ít truy cập hơn).

  • Coldline Storage ✅ Đúng:
    Lý tưởng cho backup/archival dài hạn (90+ ngày), chi phí lưu trữ thấp nhất trong các lớp thường dùng, độ bền/ sẵn sàng cao. Google khuyến nghị trực tiếp cho disaster recovery để cân bằng chi phí và độ tin cậy.

Câu 135
Several employees at your company have been creating projects with Cloud Platform and paying for it with their personal credit cards, which the company reimburses. The company wants to centralize all these projects under a single, new billing account. What should you do?
  1. A Contact cloud-billing@google.com with your bank account details and request a corporate billing account for your company.
  2. B Create a ticket with Google Support and wait for their call to share your credit card details over the phone.
  3. C In the Google Platform Console, go to the Resource Manage and move all projects to the root Organizarion.
  4. D In the Google Cloud Platform Console, create a new billing account and set up a payment method.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi

📘 Nội dung câu hỏi:
Câu hỏi mô tả tình huống tại công ty bạn, nơi nhiều nhân viên đã tự tạo các projects trên Google Cloud Platform (GCP) và thanh toán bằng thẻ tín dụng cá nhân (sau đó được công ty hoàn tiền). Công ty muốn tập trung hóa (centralize) tất cả các projects này dưới một tài khoản thanh toán (billing account) mới duy nhất.
✅ Mục tiêu chính: Chuyển các projects từ billing cá nhân sang một billing account công ty chung, đảm bảo quản lý chi phí tập trung, tránh tình trạng phân tán và rủi ro bảo mật (như chia sẻ thông tin thẻ cá nhân).
🛠️ Bối cảnh GCP: Trong GCP, mỗi project phải liên kết với một billing account để kích hoạt dịch vụ. Billing account có thể là cá nhân hoặc doanh nghiệp (corporate). Để centralize, cần tạo billing account mới, thiết lập phương thức thanh toán công ty, rồi gán (link) các projects vào billing account đó qua Billing section trong Google Cloud Console. Không cần di chuyển projects vật lý mà chỉ thay đổi liên kết billing (disable billing cũ và enable billing mới). Quy trình này an toàn, tự phục vụ (self-service) và không yêu cầu liên hệ support trừ trường hợp phức tạp.

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: In the Google Cloud Platform Console, create a new billing account and set up a payment method.

Lý do chi tiết:
🟢 Đây là bước đầu tiên và đúng đắn nhất theo quy trình chính thức của GCP (cập nhật đến 2026). Bạn truy cập Google Cloud Console > Billing > Manage billing accounts > Create account, chọn loại Billing account (có thể là self-serve hoặc chuyển sang Cloud Billing corporate sau), thêm payment method công ty (thẻ tín dụng doanh nghiệp, chuyển khoản ngân hàng, v.v.). Sau đó, vào từng project > Billing > Link to new billing account.
✅ Điều này centralize billing mà không cần support, tuân thủ nguyên tắc least privilege và tự quản lý. Các projects sẽ tự động chuyển billing mà không gián đoạn dịch vụ (nếu enable billing mới trước khi disable cũ).
📘 Nguồn tham khảo: GCP Billing Docs: Create a billing account và Link projects to billing (phiên bản mới nhất 2026 xác nhận quy trình self-service không thay đổi).

❌ Giải thích tất cả các phương án

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á đúng/sai với lý do cụ thể dựa trên best practices GCP:

  • Contact cloud-billing@google.com with your bank account details and request a corporate billing account for your company.
    ❌ Sai hoàn toàn. Email này không tồn tại hoặc không dùng để yêu cầu billing (GCP không hỗ trợ chia sẻ bank details qua email vì rủi ro bảo mật). Quy trình corporate billing yêu cầu form riêng qua Console hoặc Sales team, không phải email cá nhân. Việc share thông tin tài chính qua email vi phạm GDPR/PCI DSS compliance. Thay vào đó, dùng self-service billing trước.

  • Create a ticket with Google Support and wait for their call to share your credit card details over the phone.
    ❌ Sai và không an toàn. GCP khuyến khích self-service cho billing cơ bản (free tier Support không hỗ trợ). Share credit card qua phone là rủi ro bảo mật cao, vi phạm chính sách GCP (họ không yêu cầu điều này). Chỉ mở ticket nếu cần enterprise support (có hợp đồng). Quy trình đúng là qua Console.

  • In the Google Platform Console, go to the Resource Manage and move all projects to the root Organizarion.
    ❌ Sai về chức năng. "Resource Manager" (nay là Resource Manager trong IAM & Admin) dùng để quản lý hierarchy (Organization > Folders > Projects), không trực tiếp centralize billing. Move projects đến root Organization chỉ giúp quản lý quyền truy cập, nhưng billing vẫn riêng lẻ (mỗi project cần link billing account thủ công). "Organizarion" là lỗi chính tả của "Organization". Để centralize billing, cần Organization-level billing (nếu có Org verified), nhưng bước đầu vẫn là tạo billing account.

  • In the Google Cloud Platform Console, create a new billing account and set up a payment method.
    ✅ Đúng. Như giải thích ở trên, đây là cách chính thức, nhanh chóng để centralize. Sau khi tạo, link projects qua Billing > Link a billing account. Hỗ trợ chuyển từ personal sang corporate sau (nâng cấp qua Console).

🛠️ Lời khuyên thực tế: Sau khi centralize, thiết lập Budgets & Alerts và Cost Management để theo dõi. Nếu công ty lớn, verify Organization qua domain để enable consolidated billing.
📘 Tài liệu bổ sung: GCP Organization Setup (2026: Tích hợp AI Cost Optimization).

Câu 136
You have an application that looks for its licensing server on the IP 10.0.3.21. You need to deploy the licensing server on Compute Engine. You do not want to change the configuration of the application and want the application to be able to reach the licensing server. What should you do?
  1. A Reserve the IP 10.0.3.21 as a static internal IP address using gcloud and assign it to the licensing server.
  2. B Reserve the IP 10.0.3.21 as a static public IP address using gcloud and assign it to the licensing server.
  3. C Use the IP 10.0.3.21 as a custom ephemeral IP address and assign it to the licensing server.
  4. D Start the licensing server with an automatic ephemeral IP address, and then promote it to a static internal IP address.
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ủ đề Google Cloud Platform (GCP) - Compute Engine, cụ thể là quản lý địa chỉ IP nội bộ (internal IP) cho máy ảo (VM).

  • Tình huống: Ứng dụng đang tìm kiếm licensing server tại địa chỉ IP cố định 10.0.3.21 (đây là địa chỉ IP private thuộc dải RFC 1918: 10.0.0.0/8, dùng cho mạng nội bộ VPC). Bạn cần triển khai licensing server trên Compute Engine mà KHÔNG thay đổi cấu hình ứng dụng, nghĩa là ứng dụng phải tiếp cận được chính xác IP này từ mạng nội bộ.
  • Yêu cầu chính: Đảm bảo IP 10.0.3.21 được gán vĩnh viễn (persistent) cho VM licensing server, tránh IP thay đổi khi restart VM hoặc bảo trì.
  • Kiến thức cốt lõi (cập nhật đến 2026): Trong GCP, IP nội bộ có thể là ephemeral (tạm thời, tự động từ pool subnet) hoặc static internal (đặt trước, persistent). Để sử dụng IP cụ thể như 10.0.3.21, phải reserve (đặt trước) nó như static internal IP trong subnet phù hợp, sau đó gán cho VM qua gcloud hoặc Console. Không dùng public IP vì 10.x là private. (Lưu ý: Không liên quan AWS như đề cập, đây thuần GCP).

📘 Tài liệu tham khảo:

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Reserve the IP 10.0.3.21 as a static internal IP address using gcloud and assign it to the licensing server.

Lý do 🛠️:

  • IP 10.0.3.21 là internal private IP, phải reserve trước như static internal IP trong subnet VPC (sử dụng lệnh gcloud compute addresses create --addresses=10.0.3.21 --region=REGION --subnet=SUBNET --network-tier=PREMIUM hoặc STANDARD).
  • Sau reserve, gán cho VM khi tạo (--network-interface=network-tier=PREMIUM,network-ip=10.0.3.21).
  • Đảm bảo persistent: IP không thay đổi dù stop/start VM, ứng dụng không cần chỉnh sửa. Đây là best practice GCP cho IP cố định nội bộ.

📋 Giải thích tất cả các phương án (đúng/sai)

  • ✅ [ĐÚNG] Reserve the IP 10.0.3.21 as a static internal IP address using gcloud and assign it to the licensing server.
    🟢 Đúng vì: Như giải thích trên, reserve static internal IP trước qua gcloud đảm bảo IP persistent, phù hợp private range 10.0.3.21, và gán trực tiếp cho VM licensing server. Ứng dụng kết nối nội bộ ổn định.

  • ❌ [SAI] Reserve the IP 10.0.3.21 as a static public IP address using gcloud and assign it to the licensing server.
    🔴 Sai vì: 10.0.3.21 là private IP (không routeable public), không thể reserve làm static public IP (public IP dùng dải như 35.x.x.x). GCP sẽ báo lỗi khi reserve public với private range. Không phù hợp kết nối nội bộ.

  • ❌ [SAI] Use the IP 10.0.3.21 as a custom ephemeral IP address and assign it to the licensing server.
    🔴 Sai vì: Custom ephemeral IP chỉ tạm thời (không persistent), sẽ mất khi VM stop/start/recreate. GCP không hỗ trợ "custom ephemeral" cho IP cụ thể ngoài pool subnet tự động. IP có thể thay đổi, ứng dụng sẽ mất kết nối.

  • ❌ [SAI] Start the licensing server with an automatic ephemeral IP address, and then promote it to a static internal IP address.
    🔴 Sai vì: Automatic ephemeral lấy ngẫu nhiên từ pool subnet (không phải 10.0.3.21 cụ thể). Sau khi start, không thể "promote" ephemeral thành static internal cho IP chính xác 10.0.3.21 trừ khi reserve trước (quy trình sai thứ tự). Promote chỉ áp dụng alias IP phụ hoặc trường hợp đặc biệt, không đảm bảo IP mong muốn và có rủi ro downtime.

🧠 Tóm tắt key takeaway: Luôn reserve static internal IP trước cho VM cần IP cố định nội bộ trên Compute Engine! 🚀

Câu 137
You are deploying an application to App Engine. You want the number of instances to scale based on request rate. You need at least 3 unoccupied instances at all times. Which scaling type should you use?
  1. A Manual Scaling with 3 instances.
  2. B Basic Scaling with min_instances set to 3.
  3. C Basic Scaling with max_instances set to 3.
  4. D Automatic Scaling with min_idle_instances set to 3.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi

✅ Nội dung câu hỏi:
Câu hỏi yêu cầu triển khai ứng dụng lên Google App Engine (một dịch vụ PaaS của Google Cloud Platform - GCP). Yêu cầu cụ thể là:

  • Số lượng instances phải scale (mở rộng/thu hẹp) dựa trên request rate (tốc độ yêu cầu từ người dùng).
  • Phải đảm bảo ít nhất 3 instances unoccupied (rảnh rỗi, không xử lý request) tại mọi thời điểm.
    🛠️ Mục tiêu chính: Chọn loại scaling phù hợp để tự động điều chỉnh instances theo tải, đồng thời giữ sẵn 3 instances idle (không bận) để xử lý đột ngột, tránh cold start (khởi động chậm).
    📘 Bối cảnh kiến thức (cập nhật đến 2026): App Engine hỗ trợ 3 loại scaling chính: Manual, Basic, và Automatic. Automatic Scaling là loại linh hoạt nhất, scale dựa trên metrics như request rate, CPU, memory,... và có tham số min_idle_instances để giữ instances rảnh rỗi.

✅ Đáp án đúng

Automatic Scaling with min_idle_instances set to 3.

Lý do lựa chọn:

  • Loại Automatic Scaling scale tự động dựa trên request rate (và các metrics khác như latency, CPU), phù hợp hoàn hảo với yêu cầu.
  • Tham số min_idle_instances = 3 đảm bảo luôn có ít nhất 3 instances unoccupied (idle) sẵn sàng, ngay cả khi traffic thấp, tránh độ trễ khởi động.
  • Đây là cấu hình chuẩn theo tài liệu GCP mới nhất (2026), giúp tối ưu chi phí và hiệu suất.

Nguồn tham khảo:

📋 Giải thích tất cả các phương án (đúng/sai)

  • ❌ [SAI] Manual Scaling with 3 instances.
    ❌ Sai vì: Manual Scaling không scale tự động dựa trên request rate; số instances cố định ở 3 (không tăng/giảm). Không đáp ứng "scale based on request rate". Instances có thể bận hết, không đảm bảo "unoccupied". Chỉ phù hợp workload ổn định.

  • ❌ [SAI] Basic Scaling with min_instances set to 3.
    ❌ Sai vì: Basic Scaling scale dựa trên traffic nhưng không có khái niệm idle instances; instances idle sẽ bị shutdown sau 15 phút không hoạt động để tiết kiệm chi phí. min_instances = 3 chỉ giữ tối thiểu 3 instances khi có traffic, nhưng không đảm bảo chúng "unoccupied" (có thể tất cả bận hoặc shutdown).

  • ❌ [SAI] Basic Scaling with max_instances set to 3.
    ❌ Sai vì: max_instances = 3 chỉ giới hạn tối đa 3 instances, không scale vô hạn theo request rate (bị cap). Không có cơ chế giữ idle instances, và vẫn shutdown idle sau thời gian nhất định. Không đáp ứng "at least 3 unoccupied".

  • ✅ [ĐÚNG] Automatic Scaling with min_idle_instances set to 3.
    ✅ Đúng vì: Hoàn hảo khớp yêu cầu – scale theo request rate (metrics mặc định), và min_idle_instances = 3 giữ chính xác 3 instances rảnh rỗi mọi lúc. Tối ưu cho ứng dụng cần responsiveness cao.

Câu 138
You have a development project with appropriate IAM roles defined. You are creating a production project and want to have the same IAM roles on the new project, using the fewest possible steps. What should you do?
  1. A Use gcloud iam roles copy and specify the production project as the destination project.
  2. B Use gcloud iam roles copy and specify your organization as the destination organization.
  3. C In the Google Cloud Platform Console, use the 'create role from role' functionality.
  4. D In the Google Cloud Platform Console, use the 'create role' functionality and select all applicable permissions.
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ủ đề Identity and Access Management (IAM) trong Google Cloud Platform (GCP), tập trung vào việc quản lý custom IAM roles giữa các project.

  • Tình huống: Bạn đang có một development project (project phát triển) đã định nghĩa sẵn các IAM roles phù hợp. Bây giờ, bạn tạo một production project mới và muốn sao chép (copy) chính xác các IAM roles đó sang project mới này, với số bước ít nhất (fewest possible steps) để tiết kiệm thời gian và tránh lỗi thủ công.
  • Mục tiêu chính: Tìm cách tự động hóa việc copy roles từ project nguồn (dev) sang project đích (prod), đảm bảo tính nhất quán và hiệu quả.
  • Lưu ý quan trọng: IAM roles có thể là custom roles (tự định nghĩa), và GCP hỗ trợ copy chúng giữa projects hoặc organizations. Phương pháp phải chính xác, sử dụng công cụ CLI hoặc Console, và ưu tiên ít bước nhất. (Kiến thức dựa trên tài liệu GCP IAM cập nhật đến năm 2026, không thay đổi cơ bản từ phiên bản hiện tại).

📘 Nguồn tham khảo chính:

✅ Đáp án đúng

Use gcloud iam roles copy and specify the production project as the destination project.

Lý do lựa chọn 🛠️:

  • Lệnh gcloud iam roles copy là cách chính thức và hiệu quả nhất để sao chép tất cả custom IAM roles từ project nguồn sang project đích chỉ trong một lệnh duy nhất.
  • Cú pháp: gcloud iam roles copy --source-project=DEV_PROJECT_ID --destination-project=PROD_PROJECT_ID.
  • Ưu điểm: Ít bước nhất (chỉ 1 lệnh CLI), tự động copy toàn bộ roles với permissions chính xác, không cần tạo thủ công. Hoàn hảo cho project-level custom roles, phù hợp với yêu cầu "fewest possible steps".
  • Đây là best practice được AWS/GCP khuyến nghị cho automation (tương tự AWS IAM policy copy nhưng GCP dùng gcloud).

📋 Giải thích tất cả các phương án (đúng/sai)

Dưới đây là phân tích từng phương án một, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phần đánh dấu ✅ (đúng) hoặc ❌ (sai), kèm giải thích chi tiết bằng tiếng Việt.

  • ✅ Use gcloud iam roles copy and specify the production project as the destination project.
    🛠️ Đúng vì: Như đã giải thích ở trên, lệnh này copy trực tiếp roles từ project dev sang project prod chỉ với 1 bước. Hỗ trợ project-level roles, nhanh chóng và chính xác 100%. Không ảnh hưởng đến organization.

  • ❌ Use gcloud iam roles copy and specify your organization as the destination organization.
    🧩 Sai vì: Lệnh gcloud iam roles copy hỗ trợ destination là organization (ví dụ: --destination-organization=ORG_ID), nhưng câu hỏi yêu cầu copy vào production project (project cụ thể), không phải toàn organization. Nếu dùng org làm destination, roles sẽ ở mức organization-level, không áp dụng trực tiếp cho project prod riêng lẻ, dẫn đến sai phạm vi và nhiều bước thêm (assign roles sau).

  • ❌ In the Google Cloud Platform Console, use the 'create role from role' functionality.
    🚫 Sai vì: GCP Console không có tính năng 'create role from role' trực tiếp (tính đến 2026). Bạn chỉ có thể create role mới thủ công bằng cách copy-paste permissions từ role cũ, mất nhiều thời gian (phải select từng permission). Không phải "fewest steps" và dễ lỗi.

  • ❌ In the Google Cloud Platform Console, use the 'create role' functionality and select all applicable permissions.
    🚫 Sai vì: Tính năng 'create role' trong Console yêu cầu chọn thủ công từng permission từ role dev (phải tra cứu trước), rất tốn công sức và không đảm bảo giống hệt 100%. Đây là cách nhiều bước nhất, không phù hợp với yêu cầu "fewest possible steps". CLI gcloud hiệu quả hơn hẳn.

🏆 Kết luận & Lời khuyên

✅ Phương án đúng duy nhất là sử dụng gcloud CLI để copy roles – nhanh, chính xác và scalable cho môi trường production. Nếu bạn đang thi chứng chỉ Associate Cloud Engineer, hãy thực hành lệnh này trên lab GCP!

📘 Tài liệu bổ sung:

Nếu cần ví dụ lệnh cụ thể hoặc lab thực hành, hãy hỏi thêm nhé! 🚀

Câu 139
You need a dynamic way of provisioning VMs on Compute Engine. The exact specifications will be in a dedicated configuration file. You want to follow Google's recommended practices. Which method should you use?
  1. A Deployment Manager
  2. B Cloud Composer
  3. C Managed Instance Group
  4. D Unmanaged Instance Group
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi yêu cầu một phương pháp động (dynamic) để cung cấp (provision) các máy ảo (VMs) trên Compute Engine (dịch vụ máy ảo của Google Cloud). Các thông số chính xác sẽ được lưu trong một file cấu hình dành riêng (dedicated configuration file). Đồng thời, cần tuân thủ các thực hành khuyến nghị của Google (Google's recommended practices).

📌 Ý nghĩa cốt lõi:

  • "Dynamic provisioning" nhấn mạnh vào việc tự động hóa và khả năng lặp lại (repeatable), không phải thủ công.
  • File cấu hình riêng biệt gợi ý sử dụng Infrastructure as Code (IaC), nơi templates định nghĩa tài nguyên một cách declarative.
  • Đây là tình huống điển hình cho việc triển khai hạ tầng lớn, có thể scale, theo best practices của GCP (không phải AWS, dù đề cập nhưng nội dung rõ ràng là Google Cloud Compute Engine).

🛠️ Bối cảnh kiến thức GCP (cập nhật đến 2026): Google khuyến nghị Deployment Manager làm công cụ IaC chính thức cho Compute Engine, hỗ trợ YAML/Jinja2 templates để provision VMs động từ file config. Đây là lựa chọn chuẩn cho Associate Cloud Engineer exam.

✅ Đáp án đúng: Deployment Manager

Lý do lựa chọn:

  • Deployment Manager là dịch vụ IaC gốc của Google Cloud, cho phép định nghĩa toàn bộ hạ tầng (bao gồm VMs trên Compute Engine) qua file cấu hình YAML hoặc Jinja2 (chính xác là "dedicated configuration file").
  • Nó hỗ trợ provisioning động (deploy/update/delete resources tự động), tích hợp autoscaling, và là recommended practice chính thức từ Google (theo docs GCP 2026).
  • Ưu điểm: Idempotent (chạy nhiều lần cho kết quả giống nhau), version control dễ dàng, phù hợp production.

📘 Giải thích tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Tôi đánh dấu ✅ cho đúng, ❌ cho sai, kèm lý do chi tiết bằng tiếng Việt dựa trên docs GCP mới nhất:

  • ✅ Deployment Manager
    Đúng vì: Đây là công cụ IaC tiêu chuẩn của GCP để provision VMs động trên Compute Engine từ file config (templates YAML/Jinja). Hỗ trợ lifecycle đầy đủ (create/update/delete), tích hợp với Cloud Build/Cloud Functions, và là Google's recommended practice cho IaC (không dùng Terraform trừ khi cần multi-cloud). Phù hợp hoàn hảo với yêu cầu "dynamic" và "configuration file".

  • ❌ Cloud Composer
    Sai vì: Cloud Composer là dịch vụ managed Apache Airflow cho orchestration workflows (lập lịch task, ETL, DAGs), không phải provision VMs. Nó dùng để điều phối jobs chứ không định nghĩa hạ tầng từ config file. Không phải recommended cho provisioning Compute Engine (dùng cho data pipelines).

  • ❌ Managed Instance Group
    Sai vì: MIG dùng để quản lý nhóm VMs tự động scale (autoscaling, templates cơ bản), nhưng config nằm trong MIG definition (UI/CLI/gcloud), không phải dedicated configuration file riêng biệt như IaC. Phù hợp scale runtime VMs đã tồn tại, không phải dynamic provisioning từ đầu theo best practices IaC.

  • ❌ Unmanaged Instance Group
    Sai vì: Unmanaged Instance Group (legacy) chỉ là nhóm VMs thủ công (không auto-healing/scale), config qua instance list, không hỗ trợ dynamic provisioning hay config file declarative. Google không khuyến nghị nữa (deprecated hướng MIG), thiếu tính năng IaC.

📚 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn ôn thi hiệu quả! 🚀 Nếu cần ví dụ template Deployment Manager, hãy hỏi thêm.

Câu 140
You have a Dockerfile that you need to deploy on Kubernetes Engine. What should you do?
  1. A Use kubectl app deploy <dockerfilename>.
  2. B Use gcloud app deploy <dockerfilename>.
  3. C Create a docker image from the Dockerfile and upload it to Container Registry. Create a Deployment YAML file to point to that image. Use kubectl to create the deployment with that file.
  4. D Create a docker image from the Dockerfile and upload it to Cloud Storage. Create a Deployment YAML file to point to that image. Use kubectl to create the deployment with that file.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi

Câu hỏi yêu cầu: "You have a Dockerfile that you need to deploy on Kubernetes Engine. What should you do?"
📖 Nội dung chính: Bạn có một file Dockerfile và cần triển khai (deploy) nó lên Google Kubernetes Engine (GKE) – dịch vụ quản lý Kubernetes trên Google Cloud Platform (GCP). Quy trình chuẩn để deploy ứng dụng container hóa lên Kubernetes bao gồm:

  • Xây dựng (build) Docker image từ Dockerfile.
  • Upload image lên một container registry để Kubernetes có thể pull (tải về) image khi tạo pod.
  • Tạo file YAML định nghĩa Deployment (hoặc các Kubernetes resource khác) để chỉ định image đó.
  • Sử dụng kubectl để apply file YAML lên cluster GKE.
    🛠️ Lưu ý quan trọng: Kubernetes Engine yêu cầu image phải lưu trữ ở registry hỗ trợ OCI (Open Container Initiative), không phải object storage thông thường. Quy trình này không thay đổi đến năm 2026 (phiên bản GKE 1.29+ vẫn giữ nguyên).

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng:
Create a docker image from the Dockerfile and upload it to Container Registry. Create a Deployment YAML file to point to that image. Use kubectl to create the deployment with that file.

Lý do chọn đáp án này 🏆:

  • Đây là quy trình chuẩn và đầy đủ để deploy Docker container lên GKE:
    1. Build image: docker build -t gcr.io/PROJECT-ID/IMAGE:TAG .
    2. Push lên Container Registry (gcr.io) hoặc Artifact Registry (mới hơn, khuyến nghị từ 2022): docker push gcr.io/PROJECT-ID/IMAGE:TAG.
    3. Tạo file deployment.yaml với spec.image trỏ đến image (ví dụ: image: gcr.io/PROJECT-ID/IMAGE:TAG).
    4. Apply: kubectl apply -f deployment.yaml.
  • Container Registry (hoặc Artifact Registry) là nơi lưu trữ image chuẩn cho GKE, hỗ trợ pull tự động.
    📘 Tài liệu tham khảo:
  • GKE Deploying container images (Google Cloud Docs, cập nhật 2025).
  • Container Registry overview (chuyển sang Artifact Registry từ 2023, nhưng vẫn tương thích).

📋 Giải thích tất cả các phương án

Dưới đây là phân tích từng lựa chọn một cách chi tiết, đánh dấu ✅ đúng hoặc ❌ sai:

  • ❌ Use kubectl app deploy <dockerfilename>.
    Phân tích sai: Lệnh kubectl app deploy không tồn tại trong kubectl (công cụ quản lý Kubernetes). kubectl chỉ hỗ trợ các lệnh như apply, create, run với file YAML hoặc trực tiếp, không deploy trực tiếp từ Dockerfile. Đây là nhầm lẫn với các công cụ khác như kubectl run (nhưng vẫn cần image sẵn). Không áp dụng cho GKE.

  • ❌ Use gcloud app deploy <dockerfilename>.
    Phân tích sai: Lệnh gcloud app deploy dành cho App Engine (dịch vụ PaaS tự động scale), không phải Kubernetes Engine. App Engine có thể deploy Docker nhưng không liên quan đến GKE/Kubernetes. Sử dụng sai dịch vụ!

  • ✅ Create a docker image from the Dockerfile and upload it to Container Registry. Create a Deployment YAML file to point to that image. Use kubectl to create the deployment with that file.
    Phân tích đúng: Như đã giải thích ở trên, đây là quy trình chính xác 100% cho GKE. Build → Push → YAML → kubectl apply. Hoàn hảo! (Đã chi tiết ở phần đáp án đúng).

  • ❌ Create a docker image from the Dockerfile and upload it to Cloud Storage. Create a Deployment YAML file to point to that image. Use kubectl to create the deployment with that file.
    Phân tích sai: Cloud Storage là object storage (như S3), không phải container registry. Kubernetes không thể pull image từ Cloud Storage (thiếu metadata OCI, không hỗ trợ docker pull). Phải dùng Container/Artifact Registry hoặc public registry như Docker Hub. Upload vào Cloud Storage sẽ fail khi pod khởi động!

🧠 Tóm tắt nhanh: Quy trình deploy GKE luôn xoay quanh build-push-apply, ưu tiên Artifact Registry cho phiên bản mới (2024-2026). Tránh nhầm lẫn với App Engine hoặc storage sai! Nếu cần thực hành, dùng gcloud container clusters get-credentials để kết nối kubectl. 🚀