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

Tìm thấy 169 câu.

Câu 51
You are deploying a new Cloud SQL instance on Google Cloud using the Cloud SQL Auth proxy. You have identified snippets of application code that need to access the new Cloud SQL instance. The snippets reside and execute on an application server running on a Compute Engine machine. You want to follow Google-recommended practices to set up Identity and Access Management (IAM) as quickly and securely as possible. What should you do?
  1. A For each application code, set up a common shared user account.
  2. B For each application code, set up a dedicated user account.
  3. C For the application server, set up a service account.
  4. D For the application server, set up a common shared user account.
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 triển khai một instance Cloud SQL mới trên Google Cloud, sử dụng Cloud SQL Auth proxy để kết nối. Ứng dụng code nằm trên một application server chạy trên Compute Engine VM, và cần truy cập vào Cloud SQL instance này.
Mục tiêu là tuân thủ Google-recommended practices để thiết lập Identity and Access Management (IAM) một cách nhanh chóng và an toàn nhất.
🛠️ Bối cảnh chính: Cloud SQL Auth proxy sử dụng IAM để xác thực (không cần IP whitelist), và trên Compute Engine, cách tốt nhất là sử dụng service account gắn vào VM để ứng dụng truy cập proxy mà không cần hardcode credentials. Điều này đảm bảo nguyên tắc least privilege và dễ quản lý.

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

Đáp án đúng: For the application server, set up a service account.
Lý do:
Theo best practices của Google Cloud (cập nhật đến 2026), khi ứng dụng chạy trên Compute Engine và sử dụng Cloud SQL Auth proxy, bạn nên tạo và gắn một service account vào instance Compute Engine. Service account này được grant role Cloud SQL Client (roles/cloudsql.client) để proxy xác thực với Cloud SQL.
📘 Lợi ích:

  • An toàn cao: Không chia sẻ credentials, tự động rotate keys.
  • Nhanh chóng: Gắn service account lúc tạo VM hoặc qua gcloud.
  • Scale tốt: Toàn bộ server dùng chung service account, không cần per-code.
    Nguồn tham khảo: Google Cloud Docs - Connect using Cloud SQL Auth proxy on Compute Engine (phiên bản mới nhất 2024-2026, không thay đổi core practice).

🧩 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 bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên best practices IAM cho Cloud SQL Auth proxy trên Compute Engine:

  • ❌ [SAI] For each application code, set up a common shared user account.
    Phương án này sai vì sử dụng common shared user account (tài khoản người dùng chia sẻ) cho từng snippet code là không an toàn. Shared credentials dễ bị lộ, vi phạm nguyên tắc least privilege, và khó audit/revoke. Google không khuyến nghị dùng user accounts cho ứng dụng tự động; ưu tiên service accounts.

  • ❌ [SAI] For each application code, set up a dedicated user account.
    Phương án này sai vì tạo dedicated user account riêng cho từng snippet code là phức tạp và không cần thiết. User accounts (database users) không phù hợp cho IAM proxy; sẽ dẫn đến overhead quản lý lớn, không scale, và vẫn kém an toàn hơn service account gắn VM.

  • ✅ [ĐÚNG] For the application server, set up a service account.
    Phương án này đúng hoàn toàn, như đã giải thích ở trên. Service account gắn vào application server (Compute Engine VM) cho phép toàn bộ ứng dụng truy cập proxy qua IAM, nhanh (1-2 lệnh gcloud), an toàn (tích hợp metadata server), và là Google-recommended chính thức.

  • ❌ [SAI] For the application server, set up a common shared user account.
    Phương án này sai vì dù áp dụng cho server nhưng vẫn dùng common shared user account, dẫn đến rủi ro bảo mật cao (chia sẻ password/API key). Google cấm khuyến khích shared users cho production; service account mới là lựa chọn chuẩn.

Tóm tắt nhanh 🎯: Luôn ưu tiên service accounts cho workload trên GCE với Cloud SQL proxy để tối ưu IAM! Nếu cần code sample: gcloud compute instances create server --service-account=your-sa@project.iam.gserviceaccount.com --scopes=cloud-platform.

Câu 52
Your organization is running a low-latency reporting application on Microsoft SQL Server. In addition to the database engine, you are using SQL Server Analysis Services (SSAS), SQL Server Reporting Services (SSRS), and SQL Server Integration Services (SSIS) in your on-premises environment. You want to migrate your Microsoft SQL Server database instances to Google Cloud. You need to ensure minimal disruption to the existing architecture during migration. What should you do?
  1. A Migrate to Cloud SQL for SQL Server.
  2. B Migrate to Cloud SQL for PostgreSQL.
  3. C Migrate to Compute Engine.
  4. D Migrate to Google Kubernetes Engine (GKE).
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ổ chức đang chạy ứng dụng báo cáo low-latency (độ trễ thấp) trên Microsoft SQL Server tại môi trường on-premises (tại chỗ). Ngoài database engine cơ bản, họ còn sử dụng thêm các dịch vụ tích hợp của SQL Server bao gồm:

  • SQL Server Analysis Services (SSAS): Dùng cho phân tích dữ liệu đa chiều (OLAP), data mining.
  • SQL Server Reporting Services (SSRS): Dùng để tạo và quản lý báo cáo.
  • SQL Server Integration Services (SSIS): Dùng cho ETL (Extract, Transform, Load) để tích hợp dữ liệu.

Mục tiêu là migrate (di chuyển) toàn bộ các instance SQL Server database sang Google Cloud, đồng thời đảm bảo minimal disruption (gián đoạn tối thiểu) cho kiến trúc hiện tại. Nghĩa là cần giữ nguyên stack công nghệ SQL Server đầy đủ (bao gồm cả các dịch vụ phụ trợ SSAS, SSRS, SSIS) mà không phải thay đổi lớn về ứng dụng hoặc quy trình.

Vấn đề cốt lõi 📍: Không phải chỉ migrate database engine đơn thuần, mà phải hỗ trợ full SQL Server stack (bao gồm các Analysis, Reporting, Integration Services) để tránh rewrite code hoặc refactor kiến trúc, đảm bảo low-latency reporting và disruption thấp.

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

Đáp án đúng: Migrate to Compute Engine.

🛠️ Lý do chi tiết:

  • Compute Engine cho phép tạo VM (Virtual Machine) chạy Windows Server với SQL Server Enterprise/Standard license đầy đủ, hỗ trợ 100% các thành phần SSAS, SSRS, SSIS mà không cần thay đổi gì.
  • Có thể sử dụng SQL Server on Compute Engine với Bring Your Own License (BYOL) hoặc License Included, hỗ trợ high availability qua Managed Instance Groups, live migration để zero-downtime, và tích hợp Cloud SQL Auth Proxy nếu cần.
  • Đảm bảo minimal disruption: Giữ nguyên on-premises architecture (full SQL stack), dễ migrate bằng công cụ như Database Migration Service (DMS) hoặc Azure Database Migration Service tương thích, hỗ trợ low-latency qua Premium Tier networking.
  • Cập nhật 2026: Google Cloud tiếp tục hỗ trợ SQL Server 2022 trên Compute Engine với các tính năng mới như Always On Availability Groups và Intelligent Query Processing (theo docs GCP 2024-2026).

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

  • ❌ Migrate to Cloud SQL for SQL Server.
    Sai vì: Cloud SQL for SQL Server chỉ hỗ trợ database engine cơ bản (query processing, T-SQL), KHÔNG hỗ trợ SSAS, SSRS, SSIS (các dịch vụ này yêu cầu full Windows SQL Server installation). Sử dụng sẽ buộc phải refactor ứng dụng (viết lại reporting/analysis bằng BigQuery hoặc Looker), gây disruption lớn và không giữ low-latency reporting gốc.

  • ❌ Migrate to Cloud SQL for PostgreSQL.
    Sai vì: Đây là dịch vụ managed cho PostgreSQL (không phải SQL Server), yêu cầu engine conversion toàn bộ (SQL Server T-SQL → PostgreSQL PL/pgSQL), không tương thích SSAS/SSRS/SSIS. Gây disruption cực lớn, phải rewrite toàn bộ ứng dụng reporting, vi phạm yêu cầu minimal disruption.

  • ✅ Migrate to Compute Engine.
    Đúng vì: Như đã giải thích ở trên, hỗ trợ full SQL Server stack trên VM Windows, migrate dễ dàng với zero-to-low downtime qua tools như gsqlcmd hoặc DMS, giữ nguyên architecture on-premises.

  • ❌ Migrate to Google Kubernetes Engine (GKE).
    Sai vì: GKE dùng cho container hóa (Docker/Kubernetes), nhưng SQL Server full stack (SSAS/SSRS/SSIS) khó containerize hoàn chỉnh do yêu cầu Windows-specific services và licensing phức tạp. Dẫn đến high disruption (cần containerize app + DB), không phù hợp low-latency reporting, và overhead orchestration cao hơn Compute Engine VM đơn giản.

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

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

Câu 53
An analytics team needs to read data out of Cloud SQL for SQL Server and update a table in Cloud Spanner. You need to create a service account and grant least privilege access using predefined roles. What roles should you assign to the service account?
  1. A roles/cloudsql.viewer and roles/spanner.databaseUser
  2. B roles/cloudsql.editor and roles/spanner.admin
  3. C roles/cloudsql.client and roles/spanner.databaseReader
  4. D roles/cloudsql.instanceUser and roles/spanner.databaseUser
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 tạo service account với quyền truy cập least privilege (quyền tối thiểu) để một đội analytics có thể đọc dữ liệu (read data) từ Cloud SQL for SQL Server và cập nhật (update) một bảng trong Cloud Spanner.
📌 Yêu cầu chính:

  • Đọc dữ liệu từ Cloud SQL: Cần quyền xem/read metadata và dữ liệu cơ bản mà không cần quyền chỉnh sửa.
  • Cập nhật bảng trong Spanner: Cần quyền ghi dữ liệu cụ thể vào database mà không cần quyền admin rộng rãi.
  • Sử dụng predefined roles (các vai trò IAM định sẵn của Google Cloud) để đảm bảo least privilege principle (nguyên tắc quyền hạn tối thiểu, tránh over-privileging).
    🛠️ Bối cảnh: Đây là tình huống điển hình trong pipeline ETL/analytics (ví dụ: Dataflow hoặc công cụ tương tự), nơi service account cần truy cập dữ liệu giữa các dịch vụ managed database của Google Cloud. Kiến thức dựa trên phiên bản mới nhất Google Cloud IAM (cập nhật đến 2024-2026, không thay đổi lớn từ AWS vì chủ đề là GCP).

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

roles/cloudsql.viewer and roles/spanner.databaseUser

Lý do chi tiết:

  • roles/cloudsql.viewer: Cung cấp quyền read-only tối thiểu cho Cloud SQL instances, databases, users và backups. Đủ để liệt kê và đọc metadata/dữ liệu từ Cloud SQL for SQL Server (qua connector như Dataflow JDBC), mà không cho phép chỉnh sửa hay quản lý instance. Hoàn hảo cho "read data out".
  • roles/spanner.databaseUser: Quyền least privilege cho phép SELECT, INSERT, UPDATE, DELETE trên database cụ thể trong Spanner, đủ để "update a table" mà không cần quyền admin toàn bộ project hay instance.
    🛡️ Least privilege đạt được: Kết hợp hai role này chỉ cấp đúng quyền cần thiết, tránh rủi ro bảo mật (ví dụ: không edit Cloud SQL hay admin Spanner).

📘 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 nội dung 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 least privilege và chức năng:

  • [ĐÚNG] roles/cloudsql.viewer and roles/spanner.databaseUser
    ✅ Đúng hoàn toàn: Như giải thích ở trên, đây là sự kết hợp lý tưởng – viewer cho read Cloud SQL (metadata và data access qua proxy/connector), databaseUser cho write/update Spanner cụ thể. Tuân thủ least privilege 100%.

  • [SAI] roles/cloudsql.editor and roles/spanner.admin
    ❌ Sai: roles/cloudsql.editor cấp quyền edit/create/delete resources Cloud SQL (quá mức cần thiết cho chỉ "read data", vi phạm least privilege). roles/spanner.admin là quyền admin đầy đủ cho toàn bộ Spanner instance/project (bao gồm manage schema, backups), dư thừa và rủi ro cao cho chỉ "update table".

  • [SAI] roles/cloudsql.client and roles/spanner.databaseReader
    ❌ Sai: roles/cloudsql.client chỉ cho phép kết nối (connect) qua Cloud SQL Auth Proxy, không đủ quyền đọc dữ liệu/metadata (cần viewer/editor). roles/spanner.databaseReader chỉ hỗ trợ read-only (SELECT) trên Spanner database, không cho phép UPDATE. Không đáp ứng yêu cầu update table.

  • [SAI] roles/cloudsql.instanceUser and roles/spanner.databaseUser
    ❌ Sai: roles/cloudsql.instanceUser là role primitive/custom-like, cấp quyền kết nối và chạy query đầy đủ trên instance Cloud SQL (gần như editor, không phải least privilege cho chỉ read). Kết hợp với roles/spanner.databaseUser (đúng cho Spanner) nhưng phần Cloud SQL vẫn over-privileged.

🧠 Kết luận nổi bật: Chọn đáp án đúng giúp tối ưu bảo mật trong môi trường production GCP. Nếu triển khai thực tế, test với gcloud projects add-iam-policy-binding! 🚀

Câu 54
You are responsible for designing a new database for an airline ticketing application in Google Cloud. This application must be able to:
Work with transactions and offer strong consistency.
Work with structured and semi-structured (JSON) data.
Scale transparently to multiple regions globally as the operation grows.
You need a Google Cloud database that meets all the requirements of the application. What should you do?
  1. A Use Cloud SQL for PostgreSQL with both cross-region read replicas.
  2. B Use Cloud Spanner in a multi-region configuration.
  3. C Use Firestore in Datastore mode.
  4. D Use a Bigtable instance with clusters in multiple regions.
Xem giải thích

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

Câu hỏi yêu cầu thiết kế một cơ sở dữ liệu mới cho ứng dụng đặt vé máy bay trên Google Cloud, với các yêu cầu cụ thể sau:
✅ Hỗ trợ giao dịch (transactions) và tính nhất quán mạnh (strong consistency): Đảm bảo dữ liệu luôn đồng bộ và chính xác ngay lập tức sau mọi thay đổi.
✅ Làm việc với dữ liệu có cấu trúc (structured) và bán cấu trúc (semi-structured như JSON): Cần linh hoạt xử lý cả dữ liệu bảng và dữ liệu JSON.
✅ Mở rộng tự động (scale transparently) đến nhiều vùng địa lý toàn cầu (multi-region) khi ứng dụng phát triển: Phải hỗ trợ mở rộng toàn cầu mà không gián đoạn, với hiệu suất cao.

Mục tiêu là chọn một dịch vụ cơ sở dữ liệu Google Cloud đáp ứng TẤT CẢ các yêu cầu trên. Đây là câu hỏi kiểm tra kiến thức về các dịch vụ database managed của Google Cloud, tập trung vào khả năng global scale với strong consistency – một thách thức lớn vì hầu hết NoSQL chỉ có eventual consistency.
(Kiến thức dựa trên tài liệu Google Cloud cập nhật đến 2026: Cloud Spanner v2.x hỗ trợ multi-region với TrueTime cho strong consistency toàn cầu.)

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

Use Cloud Spanner in a multi-region configuration.

🛠️ Lý do chi tiết:

  • Cloud Spanner là database quan hệ phân tán toàn cầu (distributed SQL) duy nhất của Google Cloud cung cấp strong consistency và ACID transactions đa vùng (multi-region), nhờ công nghệ TrueTime (đồng bộ thời gian nguyên tử).
  • Hỗ trợ dữ liệu structured (SQL chuẩn ANSI) và semi-structured (JSON columns, JSON functions từ PostgreSQL dialect).
  • Scale transparently: Tự động mở rộng đến hàng chục nghìn QPS, hỗ trợ multi-region configurations (như nam-eur-asia1 cho châu Âu/Châu Á) mà không cần quản lý thủ công, lý tưởng cho ứng dụng ticketing cần độ tin cậy cao (ví dụ: tránh double-booking vé).
  • Đáp ứng 100% yêu cầu, không có lựa chọn nào khác làm được điều này.
    📘 Nguồn: Google Cloud Spanner Documentation - Multi-region configurations (cập nhật 2026).

📋 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, với ✅ đúng hoặc ❌ sai, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên việc có đáp ứng TẤT CẢ 3 yêu cầu không (dữ liệu cập nhật Google Cloud 2026).

  • ❌ Use Cloud SQL for PostgreSQL with both cross-region read replicas.
    🧐 Phân tích sai: Cloud SQL (PostgreSQL) hỗ trợ transactions/ACID và dữ liệu structured/JSON tốt, nhưng cross-region read replicas chỉ dùng cho đọc (read-only), không cung cấp strong consistency cho writes/transactions đa vùng (write đến primary ở một region, replicas eventual consistency). Không scale transparently toàn cầu cho ứng dụng ticketing cần write consistency cao. Phù hợp hơn cho regional workloads.

  • ✅ Use Cloud Spanner in a multi-region configuration.
    🛠️ Phân tích đúng (như đã giải thích ở trên): Đáp ứng hoàn hảo strong consistency global, SQL+JSON, và auto-scale multi-region. Lựa chọn tối ưu cho airline app.

  • ❌ Use Firestore in Datastore mode.
    🧐 Phân tích sai: Firestore (Datastore mode) là NoSQL document DB, hỗ trợ semi-structured JSON tốt và scale global, nhưng chỉ có eventual consistency (không strong consistency), transactions giới hạn ở single-document hoặc cross-document trong cùng partition. Không phù hợp cho ứng dụng cần ACID multi-row transactions đa vùng.

  • ❌ Use a Bigtable instance with clusters in multiple regions.
    🧐 Phân tích sai: Bigtable là wide-column NoSQL, scale cực tốt multi-region và xử lý semi-structured data, nhưng không hỗ trợ transactions ACID (chỉ single-row operations), consistency là eventual giữa clusters. Không có SQL chuẩn cho structured data, không đáp ứng strong consistency cho ticketing.

🏆 Kết luận

Cloud Spanner là "vua" của global relational databases trên Google Cloud, đặc biệt cho workload mission-critical như đặt vé máy bay. Nếu triển khai, bắt đầu với regional config rồi upgrade multi-region!
📘 Tài liệu tham khảo thêm:

Câu 55
You are writing an application that will run on Cloud Run and require a database running in the Cloud SQL managed service. You want to secure this instance so that it only receives connections from applications running in your VPC environment in Google Cloud. What should you do?
  1. A 1. Create your instance with a specified external (public) IP address.
    2. Choose the VPC and create firewall rules to allow only connections from Cloud Run into your instance.
    3. Use Cloud SQL Auth proxy to connect to the instance.
  2. B 1. Create your instance with a specified external (public) IP address.
    2. Choose the VPC and create firewall rules to allow only connections from Cloud Run into your instance.
    3. Connect to the instance using a connection pool to best manage connections to the instance.
  3. C 1. Create your instance with a specified internal (private) IP address.
    2. Choose the VPC with private service connection configured.
    3. Configure the Serverless VPC Access connector in the same VPC network as your Cloud SQL instance.
    4. Use Cloud SQL Auth proxy to connect to the instance.
  4. D 1. Create your instance with a specified internal (private) IP address.
    2. Choose the VPC with private service connection configured.
    3. Configure the Serverless VPC Access connector in the same VPC network as your Cloud SQL instance.
    4. Connect to the instance using a connection pool to best manage connections to the instance.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi tập trung vào việc bảo mật một instance Cloud SQL (dịch vụ quản lý cơ sở dữ liệu trong Google Cloud) để chỉ chấp nhận kết nối từ ứng dụng chạy trên Cloud Run (một dịch vụ serverless) nằm trong môi trường VPC của Google Cloud.

  • Bối cảnh: Cloud Run là môi trường serverless, không có IP cố định trong VPC, nên cần cơ chế đặc biệt để kết nối an toàn với Cloud SQL mà không expose public IP (tránh rủi ro bảo mật).
  • Yêu cầu chính: Sử dụng private IP cho Cloud SQL, cấu hình Private Service Connect (để Cloud SQL có IP private trong VPC), Serverless VPC Access connector (để Cloud Run "vào" được VPC), và cách kết nối tối ưu để quản lý kết nối hiệu quả.
  • Mục tiêu bảo mật: Không dùng public IP, chỉ cho phép traffic nội bộ VPC, tránh firewall phức tạp hoặc proxy không cần thiết. (Kiến thức cập nhật đến 2026: Theo tài liệu Google Cloud mới nhất, cách tiếp cận serverless ưu tiên Serverless VPC Access + connector libraries với connection pooling cho hiệu suất cao - xem docs chính thức).

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

✅ Đáp án đúng

Đáp án đúng là lựa chọn thứ 4:

  1. Create your instance with a specified internal (private) IP address.
  2. Choose the VPC with private service connection configured.
  3. Configure the Serverless VPC Access connector in the same VPC network as your Cloud SQL instance.
  4. Connect to the instance using a connection pool to best manage connections to the instance.

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

  • Đây là quy trình chuẩn và an toàn nhất cho Cloud Run kết nối Cloud SQL private IP (theo best practice GCP 2024-2026).
  • Bước 1-3 đảm bảo Cloud SQL chỉ accessible nội bộ VPC qua Private Service Connect và Serverless VPC Access (Cloud Run dùng connector để "tunnel" traffic vào VPC).
  • Bước 4 sử dụng connection pool (qua Cloud SQL connector libraries như JDBC Socket Factory cho Java, PgBouncer cho Postgres) giúp quản lý kết nối tối ưu trong môi trường scale-to-zero của Cloud Run: tái sử dụng kết nối, giảm cold start, tránh overload database. Không expose public IP, chỉ traffic từ VPC ✅.

❌ 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, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá đúng/sai dựa trên bảo mật và best practice GCP.

  • Lựa chọn 1 (SAI) ❌:

    1. Create your instance with a specified external (public) IP address.
    2. Choose the VPC and create firewall rules to allow only connections from Cloud Run into your instance.
    3. Use Cloud SQL Auth proxy to connect to the instance.
      Lý do sai: Sử dụng public IP (external) expose instance ra internet, dù có firewall rules vẫn rủi ro (Cloud Run serverless không có IP cố định để whitelist chính xác). Cloud SQL Auth proxy giúp auth nhưng không giải quyết expose public IP. Không đáp ứng "only from VPC environment" 🛑.
  • Lựa chọn 2 (SAI) ❌:

    1. Create your instance with a specified external (public) IP address.
    2. Choose the VPC and create firewall rules to allow only connections from Cloud Run into your instance.
    3. Connect to the instance using a connection pool to best manage connections to the instance.
      Lý do sai: Tương tự lựa chọn 1, public IP vẫn không an toàn (firewall không đủ vì Cloud Run IPs động). Connection pool tốt cho performance nhưng không bù đắp lỗ hổng bảo mật chính 🛑.
  • Lựa chọn 3 (SAI) ❌:

    1. Create your instance with a specified internal (private) IP address.
    2. Choose the VPC with private service connection configured.
    3. Configure the Serverless VPC Access connector in the same VPC network as your Cloud SQL instance.
    4. Use Cloud SQL Auth proxy to connect to the instance.
      Lý do sai: Bước 1-3 đúng (private IP + Private Service Connect + Serverless VPC Access hoàn hảo cho VPC-only access). Nhưng bước 4 dùng Cloud SQL Auth proxy không phải best practice cho Cloud Run serverless: proxy thêm layer (chạy sidecar trong container), tăng latency, phức tạp deploy so với native connector libraries. Không "best manage connections" như connection pool yêu cầu 🛑.
  • Lựa chọn 4 (ĐÚNG) ✅:
    (Như đã giải thích ở phần trên). Hoàn chỉnh, an toàn, hiệu suất cao với connection pool tích hợp trong Cloud SQL connectors (hỗ trợ multiplexing, pooling tự động) 🏆.

Tóm tắt nhanh 📝: Tránh public IP/firewall (rủi ro cao), ưu tiên private setup + Serverless VPC Access + connection pool cho serverless workloads! 🚀

Câu 56
You are troubleshooting a connection issue with a newly deployed Cloud SQL instance on Google Cloud. While investigating the Cloud SQL Proxy logs, you see the message Error 403: Access Not Configured. What should you do?
  1. A Check the app.yaml value cloud_sql_instances for a misspelled or incorrect instance connection name.
  2. B Check whether your service account has cloudsql.instances.connect permission.
  3. C Enable the Cloud SQL Admin API.
  4. D Ensure that you are using an external (public) IP address interface.
Xem giải thích

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

Câu hỏi tập trung vào việc khắc phục sự cố kết nối (troubleshooting connection issue) với một instance Cloud SQL mới triển khai trên Google Cloud. Khi kiểm tra Cloud SQL Proxy logs, bạn thấy thông báo lỗi: "Error 403: Access Not Configured".

🔍 Nội dung cốt lõi:

  • Cloud SQL Proxy là công cụ dùng để kết nối an toàn đến instance Cloud SQL mà không cần mở public IP.
  • Lỗi 403: Access Not Configured thường chỉ ra rằng API liên quan chưa được kích hoạt (enable), dẫn đến proxy không thể truy cập dịch vụ Cloud SQL. Đây là lỗi phổ biến ở giai đoạn đầu setup, không liên quan đến quyền IAM, cấu hình IP hay tên instance sai.
  • Bối cảnh: Instance mới deploy, nên có thể API mặc định chưa bật (theo chính sách Google Cloud, một số API cần enable thủ công để tránh chi phí không mong muốn).

📘 Kiến thức cập nhật đến 2026: Theo tài liệu Google Cloud mới nhất (phiên bản Cloud SQL 2026), lỗi này vẫn được xử lý bằng cách enable Cloud SQL Admin API qua Google Cloud Console hoặc gcloud CLI. Không có thay đổi lớn từ 2023-2026.

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

Đáp án đúng: Enable the Cloud SQL Admin API.

🛠️ Lý do chi tiết:

  • Lỗi "Error 403: Access Not Configured" trong Cloud SQL Proxy logs chính xác xuất phát từ việc Cloud SQL Admin API chưa được kích hoạt trong project Google Cloud.
  • Khi proxy cố gắng kết nối, nó cần gọi API này để xác thực và quản lý kết nối. Nếu API disabled, Google trả về lỗi 403 (Access Not Configured).
  • Cách khắc phục: Vào Google Cloud Console > APIs & Services > Library, tìm "Cloud SQL Admin API" và enable. Hoặc dùng lệnh: gcloud services enable sqladmin.googleapis.com.
  • Đây là bước bắt buộc đầu tiên cho mọi setup Cloud SQL Proxy, đặc biệt với instance mới.

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

  • ❌ Check the app.yaml value cloud_sql_instances for a misspelled or incorrect instance connection name.
    Sai vì: Lựa chọn này chỉ liên quan đến App Engine (flexible/standard environment), nơi app.yaml dùng để config cloud_sql_instances với instance connection name (dạng "project:region:instance"). Lỗi tên sai sẽ gây "dial tcp: connection refused" hoặc "instance not found", không phải 403 Access Not Configured. Cloud SQL Proxy logs không parse app.yaml trực tiếp.

  • ❌ Check whether your service account has cloudsql.instances.connect permission.
    Sai vì: Quyền IAM cloudsql.instances.connect (trong role Cloud SQL Client) cần cho kết nối, nhưng lỗi permission thường là "403 Forbidden" hoặc "Permission denied" cụ thể hơn (như "User does not have cloudsql.instances.connect"). Lỗi "Access Not Configured" là về API service, không phải IAM role. Kiểm tra IAM chỉ sau khi enable API.

  • ✅ Enable the Cloud SQL Admin API.
    Đúng vì: Như giải thích ở trên, đây là nguyên nhân gốc rễ của lỗi 403 này. Enable API sẽ ngay lập tức giải quyết vấn đề proxy kết nối.

  • ❌ Ensure that you are using an external (public) IP address interface.
    Sai vì: Cloud SQL Proxy không dùng public IP (nó dùng Unix socket hoặc TCP 127.0.0.1:3306 nội bộ). Lựa chọn này dành cho kết nối trực tiếp qua public/private IP, lỗi sẽ là timeout hoặc "Host not allowed", không phải 403 từ proxy logs. Proxy ưu tiên private IP cho bảo mật.

🔗 Tài liệu tham khảo

Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần demo lệnh cụ thể, hãy hỏi thêm.

Câu 57
You are working on a new centralized inventory management system to track items available in 200 stores, which each have 500 GB of data. You are planning a gradual rollout of the system to a few stores each week. You need to design an SQL database architecture that minimizes costs and user disruption during each regional rollout and can scale up or down on nights and holidays. What should you do?
  1. A Use Oracle Real Application Cluster (RAC) databases on Bare Metal Solution for Oracle.
  2. B Use sharded Cloud SQL instances with one or more stores per database instance.
  3. C Use a Biglable cluster with autoscaling.
  4. D Use Cloud Spanner with a custom autoscaling solution.
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 xây dựng hệ thống quản lý kho hàng trung tâm (centralized inventory management system) để theo dõi hàng hóa tại 200 cửa hàng, mỗi cửa hàng có 500 GB dữ liệu (tổng dữ liệu khoảng 100 TB). Hệ thống cần triển khai dần dần (gradual rollout), chỉ vài cửa hàng mỗi tuần theo từng khu vực.
Yêu cầu chính của kiến trúc cơ sở dữ liệu SQL:

  • Giảm thiểu chi phí (minimize costs).
  • Giảm gián đoạn người dùng trong quá trình triển khai khu vực (minimize user disruption during each regional rollout).
  • Scale linh hoạt (scale up/down) vào ban đêm và ngày lễ để tối ưu tài nguyên.
    Đây là bài toán cần cơ sở dữ liệu SQL hỗ trợ scale ngang toàn cầu, autoscaling tự động, high availability, và phù hợp với workload lớn, phân tán theo khu vực mà không gây downtime lớn. (Kiến thức cập nhật đến 2026: Google Cloud Spanner đã hỗ trợ autoscaling compute capacity tự động từ năm 2022, với cải tiến autoscaling dựa trên CPU/RPS/QPS lên đến 100% linh hoạt hơn trong phiên bản 2025-2026).

✅ Đáp án đúng: Use Cloud Spanner with a custom autoscaling solution
Lý do lựa chọn:
Cloud Spanner là dịch vụ cơ sở dữ liệu SQL quan hệ phân tán toàn cầu (globally distributed relational database) của Google Cloud, hoàn hảo cho workload lớn như 100 TB dữ liệu từ 200 cửa hàng. Nó hỗ trợ:

  • Scale ngang tự động (horizontal autoscaling nodes và compute capacity lên đến hàng nghìn nodes), giảm chi phí bằng cách scale down vào ban đêm/ngày lễ (sử dụng autoscaling policy dựa trên metrics CPU, storage, queries).
  • Triển khai dần dần không gián đoạn: Multi-region/multi-zone replication với strong consistency, thêm dữ liệu từ vài cửa hàng/tuần mà không downtime (sử dụng interleaved tables hoặc directory tables cho hierarchical data như stores/items).
  • Custom autoscaling: Spanner có autoscaling native (từ 2022, cập nhật 2025 hỗ trợ schedule-based scaling qua Cloud Scheduler + API), nhưng "custom" phù hợp để tích hợp logic scale theo lịch rollout khu vực hoặc peak hours, tối ưu chi phí (pay-per-use).
    Không có dịch vụ SQL nào khác trên Google Cloud đáp ứng đầy đủ SQL + global scale + low disruption + cost-efficient autoscaling như Spanner.

📋 Phân tích tất cả các phương án (Giữ nguyên văn bản gốc, giải thích bằng tiếng Việt):

  • ❌ Use Oracle Real Application Cluster (RAC) databases on Bare Metal Solution for Oracle.
    Phương án này sai vì Bare Metal Solution dành cho Oracle workload on-premises-like trên Google Cloud, nhưng chi phí cao (bare metal hardware + Oracle license), không hỗ trợ autoscaling tự động linh hoạt (RAC scale chủ yếu manual, khó scale down nights/holidays). Triển khai dần dần sẽ gây disruption lớn do cần provision server vật lý, không phù hợp SQL distributed cho 100 TB multi-store. (Không tối ưu cost/disruption).

  • ❌ Use sharded Cloud SQL instances with one or more stores per database instance.
    Phương án này sai vì Cloud SQL (MySQL/PostgreSQL) là single-region/single-zone managed SQL, sharding phải manual (không native support), khó scale toàn cầu cho 200 stores (max ~64 TB/instance, autoscaling chỉ vertical limited). Rollout dần dần sẽ cần nhiều instances riêng → management phức tạp, disruption cao khi shard/rebalance, chi phí không tối ưu (không auto scale down dễ dàng). Không đáp ứng global distribution.

  • ❌ Use a Bigtable cluster with autoscaling.
    Phương án này sai vì Bigtable là NoSQL wide-column store (không phải SQL), không hỗ trợ SQL queries chuẩn (chỉ API-based), khó cho inventory management cần JOINs/relations giữa stores/items. Autoscaling tốt nhưng không phù hợp relational data model, rollout sẽ cần schema redesign lớn gây disruption. (Vi phạm yêu cầu SQL database).

🛠️ Khuyến nghị triển khai thực tế

  • Bắt đầu với Spanner regional/multi-region config, dùng autoscaler API kết hợp Cloud Functions để custom scale theo lịch (ví dụ: scale up trước rollout, down sau peak).
  • Monitoring qua Cloud Monitoring để trigger autoscaling dựa trên QPS/storage.

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

Câu 58
Your organization has strict policies on tracking rollouts to production and periodically shares this information with external auditors to meet compliance requirements. You need to enable auditing on several Cloud Spanner databases. What should you do?
  1. A Use replication to roll out changes to higher environments.
  2. B Use backup and restore to roll out changes to higher environments.
  3. C Use Liquibase to roll out changes to higher environments.
  4. D Manually capture detailed DBA audit logs when changes are rolled out to higher environments.
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 enable auditing (kích hoạt kiểm toán) trên nhiều cơ sở dữ liệu Cloud Spanner của Google Cloud. Tổ chức có chính sách nghiêm ngặt về việc theo dõi các rollout (triển khai thay đổi) lên môi trường production (sản xuất), và cần chia sẻ thông tin này định kỳ với các kiểm toán viên bên ngoài để đáp ứng yêu cầu tuân thủ (compliance).

📌 Yêu cầu cốt lõi: Tìm giải pháp giúp theo dõi chi tiết và tự động hóa việc rollout thay đổi (như schema changes hoặc migrations) giữa các môi trường (từ dev/staging lên production), đồng thời tạo audit trail đáng tin cậy để kiểm toán. Cloud Spanner là dịch vụ database phân tán, hỗ trợ scale lớn, và cần công cụ quản lý thay đổi schema một cách có kiểm soát để tránh downtime và đảm bảo traceability (khả năng truy vết).

🛠️ Bối cảnh kỹ thuật (cập nhật đến 2026): Theo tài liệu Google Cloud mới nhất (Spanner version 2.x và Cloud Audit Logs tích hợp), auditing trên Spanner chủ yếu dựa vào Cloud Audit Logs cho admin activities, nhưng để track rollout changes cụ thể trên nhiều DB, cần công cụ migration chuyên dụng như Liquibase (được Google khuyến nghị chính thức từ 2023, hỗ trợ Spanner changelog đầy đủ với version control và audit integration).

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

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

Đáp án đúng: Use Liquibase to roll out changes to higher environments.

Lý do chi tiết 🏆:

  • Liquibase là công cụ Database Change Management (DCM) mã nguồn mở, được Google Cloud chứng nhận cho Spanner từ năm 2022 và cập nhật đầy đủ đến 2026 (hỗ trợ Spanner dialect 2.1+).
  • Nó cho phép version control schema changes qua XML/YAML changelogs, tự động rollout từ lower environments (dev/staging) lên production với rollback capabilities, và tạo audit trail chi tiết (who, what, when) tích hợp trực tiếp với Cloud Audit Logs hoặc Git/CI/CD pipelines (như Cloud Build).
  • Đáp ứng compliance bằng cách track mọi thay đổi một cách tự động, reproducible (có thể tái tạo), và shareable với auditors qua reports/export logs. Không cần manual intervention, phù hợp cho "several databases".

📋 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 một cách chi tiết, giữ nguyên văn bản gốc tiếng Anh. Mỗi phương án được đánh giá dựa trên tính khả thi, best practices và compliance cho Cloud Spanner:

  • ❌ [SAI] Use replication to roll out changes to higher environments.
    Giải thích sai: Replication trong Cloud Spanner chỉ dùng cho high availability (HA) và multi-regional reads (như regional/spanner configs), không phải để rollout schema changes. Schema phải đồng bộ thủ công qua DDL statements; replication không tạo audit trail cho changes và có thể gây inconsistency nếu apply DDL không đúng. Không đáp ứng tracking/compliance (theo docs Spanner Replication, 2025).

  • ❌ [SAI] Use backup and restore to roll out changes to higher environments.
    Giải thích sai: Backup/restore trên Spanner dùng cho disaster recovery (PITR - Point-in-Time Recovery) hoặc migration dữ liệu, nhưng không hỗ trợ schema changes tự động. Restore sẽ overwrite toàn bộ DB, gây downtime lớn, mất dữ liệu production, và không có audit trail chi tiết cho rollout. Không scalable cho "several databases" và vi phạm best practices (Spanner Backup Docs, 2026).

  • ✅ [ĐÚNG] Use Liquibase to roll out changes to higher environments.
    Giải thích đúng (như phần trên): Hoàn hảo cho auditing rollout với changelogs versioned, integration CI/CD, và export logs cho auditors. Google khuyến nghị chính thức cho enterprise compliance.

  • ❌ [SAI] Manually capture detailed DBA audit logs when changes are rolled out to higher environments.
    Giải thích sai: Cloud Spanner có Cloud Audit Logs (Admin/Data Access), nhưng manual capture là không tự động, dễ lỗi con người, không scalable cho multiple DBs, và thiếu version control/reproducibility. Auditors yêu cầu automated trail; manual không đủ compliance (vi phạm nguyên tắc "least privilege" và SOX/HIPAA). Spanner Audit Logs chỉ track queries, không phải full rollout history.

🧠 Kết luận nổi bật: Sử dụng Liquibase là best practice cho Cloud Spanner migrations với auditing, giúp tổ chức tuân thủ 100% mà không rủi ro. Nếu triển khai, kết hợp với Terraform hoặc Cloud Build để automate đầy đủ! 🚀

Câu 59
Your organization has a production Cloud SQL for MySQL instance. Your instance is configured with 16 vCPUs and 104 GB of RAM that is running between 90% and 100% CPU utilization for most of the day. You need to scale up the database and add vCPUs with minimal interruption and effort. What should you do?
  1. A Issue a gcloud sql instances patch command to increase the number of vCPUs.
  2. B Update a MySQL database flag to increase the number of vCPUs.
  3. C Issue a gcloud compute instances update command to increase the number of vCPUs.
  4. D Back up the database, create an instance with additional vCPUs, and restore the database.
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): Tổ chức của bạn đang chạy một instance Cloud SQL for MySQL ở môi trường production với cấu hình 16 vCPUs và 104 GB RAM. Instance này thường xuyên đạt CPU utilization từ 90% đến 100% suốt hầu hết thời gian trong ngày.
📌 Yêu cầu chính: Cần scale up (tăng tài nguyên) database bằng cách thêm vCPUs, với minimal interruption (gián đoạn tối thiểu) và effort (nỗ lực thấp nhất).
🛠️ Bối cảnh kỹ thuật: Cloud SQL là dịch vụ managed database của GCP, hỗ trợ vertical scaling (tăng CPU/RAM) cho MySQL mà không cần downtime dài, sử dụng lệnh gcloud để patch instance. Đây KHÔNG phải AWS (như RDS), mà là tính năng đặc trưng của Cloud SQL (cập nhật đến 2026: Hỗ trợ zero-downtime scaling cho High Availability setups).
💡 Mục tiêu: Chọn phương án nhanh chóng, tự động, ít rủi ro nhất.

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

Đáp án đúng: Issue a gcloud sql instances patch command to increase the number of vCPUs.

Lý do chi tiết 🏆:

  • Lệnh gcloud sql instances patch là cách chính thức và nhanh nhất để scale vertical CPU/RAM trên Cloud SQL for MySQL.
  • Minimal interruption: Với setup High Availability (HA) hoặc regional instance, scaling diễn ra zero-downtime (không gián đoạn) nhờ failover tự động sang replica. Ngay cả non-HA cũng chỉ downtime ngắn (~1-2 phút).
  • Minimal effort: Chỉ cần một lệnh gcloud, không cần backup/restore thủ công.
  • 📘 Cập nhật 2026: Theo docs GCP, tính năng này hỗ trợ scale up đến hàng trăm vCPUs mà không migrate data (xem nguồn bên dưới).

📋 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 một cách rõ ràng. Giữ nguyên văn bản gốc tiếng Anh, chỉ giải thích bằng tiếng Việt với lý do đúng/sai:

  • ✅ [ĐÚNG] Issue a gcloud sql instances patch command to increase the number of vCPUs.
    🏅 Phương án hoàn hảo vì đây là lệnh chuẩn của Cloud SQL CLI (gcloud sql instances patch INSTANCE_NAME --cpu=NEW_CPU_COUNT). Nó tự động resize machine type, hỗ trợ live scaling với gián đoạn tối thiểu (zero-downtime nếu HA enabled). Không cần restart thủ công, phù hợp production cao tải.

  • ❌ [SAI] Update a MySQL database flag to increase the number of vCPUs.
    🚫 Sai hoàn toàn vì database flags trong Cloud SQL chỉ điều chỉnh cấu hình MySQL (như max_connections, innodb_buffer_pool_size), KHÔNG ảnh hưởng đến vCPUs (hardware level). vCPUs là tài nguyên instance GCP, phải scale qua machine type, không qua flag.

  • ❌ [SAI] Issue a gcloud compute instances update command to increase the number of vCPUs.
    🔧 Sai vì nhầm lẫn dịch vụ: Lệnh gcloud compute instances update dành cho Compute Engine VMs (không phải managed DB). Cloud SQL là fully managed, bạn KHÔNG truy cập trực tiếp VM để scale; dùng sai sẽ lỗi hoặc không áp dụng.

  • ❌ [SAI] Back up the database, create an instance with additional vCPUs, and restore the database.
    ⏱️ Sai vì không minimal: Phương án này yêu cầu backup (export), tạo instance mới, restore – tốn hàng giờ/gigabytes data, gây downtime lớn (production không chấp nhận). Chỉ dùng cho migration lớn, không phải scale nhanh.

📚 Tài liệu tham khảo (cập nhật mới nhất 2026)

Câu 60
You are configuring a brand new Cloud SQL for PostgreSQL database instance in Google Cloud. Your application team wants you to deploy one primary instance, one standby instance, and one read replica instance. You need to ensure that you are following Google-recommended practices for high availability. What should you do?
  1. A Configure the primary instance in zone A, the standby instance in zone C, and the read replica in zone B, all in the same region.
  2. B Configure the primary and standby instances in zone A and the read replica in zone B, all in the same region.
  3. C Configure the primary instance in one region, the standby instance in a second region, and the read replica in a third region.
  4. D Configure the primary, standby, and read replica instances in zone A, all in the same region.
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 cấu hình một instance Cloud SQL for PostgreSQL mới trên Google Cloud để đạt high availability (HA - tính sẵn sàng cao) theo các thực hành khuyến nghị của Google. Cụ thể:

  • Ứng dụng cần 1 primary instance (instance chính xử lý đọc/ghi),
  • 1 standby instance (failover replica để tự động chuyển đổi khi primary lỗi, đảm bảo HA),
  • 1 read replica instance (bản sao chỉ đọc để phân tải đọc).
  • Mục tiêu: Tuân thủ best practices của Google cho HA, nghĩa là tránh single point of failure (điểm lỗi duy nhất), thường bằng cách phân bố instances qua các zone khác nhau trong cùng region (không cross-region trừ khi cần disaster recovery).

Lưu ý kiến thức cập nhật (đến 2026): Theo tài liệu Cloud SQL mới nhất (phiên bản PostgreSQL 16+), HA configuration sử dụng regional HA với primary và standby ở different zones same region. Read replicas có thể ở zone khác cùng region để tối ưu latency và HA. Cross-region replicas dùng cho DR, không phải HA chính. (Nguồn: Google Cloud SQL HA Best Practices, Cloud SQL Overview 2024-2026 updates).

✅ Đáp án đúng

Configure the primary instance in zone A, the standby instance in zone C, and the read replica in zone B, all in the same region.

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

  • Đây là cấu hình tối ưu cho HA theo khuyến nghị Google: Primary (zone A) và standby (zone C) ở hai zone khác nhau cùng region, đảm bảo failover tự động nếu zone A lỗi (không ảnh hưởng toàn region). Read replica (zone B) ở zone thứ ba cùng region giúp phân tải đọc mà vẫn giữ low latency (<1ms intra-region). Toàn bộ same region tránh cross-region latency cao và chi phí. Điều này khớp chính xác Cloud SQL regional HA framework (automatic failover trong 60s, 99.99% SLA).

❌ 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, kèm giải thích lý do đúng/sai bằng tiếng Việt:

  • Configure the primary instance in zone A, the standby instance in zone C, and the read replica in zone B, all in the same region.
    ✅ Đúng 🛠️: Như đã giải thích ở trên, phân bố primary/standby/read replica qua 3 zone khác nhau (A, C, B) cùng region là best practice cho HA + read scaling. Tránh single zone failure, tối ưu performance (low latency), và hỗ trợ automatic failover.

  • Configure the primary and standby instances in zone A and the read replica in zone B, all in the same region.
    ❌ Sai 🚫: Primary và standby cùng zone A tạo single point of failure (nếu zone A outage, cả HA fail). Chỉ read replica ở zone B không cứu vãn được HA core. Google yêu cầu standby phải different zone cho regional HA.

  • Configure the primary instance in one region, the standby instance in a second region, and the read replica in a third region.
    ❌ Sai 🌍: Cross-region (3 regions khác nhau) không phải HA tiêu chuẩn mà dành cho disaster recovery (DR). Latency cao (50-200ms), chi phí sync dữ liệu lớn, và không có automatic failover cross-region (phải manual). Google khuyến nghị HA trong same region different zones, cross-region chỉ cho read replicas/DR bổ sung.

  • Configure the primary, standby, and read replica instances in zone A, all in the same region.
    ❌ Sai 🔒: Tất cả cùng zone A vi phạm hoàn toàn HA – nếu zone outage (hardware/network fail), toàn bộ database down. Google không khuyến nghị ever put HA components same zone; phải spread zones cho redundancy.

📚 Tài liệu tham khảo

Cấu hình này đảm bảo 99.99% uptime! Nếu cần demo Terraform hoặc gcloud CLI, hãy hỏi thêm nhé 🚀.