Ngân hàng đề — Google Cloud Associate Cloud Engineer
Tìm thấy 449 câu.
- A Single zone
- B Multi-zonal
- C Multi-regional
- D Regional
Xem giải thích
Đáp án
D — Cụm REGIONAL (theo Region).
Vì sao đúng
Chỉ cụm regional nhân bản CẢ control plane lẫn node ra nhiều zone — điều kiện của tính sẵn sàng cao thật sự.
⚠ Ba kiểu cụm GKE — khác nhau ở control plane:
SINGLE-ZONE
↓
Control plane: 1 bản, 1 zone
Node: 1 zone
→ zone hỏng là mất tất cả
MULTI-ZONAL
↓
Control plane: 1 bản, 1 zone ← điểm yếu
Node: nhiều zone
→ mất zone của control plane
→ ứng dụng còn chạy nhưng
KHÔNG QUẢN LÝ ĐƯỢC cụm
REGIONAL ← đề này
↓
Control plane: NHIỀU BẢN, nhiều zone
Node: nhiều zone
→ mất một zone: mọi thứ vẫn hoạt động
⚠ Và một chi tiết về chi phí:
Cụm regional
↓
Số node bạn khai là SỐ NODE MỖI ZONE
↓
Khai 3 node, trải 3 zone → THỰC TẾ 9 node
↓
→ tính dự toán phải nhân với số zone
Xem thêm câu #12465 (CÙNG LÔ): cùng một câu hỏi, cùng đáp án regional cluster. Chỉ khác chữ cái — ở đó là C, ở đây là D. Khoá nhất quán.
Vì sao các phương án khác sai
-
B (Multi-zonal) — đây là phương án gần nhất và node đúng là trải nhiều zone, nhưng control plane vẫn chỉ có MỘT bản ở MỘT zone. Mất zone đó thì không triển khai, không co giãn, không sửa được gì.
-
C ("Multi-regional") — GKE không có kiểu cụm này. Một cụm nằm trong một Region; muốn nhiều Region thì dựng nhiều cụm và dùng Multi Cluster Ingress.
-
A (Single zone) — không có dự phòng nào.
Ghi nhớ
⚠ Ba kiểu cụm GKE — bảng phải thuộc: | Kiểu | Control plane | Node | |---|---|---| | Single-zone | 1 bản, 1 zone | 1 zone | | Multi-zonal | 1 bản, 1 zone | nhiều zone | | Regional | nhiều bản, nhiều zone | nhiều zone | | Sẵn sàng cao | chỉ Regional | | | Nâng cấp control plane | zonal có gián đoạn, regional không | |
Từ khoá nhận diện:
"tính sẵn sàng cao cho cụm" → regional cluster "nhiều Region" → nhiều cụm + Multi Cluster Ingress "không muốn quản node" → GKE Autopilot (luôn regional) "node không có IP công cộng" → private cluster "chi phí regional cao bất ngờ" → node × số zone
| Standard ↔ Autopilot | Nội dung |
|---|---|
| Standard | bạn quản node pool, chọn loại máy |
| Autopilot | Google quản node — trả tiền theo POD |
| Autopilot | luôn regional, bảo mật mặc định chặt hơn |
| Chọn Autopilot khi | muốn ít công vận hành nhất |
| Sẵn sàng cao cho ứng dụng trong cụm | Cách |
|---|---|
| Nhiều replica | ít nhất 2-3 pod |
| Pod anti-affinity | trải pod ra nhiều node và zone |
| Pod Disruption Budget | giới hạn pod bị gỡ cùng lúc khi bảo trì |
| Readiness và liveness probe | |
| Cluster Autoscaler | thêm node khi pod Pending |
| Nền tảng | regional cluster |
| Nâng cấp cụm GKE | Nội dung |
|---|---|
| Release channel | Rapid / Regular / Stable |
| Maintenance window | khung giờ được phép nâng cấp |
| Surge upgrade | tạo node mới trước khi gỡ node cũ |
| Blue/green node pool | an toàn nhất cho production |
| Kèm theo | PDB để pod không bị gỡ quá nhiều |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Cụm thuộc kiểu nào | gcloud container clusters describe <ten> → location | | Node trải mấy zone | kubectl get nodes -L topology.kubernetes.io/zone | | Pod có trải đều không | kubectl get pods -o wide |
Và một chi tiết chi phí hay gây bất ngờ khi chuyển sang regional: con số node là số node MỖI ZONE. Một cụm "3 node" trải ba zone thực chất chạy chín máy — hãy luôn nhân với số zone trước khi so sánh với cụm zonal hiện tại.
- A gcloud config login
- B gcloud auth login
- C gcloud login
- D gcloud init
Xem giải thích
Đáp án
B và D — gcloud auth login và gcloud init.
Vì sao đúng
Cả hai đều mở trình duyệt để đăng nhập và cấp quyền cho gcloud, chỉ khác nhau ở phạm vi.
⚠ Hai lệnh, hai mức độ:
gcloud auth login
↓
CHỈ xác thực
→ lưu thông tin đăng nhập vào máy
→ không đụng tới project hay Region
gcloud init
↓
Xác thực VÀ cấu hình trọn gói
→ đăng nhập, chọn project,
chọn Region và zone mặc định,
tạo configuration
↓
→ lệnh nên dùng khi thiết lập máy LẦN ĐẦU
⚠ Và một điểm rất quan trọng — ADC là thứ TÁCH BIỆT:
gcloud auth login
↓
Cho phép bạn chạy lệnh `gcloud`
gcloud auth application-default login
↓
Cấp Application Default Credentials
cho THƯ VIỆN CLIENT của ứng dụng
↓
→ code Python/Java gọi API Google
dùng ADC, KHÔNG dùng thông tin của auth login
↓
→ hoàn toàn có chuyện gcloud chạy ngon
mà script bên cạnh báo lỗi xác thực
Xem thêm câu #12481 (CÙNG LÔ): cùng một câu hỏi, cùng hai đáp án. Chỉ khác chữ cái — ở đó là A và C, ở đây là B và D. Khoá nhất quán.
Vì sao các phương án khác sai
-
C (
gcloud login) — đây là phương án gần nhất và rất dễ gõ nhầm, nhưngloginkhông phải nhóm ở cấp cao nhất. Đúng làgcloud auth login. -
A (
gcloud config login) — nhómconfigđể đặt thuộc tính cấu hình, không có động từlogin.
Ghi nhớ
⚠ Các lệnh xác thực gcloud — bảng phải thuộc: | Lệnh | Việc | |---|---| | gcloud init | thiết lập trọn gói: đăng nhập + project + Region | | gcloud auth login | chỉ đăng nhập tài khoản người dùng | | gcloud auth application-default login | ADC cho THƯ VIỆN CLIENT | | gcloud auth activate-service-account --key-file | dùng service account | | gcloud auth list | xem tài khoản đã đăng nhập | | gcloud auth print-access-token | in token để dùng với curl |
Từ khoá nhận diện:
"thiết lập máy lần đầu" →
gcloud init"chỉ cần đăng nhập" →gcloud auth login"code local lỗi xác thực" →application-default login"CI/CD" → Workload Identity Federation "gcloud login" → SAI — thiếu nhómauth
| ADC — thứ tự tìm kiếm | Bước |
|---|---|
| 1 | Biến GOOGLE_APPLICATION_CREDENTIALS |
| 2 | Thông tin từ gcloud auth application-default login |
| 3 | Metadata server — khi chạy trên GCE, GKE, Cloud Run, Cloud Functions |
| Hệ quả | code chạy TRÊN Google Cloud tự có thông tin xác thực |
| Thực hành tốt | không tải khoá service account về máy khi tránh được |
| Xác thực cho CI/CD — theo thứ tự khuyến nghị | Cách |
|---|---|
| Workload Identity Federation | KHÔNG có khoá nào — GitHub Actions, GitLab, AWS |
| Workload Identity (GKE) | pod dùng service account Google không cần khoá |
| Metadata server | khi chạy trên chính GCP |
| Khoá JSON | cách cuối cùng — phải xoay và bảo vệ |
| Chặn tạo khoá | Organization Policy iam.disableServiceAccountKeyCreation |
| Impersonation — an toàn và tiện | Nội dung |
|---|---|
| Cờ | --impersonate-service-account=<email> |
| Việc | chạy lệnh dưới danh nghĩa một service account |
| Quyền cần | roles/iam.serviceAccountTokenCreator |
| Lợi ích | không cần tải khoá JSON |
| Kiểm toán | audit log ghi rõ ai impersonate ai |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Đang đăng nhập bằng gì | gcloud auth list | | ADC đã có chưa | kiểm tra tệp trong ~/.config/gcloud/ | | Token của ai | gcloud auth print-access-token rồi tra tokeninfo |
Và một nguyên nhân gây bối rối rất phổ biến: gcloud auth login và gcloud auth application-default login là hai thứ tách biệt. Lệnh đầu cho phép bạn chạy gcloud, lệnh sau cho phép mã ứng dụng gọi API — nên gcloud chạy ngon lành mà script Python bên cạnh vẫn báo lỗi xác thực là chuyện hoàn toàn bình thường.
- A Create a data lifecycle management policy that prevents data from being saved outside of North America.
- B Create an Cloud Audit policy that prevents users from creating resources outside of North America.
- C Create a policy at the folder level of the resource hierarchy that includes a constraint using a Resource Location Restriction.
- D Create a policy at the organization level of the resource hierarchy that includes a constraint using a Resource Location Restriction.
Xem giải thích
Đáp án
D — Tạo policy ở cấp TỔ CHỨC với ràng buộc RESOURCE LOCATION RESTRICTION.
Vì sao đúng
Yêu cầu là không tài nguyên nào được tạo ngoài Bắc Mỹ, và chỉ Organization Policy áp ở cấp tổ chức mới phủ được mọi nơi.
⚠ Điểm mấu chốt — ràng buộc gcp.resourceLocations:
constraints/gcp.resourceLocations
↓
Khai danh sách vị trí ĐƯỢC PHÉP
in:northamerica-locations
in:us-locations
↓
→ mọi lời gọi tạo tài nguyên ở vị trí khác
BỊ TỪ CHỐI
↓
Áp ở cấp ORGANIZATION
↓
→ KẾ THỪA xuống mọi folder, mọi project
→ kể cả project TẠO MỚI SAU NÀY
⚠ Vì sao phải TỔ CHỨC chứ không phải folder:
Cấp FOLDER
↓
Chỉ phủ project TRONG folder đó
→ project ở nhánh khác KHÔNG bị ràng buộc
↓
Cấp ORGANIZATION
↓
→ phủ TOÀN BỘ, không có ngoại lệ
→ đúng yêu cầu "không tài nguyên nào"
Xem thêm câu #12478 (CÙNG LÔ): cùng một câu hỏi, cùng đáp án. Chỉ khác chữ cái — ở đó là A, ở đây là D. Khoá nhất quán.
Vì sao các phương án khác sai
-
C (policy ở cấp FOLDER) — đây là phương án gần nhất và dùng đúng ràng buộc, chỉ sai phạm vi: folder không phủ được mọi project trong tổ chức.
-
B (tạo Cloud Audit policy ngăn tạo tài nguyên) — audit log chỉ GHI LẠI, không NGĂN CHẶN gì cả.
-
A (chính sách quản lý vòng đời dữ liệu) — lifecycle policy quyết định chuyển lớp lưu trữ hay xoá khi nào, không kiểm soát vị trí địa lý.
Ghi nhớ
⚠ Organization Policy ↔ IAM — bảng phải thuộc: | | Organization Policy | IAM | |---|---|---| | Trả lời | "CẤU HÌNH nào được phép" | "AI được làm GÌ" | | Ví dụ | giới hạn vị trí, cấm IP công cộng | cấp vai trò | | Phạm vi | organization / folder / project | organization → tài nguyên | | Tương đương AWS | ≈ SCP | ≈ IAM policy |
Từ khoá nhận diện:
"chỉ được ở khu vực X" →
gcp.resourceLocations"cấm VM có IP công cộng" →compute.vmExternalIpAccess"cấm chia sẻ ra ngoài tên miền" →iam.allowedPolicyMemberDomains"ai được làm gì" → IAM "phủ mọi project kể cả project mới" → cấp ORGANIZATION
| Các constraint hay dùng | Việc |
|---|---|
gcp.resourceLocations |
giới hạn khu vực |
compute.vmExternalIpAccess |
cấm IP công cộng cho VM |
iam.allowedPolicyMemberDomains |
chỉ danh tính trong tên miền công ty |
iam.disableServiceAccountKeyCreation |
cấm tạo khoá service account |
storage.uniformBucketLevelAccess |
ép IAM thay ACL |
sql.restrictPublicIp |
cấm Cloud SQL có IP công cộng |
compute.requireShieldedVm |
ép Shielded VM |
| Cách khai giá trị vị trí | Nội dung |
|---|---|
in:northamerica-locations |
Bắc Mỹ |
in:us-locations |
Hoa Kỳ |
in:eu-locations |
châu Âu |
in:asia-southeast1-locations |
một Region cụ thể |
| Khai bằng | allowed values hoặc denied values |
| Bẫy khi áp policy vị trí | Nội dung |
|---|---|
| Tài nguyên ĐÃ TỒN TẠI không bị xoá | policy chỉ chặn tạo mới |
| Một số dịch vụ là toàn cầu | IAM, Cloud DNS, Billing |
| Có thể làm đứt dịch vụ | ví dụ chặn Region đang lưu bản sao lưu |
| Nên làm | áp thử ở một folder trước |
| Quét tài nguyên cũ | Cloud Asset Inventory |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Policy đang áp | gcloud resource-manager org-policies describe gcp.resourceLocations --organization=<id> | | Có chặn đúng không | thử tạo VM ở Region bị cấm — phải bị từ chối | | Còn tài nguyên nào sai chỗ | Cloud Asset Inventory, lọc theo location |
Và một việc phải làm ngay sau khi áp: quét toàn bộ tài nguyên đã tồn tại bằng Cloud Asset Inventory. Organization Policy chỉ chặn việc tạo mới — mọi tài nguyên đã nằm ngoài Bắc Mỹ vẫn tiếp tục chạy và vẫn lưu dữ liệu ở đó, và chính chúng mới là phần vi phạm mà kiểm toán viên sẽ tìm thấy.
- A gsutil rn
- B gsutil cp
- C gsutil rename
- D gsutil mv
Xem giải thích
Đáp án
D — gsutil mv
Vì sao đúng
Cloud Storage không có thao tác "đổi tên" thật sự, và mv là lệnh làm đúng việc mà người dùng cần.
⚠ Điểm mấu chốt — đổi tên thực chất là COPY rồi DELETE:
Cloud Storage là kho ĐỐI TƯỢNG
↓
Tên đối tượng (key) là BẤT BIẾN
↓
→ không có API "rename"
↓
gsutil mv gs://bucket/cu.txt gs://bucket/moi.txt
↓
Bên dưới thực hiện:
1. COPY sang tên mới
2. DELETE tên cũ
↓
→ kết quả là "đổi tên", nhưng cơ chế là hai bước
⚠ Hệ quả cần biết:
Vì là copy + delete:
↓
- Tính phí thao tác GHI và XOÁ
- Với tệp lớn thì mất thời gian
- KHÔNG nguyên tử — có khoảng thời gian
cả hai tên cùng tồn tại, hoặc mất cả hai
nếu đứt giữa chừng
↓
- Đối tượng mới có THỜI ĐIỂM TẠO MỚI
→ ảnh hưởng lifecycle rule theo tuổi
- Với bucket bật versioning,
bản cũ vẫn còn dưới dạng phiên bản
⚠ Đổi tên hàng loạt và công cụ hiện hành:
Nhiều tệp cùng lúc:
gsutil -m mv gs://bucket/thu-muc/* gs://bucket/moi/
↓
-m → chạy SONG SONG, nhanh hơn nhiều
↓
Công cụ mới hơn:
gcloud storage mv gs://... gs://...
↓
→ nhanh hơn gsutil đáng kể với khối lượng lớn
→ Google đang chuyển sang gcloud storage
Vì sao các phương án khác sai
-
B (
gsutil cp) — đây là phương án gần nhất và thực hiện nửa đầu của việc, nhưng nó chỉ sao chép: tệp cũ vẫn còn nguyên, nên không phải "đổi tên". -
A (
gsutil rn) — không có lệnh này. -
C (
gsutil rename) — cũng không tồn tại. Trực giác từ hệ thống tệp thông thường, nhưng kho đối tượng không có thao tác đó.
Ghi nhớ
⚠ Các lệnh Cloud Storage — bảng phải thuộc: | Lệnh cũ (gsutil) | Lệnh mới (gcloud storage) | Việc | |---|---|---| | gsutil ls | gcloud storage ls | liệt kê | | gsutil cp | gcloud storage cp | sao chép | | gsutil mv | gcloud storage mv | di chuyển / đổi tên | | gsutil rm | gcloud storage rm | xoá | | gsutil rsync | gcloud storage rsync | đồng bộ thư mục | | gsutil rewrite -s | gcloud storage objects update --storage-class | đổi storage class | | -m | mặc định song song | chạy song song |
Từ khoá nhận diện:
"đổi tên tệp trong bucket" →
mv(thực chất là copy + delete) "sao chép" →cp"đồng bộ thư mục" →rsync"đổi storage class" →objects update --storage-class"gsutil rename" → KHÔNG TỒN TẠI
| Vì sao kho đối tượng không có "rename" | Nội dung |
|---|---|
| Tên đối tượng là khoá | dữ liệu được đánh chỉ mục theo khoá đó |
| Không có thư mục thật | dấu / chỉ là quy ước hiển thị |
| "Đổi tên thư mục" | thực chất là đổi tên MỌI đối tượng có tiền tố đó |
| Hệ quả | thư mục nhiều tệp thì thao tác rất lâu và tốn phí |
| Thay thế | thiết kế tên đối tượng cho đúng ngay từ đầu |
Chi phí và rủi ro của mv hàng loạt |
Nội dung |
|---|---|
| Phí thao tác | mỗi tệp là một COPY và một DELETE |
| Phí dữ liệu | copy trong cùng bucket không tốn phí mạng, khác Region thì có |
| Không nguyên tử | đứt giữa chừng → trạng thái nửa vời |
| Versioning | bản cũ còn dưới dạng phiên bản, vẫn tính tiền lưu trữ |
| Khuyến nghị | -m hoặc gcloud storage để chạy song song |
| Các thao tác an toàn hơn cho khối lượng lớn | Cách |
|---|---|
gcloud storage rsync |
đồng bộ, chỉ chuyển phần khác biệt |
| Storage Transfer Service | dịch vụ được quản lý, có lịch, có báo cáo |
| Object Lifecycle | tự chuyển class hoặc xoá theo tuổi |
| Kiểm tra trước | --dry-run với rsync |
| Với dữ liệu rất lớn | Transfer Appliance |
| Cấu trúc tên đối tượng nên thiết kế từ đầu | Nội dung |
|---|---|
| Theo ngày | logs/2026/09/02/... — dễ đặt lifecycle rule |
| Theo thực thể | khach-hang/<id>/... |
| Tránh tiền tố tuần tự | ảnh hưởng thông lượng khi ghi rất nhiều |
| Lý do | đổi cấu trúc sau này là copy toàn bộ dữ liệu |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Tệp đã đổi tên chưa | gcloud storage ls gs://bucket/ | | Bản cũ còn phiên bản không | gcloud storage ls -a gs://bucket/ | | Thao tác tốn bao nhiêu | Billing report, mục Class A/B operations |
Và một điều nên cân nhắc trước khi đổi tên hàng loạt trong một bucket lớn: mỗi tệp là một lượt copy và một lượt delete. Với vài triệu đối tượng, chi phí thao tác và thời gian chạy đều đáng kể — nên nếu mục đích chỉ là tổ chức lại cho gọn, hãy cân nhắc giữ nguyên tên cũ và dùng prefix mới cho dữ liệu mới thay vì di chuyển toàn bộ quá khứ.
- A BigQuery
- B Bigtable
- C Cloud Dataproc
- D Cloud Spanner
Xem giải thích
Đáp án
B — Bigtable.
Vì sao đúng
Ba dấu hiệu đều chỉ về Bigtable: dữ liệu cảm biến IoT, ghi khối lượng lớn với độ trễ thấp, và đang dùng HBase.
⚠ Điểm mấu chốt — Bigtable tương thích API với HBase:
Đội đang dùng HBase
↓
Bigtable có HBASE CLIENT LIBRARY
↓
→ mã ứng dụng chuyển gần như nguyên vẹn
→ và Bigtable là DỊCH VỤ ĐƯỢC QUẢN LÝ
↓
→ đúng yêu cầu "chuyển sang managed service"
⚠ Đặc tính kỹ thuật khớp với IoT:
Dữ liệu cảm biến từ xe
↓
- Khối lượng GHI rất lớn, liên tục
- Cần độ trễ mili giây
- Dữ liệu CHUỖI THỜI GIAN
↓
Bigtable
↓
- Thông lượng ghi rất cao, mở rộng bằng thêm node
- Độ trễ ổn định ở mili giây
- Thiết kế riêng cho chuỗi thời gian
⚠ Nhưng ROW KEY quyết định tất cả:
Bigtable CHỈ có MỘT chỉ mục: row key
↓
Row key bắt đầu bằng DẤU THỜI GIAN
↓
→ mọi lượt ghi dồn vào MỘT node
→ HOTSPOT, thông lượng sụp đổ
↓
Mẫu đúng cho IoT:
<ma-thiet-bi>#<dau-thoi-gian>
hoặc thêm tiền tố băm
Xem thêm câu #12489 (CÙNG LÔ): cùng một câu hỏi, cùng đáp án Bigtable. Chỉ khác chữ cái — ở đó là A, ở đây là B. Khoá nhất quán.
Vì sao các phương án khác sai
-
A (BigQuery) — đây là phương án gần nhất vì cũng xử lý dữ liệu rất lớn, nhưng BigQuery là kho PHÂN TÍCH: tối ưu cho truy vấn quét lớn, không cho ghi từng bản ghi với độ trễ mili giây. (Mô hình phổ biến là Bigtable ghi và đọc nóng, BigQuery phân tích.)
-
D (Cloud Spanner) — CSDL quan hệ có giao dịch, chi phí cao hơn nhiều và không tối ưu cho khối lượng ghi chuỗi thời gian.
-
C (Cloud Dataproc) — nền tảng Hadoop/Spark, không phải CSDL.
Ghi nhớ
⚠ Bigtable — bảng phải thuộc: | Đặc điểm | Nội dung | |---|---| | Loại | NoSQL cột rộng, được quản lý | | Tương thích | HBase API | | Chỉ mục | CHỈ có ROW KEY | | Độ trễ | mili giây một chữ số | | Mở rộng | thêm node, thông lượng tăng tuyến tính | | Không có | giao dịch nhiều dòng, SQL đầy đủ, join | | Dùng cho | IoT, chuỗi thời gian, tài chính, cá nhân hoá |
Từ khoá nhận diện:
"HBase, IoT, chuỗi thời gian, ghi rất nhiều" → Bigtable "phân tích, SQL, báo cáo" → BigQuery "giao dịch quan hệ" → Cloud SQL hoặc Spanner "ứng dụng di động, offline" → Firestore "cache trong bộ nhớ" → Memorystore
| Thiết kế row key — quan trọng nhất | Nguyên tắc |
|---|---|
| TRÁNH | dấu thời gian ở ĐẦU row key → hotspot |
| TRÁNH | ID tự tăng đều |
| NÊN | <thuc-the>#<dau-thoi-gian> |
| NÊN | thêm tiền tố băm khi số thực thể ít |
| Kiểm tra | Key Visualizer — trực quan hoá hotspot |
| Lưu ý | row key KHÔNG đổi được sau khi có dữ liệu |
| Bigtable — cấu hình và chi phí | Nội dung |
|---|---|
| Instance | chứa một hoặc nhiều cluster |
| Cluster | ở một zone, có N node |
| Nhân bản | thêm cluster ở zone hoặc Region khác |
| App profile | quyết định lưu lượng đi tới cluster nào |
| Chi phí | theo NODE và dung lượng |
| Lưu trữ | SSD (độ trễ thấp) hoặc HDD (rẻ) |
| Tối thiểu | 1 node dev, 3 node cho production |
| Kiến trúc IoT điển hình trên GCP | Luồng |
|---|---|
| 1 | Thiết bị → Pub/Sub |
| 2 | Dataflow xử lý luồng |
| 3 | Bigtable — dữ liệu nóng, truy vấn độ trễ thấp |
| 4 | BigQuery — dữ liệu lịch sử, phân tích |
| 5 | Looker — báo cáo |
| Lý do dùng cả hai | Bigtable ghi và đọc nóng, BigQuery phân tích |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Có hotspot không | Key Visualizer trong console | | Node có đủ không | chỉ số CPU utilization — nên dưới 70% | | Độ trễ thực tế | chỉ số read/write latency |
Và một việc đáng làm ngay từ giai đoạn thiết kế: thử vài mẫu row key trên dữ liệu mẫu rồi kiểm tra bằng Key Visualizer. Row key không đổi được sau khi đã có dữ liệu, và một thiết kế sai sẽ giới hạn thông lượng của cả cụm bất kể bạn thêm bao nhiêu node.
- A Cloud Data Fusion
- B Cloud Build
- C Cloud Dataprep
- D Compute Engine
Xem giải thích
Đáp án
A — Cloud Data Fusion.
Vì sao đúng
Đề cần đường ống ETL đọc từ nhiều nguồn, biến đổi, ghi vào BigQuery — và không muốn quản máy chủ.
⚠ Điểm mấu chốt — ETL được quản lý, có giao diện kéo thả:
Cloud Data Fusion
↓
Dịch vụ tích hợp dữ liệu ĐƯỢC QUẢN LÝ
(dựa trên CDAP mã nguồn mở)
↓
Hơn 150 CONNECTOR có sẵn:
Cloud Storage, Cloud Spanner, BigQuery,
Cloud SQL, Pub/Sub, JDBC…
↓
Bên dưới chạy trên Dataproc do Google quản
↓
→ không dựng máy, không vá
⚠ Đúng ba việc đề mô tả:
Đọc từ Cloud Storage và Cloud Spanner
→ có connector sẵn cho cả hai
↓
Gộp dữ liệu hai nguồn
→ có sẵn transform Joiner
↓
Ghi vào BigQuery
→ có sink sẵn
↓
→ dựng toàn bộ mà không viết mã
Xem thêm câu #12468 (CÙNG LÔ): cùng một câu hỏi, cùng đáp án Cloud Data Fusion. Chỉ khác chữ cái — ở đó là B, ở đây là A. Khoá nhất quán.
Vì sao các phương án khác sai
-
C (Cloud Dataprep) — đây là phương án gần nhất và cũng là công cụ dữ liệu không cần mã, nhưng Dataprep hướng tới khám phá và làm sạch dữ liệu trực quan cho nhà phân tích, không phải dựng đường ống sản xuất từ nhiều nguồn hệ thống.
-
D (Compute Engine) — đòi tự quản máy chủ, trái yêu cầu.
-
B (Cloud Build) — dịch vụ CI/CD, không phải công cụ xử lý dữ liệu.
Ghi nhớ
⚠ Các dịch vụ dữ liệu của GCP — bảng phải thuộc: | Dịch vụ | Việc | |---|---| | Cloud Data Fusion | ETL KÉO THẢ, hơn 150 connector | | Dataflow | Apache Beam — luồng và lô, PHẢI VIẾT MÃ | | Dataproc | Hadoop và Spark được quản lý | | Dataprep | làm sạch và khám phá trực quan | | BigQuery | kho dữ liệu, SQL, serverless | | Pub/Sub | hàng đợi tin nhắn | | Composer | điều phối luồng công việc (Airflow) |
Từ khoá nhận diện:
"ETL không viết mã, không quản server" → Cloud Data Fusion "xử lý luồng, logic phức tạp" → Dataflow "đã có job Spark" → Dataproc "làm sạch dữ liệu bằng giao diện" → Dataprep "điều phối nhiều bước theo lịch" → Cloud Composer
| Dataflow ↔ Data Fusion ↔ Dataproc | Chọn cái nào |
|---|---|
| Dataflow | serverless, viết bằng Beam — luồng và lô |
| Data Fusion | kéo thả, ít mã — dựng nhanh, dễ bàn giao |
| Dataproc | có sẵn mã Spark/Hadoop |
| Chi phí | Data Fusion có phí instance theo giờ — cao cho tải nhỏ |
| Serverless nhất | Dataflow |
| Kiến trúc nạp dữ liệu vào BigQuery | Nguồn |
|---|---|
| Tệp trong Cloud Storage | bq load, hoặc Data Transfer Service |
| Luồng thời gian thực | Pub/Sub → Dataflow → BigQuery |
| CSDL quan hệ | Datastream (CDC), hoặc Data Fusion |
| Nhiều nguồn cần gộp | Data Fusion hoặc Dataflow |
| SaaS | BigQuery Data Transfer Service |
| Truy vấn tại chỗ | BigLake / external table |
| Cloud Data Fusion — cần biết | Nội dung |
|---|---|
| Ba phiên bản | Developer / Basic / Enterprise |
| Tính tiền | theo GIỜ instance, cộng chi phí Dataproc |
| Lưu ý chi phí | instance chạy liên tục — cân nhắc tắt khi không dùng |
| Bảo mật | chạy được trong VPC riêng tư |
| Phù hợp | đội có nhiều pipeline, muốn giao diện chung |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Pipeline chạy thế nào | giao diện Data Fusion → tab Runs | | Lỗi ở bước nào | log pipeline và Cloud Logging | | Chi phí bao nhiêu | Billing, lọc Data Fusion và Dataproc |
Và một điểm chi phí đáng cân nhắc trước khi chọn Data Fusion: instance tính tiền theo giờ kể cả khi không pipeline nào chạy. Với một đội chỉ có vài đường ống chạy hằng đêm, Dataflow thường rẻ hơn nhiều vì chỉ tính tiền lúc job thực thi.
- A In the domain's DNS setting
- B In IAM settings for each identity
- C In the billing account for your organization
- D In the metadata of each resource created in your organization
Xem giải thích
Đáp án
A — Thêm bản ghi đó vào CÀI ĐẶT DNS CỦA TÊN MIỀN.
Vì sao đúng
Google cần bằng chứng bạn thực sự sở hữu tên miền, và cách chuẩn của toàn ngành là đặt một bản ghi vào DNS của tên miền đó.
⚠ Điểm mấu chốt — chỉ chủ sở hữu mới sửa được DNS:
Google cấp một chuỗi xác minh
↓
Bạn thêm nó vào DNS của tên miền:
- bản ghi TXT (phổ biến nhất), hoặc
- bản ghi CNAME
↓
Google truy vấn DNS công khai của tên miền
↓
Thấy đúng chuỗi
↓
→ chứng minh bạn kiểm soát tên miền
→ vì chỉ chủ sở hữu mới sửa được DNS
⚠ Vì sao xác minh tên miền lại quan trọng với Cloud Identity:
Cloud Identity quản lý DANH TÍNH
theo tên miền của bạn
↓
Ví dụ: nhanvien@congty.com
↓
Không xác minh sở hữu
↓
→ bất kỳ ai cũng có thể tạo tài khoản
với tên miền của người khác
↓
→ xác minh là điều kiện bắt buộc
trước khi tạo danh tính
⚠ Và đây là bước nền của cả tổ chức Google Cloud:
Xác minh tên miền
↓
Tạo Cloud Identity (hoặc Workspace)
↓
→ TỰ ĐỘNG sinh ra một ORGANIZATION
trong Google Cloud
↓
→ từ đó mới có phân cấp
Organization → Folder → Project
→ mới áp được Organization Policy
↓
Không có tổ chức thì project nằm rời rạc,
không quản trị tập trung được
Vì sao các phương án khác sai
-
B (thêm vào cài đặt IAM của từng danh tính) — IAM quyết định AI ĐƯỢC LÀM GÌ, không liên quan tới việc chứng minh sở hữu tên miền.
-
C (thêm vào tài khoản thanh toán) — billing account xử lý việc trả tiền, không có chỗ nào cho bản ghi xác minh.
-
D (thêm vào metadata của từng tài nguyên) — metadata là dữ liệu gắn kèm một tài nguyên cụ thể (ví dụ startup script của VM), hoàn toàn khác.
Ghi nhớ
⚠ Cloud Identity — bảng phải thuộc: | Nội dung | Chi tiết | |---|---| | Việc | quản lý danh tính và thiết bị cho tổ chức | | Điều kiện | xác minh sở hữu tên miền qua DNS | | Kết quả | tự tạo một ORGANIZATION trong Google Cloud | | Bản miễn phí | Cloud Identity Free — số lượng người dùng có giới hạn | | Bản trả phí | Cloud Identity Premium — thêm quản lý thiết bị, bảo mật nâng cao | | So với Workspace | Workspace bao gồm Cloud Identity + Gmail, Drive… |
Từ khoá nhận diện:
"xác minh tên miền" → bản ghi TXT hoặc CNAME trong DNS "tạo tổ chức trong Google Cloud" → Cloud Identity hoặc Workspace "đồng bộ người dùng từ Active Directory" → Google Cloud Directory Sync (GCDS) "đăng nhập bằng IdP có sẵn" → SAML SSO "ai được làm gì" → IAM
| Phân cấp tài nguyên của GCP | Cấp |
|---|---|
| Organization | gốc — gắn với tên miền Cloud Identity |
| Folder | nhóm project theo phòng ban hoặc môi trường |
| Project | ranh giới chính của tài nguyên, quyền, hạn ngạch |
| Resource | VM, bucket, bảng… |
| Kế thừa IAM | từ trên xuống, CỘNG DỒN |
| Không có tổ chức | project nằm rời rạc, không áp được Organization Policy |
| Quản lý danh tính cho tổ chức | Cách |
|---|---|
| Cloud Identity | tạo và quản lý người dùng Google |
| Google Cloud Directory Sync | đồng bộ từ Active Directory hoặc LDAP |
| SAML SSO | đăng nhập bằng IdP có sẵn (Okta, Entra ID, ADFS) |
| Group | gán vai trò IAM cho NHÓM, không cho từng người |
| Context-Aware Access | điều kiện theo thiết bị, vị trí, IP |
| Bảo vệ | bắt buộc MFA, và Advanced Protection cho tài khoản quản trị |
| Thực hành tốt về danh tính trên GCP | Nội dung |
|---|---|
| Gán vai trò cho GROUP | không gán cho từng người |
| Tài khoản siêu quản trị | ít người, bắt buộc MFA phần cứng, không dùng hằng ngày |
| Không dùng tài khoản cá nhân (gmail.com) | dùng tên miền công ty |
iam.allowedPolicyMemberDomains |
chặn chia sẻ ra ngoài tên miền |
| Service account | quyền tối thiểu, không tạo khoá JSON khi tránh được |
| Ba loại bản ghi xác minh hay gặp | Nội dung |
|---|---|
| TXT | phổ biến nhất — thêm một chuỗi vào bản ghi TXT |
| CNAME | trỏ một tên miền con tới giá trị Google cấp |
| Tệp HTML | tải lên gốc website (cách khác, không dùng DNS) |
| Thẻ meta | thêm vào trang chủ |
| Với Cloud Identity | DNS là cách được khuyến nghị |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Bản ghi đã lan truyền chưa | dig TXT congty.com | | Tên miền đã xác minh chưa | Google Admin console → Domains | | Tổ chức đã được tạo chưa | gcloud organizations list |
Và một điều cần kiên nhẫn ở bước này: bản ghi DNS cần thời gian lan truyền. Sau khi thêm, có thể mất từ vài phút tới vài giờ tuỳ TTL của tên miền trước khi Google nhìn thấy — nên nếu xác minh thất bại ngay lập tức, hãy dùng dig để kiểm tra bản ghi đã thực sự công khai chưa trước khi nghi ngờ chuỗi xác minh bị sai.
- A gcloud configurations create
- B gcloud config configurations set
- C gcloud config configurations create
- D gcloud configurations set
Xem giải thích
Đáp án
C — gcloud config configurations create
Vì sao đúng
Cấu trúc lệnh gcloud là nhóm — nhóm con — động từ, và configurations nằm trong nhóm config.
⚠ Điểm mấu chốt:
gcloud config configurations create
↑ ↑ ↑
nhóm nhóm con động từ
↓
→ không có nhóm nào tên "configurations"
ở cấp trên cùng
→ "gcloud configurations create" là SAI
⚠ Configuration giải quyết vấn đề gì:
Một configuration lưu một BỘ cài đặt:
project, account, region, zone
↓
Nhiều configuration song song:
gcloud config configurations create prod
gcloud config configurations create dev
↓
Chuyển qua lại:
gcloud config configurations activate prod
↓
→ không phải gõ --project mỗi lệnh
→ không sợ chạy nhầm vào project sản xuất
⚠ Phân biệt create, activate và set:
gcloud config configurations create <ten>
→ TẠO một configuration mới
gcloud config configurations activate <ten>
→ CHUYỂN sang dùng configuration đó
gcloud config set <thuoc-tinh> <gia-tri>
→ ĐẶT một thuộc tính trong configuration
ĐANG HOẠT ĐỘNG
Xem thêm câu #12480 (CÙNG LÔ): cùng một câu hỏi, cùng đáp án. Chỉ khác chữ cái — ở đó là A, ở đây là C. Khoá nhất quán.
Vì sao các phương án khác sai
-
B (
gcloud config configurations set) — đây là phương án gần nhất vì nhóm và nhóm con đúng, nhưng động từ sai:configurationskhông cóset. Tạo làcreate, chuyển làactivate. -
A và D (
gcloud configurations ...) — thiếu nhómconfig.
Ghi nhớ
⚠ Các lệnh về configuration — bảng phải thuộc: | Lệnh | Việc | |---|---| | gcloud config configurations create <ten> | tạo mới | | gcloud config configurations activate <ten> | chuyển sang dùng | | gcloud config configurations list | liệt kê, thấy cái nào IS_ACTIVE | | gcloud config configurations delete <ten> | xoá | | gcloud config set project <id> | đặt thuộc tính trong configuration hiện tại | | gcloud config list | xem cấu hình đang dùng | | --configuration=<ten> | dùng cho đúng một lệnh |
Từ khoá nhận diện:
"nhiều bộ cấu hình CLI" →
gcloud config configurations"đặt project mặc định" →gcloud config set project"xem cấu hình hiện tại" →gcloud config list"gcloud configurations ..." → SAI — thiếuconfig"nhiều tài khoản đăng nhập" →gcloud auth list, và--account
| Thuộc tính hay đặt trong configuration | Thuộc tính |
|---|---|
project |
project mặc định |
account |
tài khoản đăng nhập |
compute/region, compute/zone |
Region và zone mặc định |
run/region |
Region cho Cloud Run |
core/disable_prompts |
tắt hỏi xác nhận — cho script |
| Cờ toàn cục đáng nhớ | Việc |
|---|---|
--project=<id> |
ghi đè project cho một lệnh |
--configuration=<ten> |
dùng configuration khác |
--impersonate-service-account=<email> |
chạy dưới danh nghĩa service account |
--format và --filter |
định dạng và lọc kết quả |
--quiet |
không hỏi xác nhận |
--verbosity=debug |
gỡ lỗi khi lệnh thất bại |
| Mẫu dùng configuration thực tế | Nội dung |
|---|---|
| Một configuration cho mỗi môi trường | prod, staging, dev |
| Hiện tên trong dấu nhắc shell | tránh chạy nhầm vào production |
| Trong CI/CD | dùng --project tường minh |
| Trước lệnh nguy hiểm | gcloud config get-value project |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Đang dùng configuration nào | gcloud config configurations list | | Project hiện tại | gcloud config get-value project | | Tài khoản hiện tại | gcloud auth list |
Và một thói quen tránh được một loại sự cố rất khó chịu: hiện tên configuration đang hoạt động trong dấu nhắc shell. Phần lớn các lần chạy nhầm lệnh vào production bắt nguồn từ việc quên phiên terminal đang trỏ vào đâu — và một dòng chữ trong dấu nhắc giải quyết triệt để chuyện đó.
A new team member has just created a new project in Google Cloud. What role is automatically granted to them when they create the project?
- A roles/viewer
- B roles/owner
- C roles/browser
- D roles/editor
Xem giải thích
Đáp án
B — roles/owner
Vì sao đúng
Người tạo ra một project tự động trở thành chủ sở hữu của project đó — đây là hành vi mặc định của Google Cloud.
⚠ Điểm mấu chốt — người tạo là chủ sở hữu:
Người dùng tạo một project mới
↓
Google Cloud TỰ ĐỘNG gán
roles/owner
cho chính người đó
↓
→ toàn quyền trên project:
quản tài nguyên, quản IAM,
xoá cả project
↓
→ hợp lý, vì họ cần cấu hình project vừa tạo
⚠ Nhưng đây là một vai trò BASIC, và rất rộng:
roles/owner
↓
Bao gồm:
- mọi quyền của editor
- QUẢN LÝ IAM (thêm, xoá người khác)
- xoá project
- cấu hình thanh toán (ở một mức độ)
↓
→ cực kỳ rộng
→ không nên là trạng thái lâu dài
của một dự án production
⚠ Việc nên làm ngay sau khi tạo project:
1. Gán các vai trò PREDEFINED hẹp hơn
cho từng người và từng nhóm
↓
2. Chuyển quyền owner sang một GROUP quản trị
thay vì một cá nhân
↓
3. Gỡ owner của cá nhân đó
↓
→ tránh tình trạng "project của một người"
mà khi họ nghỉ việc thì không ai vào được
↓
Và kiểm soát ở tầng trên:
Organization Policy + IAM ở cấp folder
Vì sao các phương án khác sai
-
D (
roles/editor) — đây là phương án gần nhất và cũng là một vai trò rất rộng, nhưng editor KHÔNG quản lý được IAM và không xoá được project. Người tạo project cần cả hai, nên vai trò được gán là owner. -
A (
roles/viewer) — chỉ đọc, không đủ để cấu hình bất cứ thứ gì. -
C (
roles/browser) — chỉ cho xem phân cấp tài nguyên (project, folder), rất hẹp.
Ghi nhớ
⚠ Bốn vai trò basic của Google Cloud — bảng phải thuộc: | Vai trò | Quyền | |---|---| | roles/owner | mọi thứ của editor + QUẢN LÝ IAM + xoá project | | roles/editor | tạo, sửa, xoá TÀI NGUYÊN — không quản IAM | | roles/viewer | chỉ đọc | | roles/browser | chỉ xem phân cấp (project, folder, organization) | | Khuyến nghị | tránh dùng basic role cho production — quá rộng |
Từ khoá nhận diện:
"người tạo project được vai trò gì" →
roles/owner"quản lý tài nguyên nhưng không quản IAM" →roles/editor"chỉ xem" →roles/viewer"thực hành tốt về bảo mật" → predefined role, không dùng basic "predefined vẫn quá rộng" → custom role
| Ba loại vai trò IAM — nhắc lại | Nội dung |
|---|---|
| Basic | owner / editor / viewer / browser — quá rộng |
| Predefined | theo dịch vụ, Google bảo trì — NÊN DÙNG |
| Custom | tự chọn permission — bạn tự bảo trì |
| Nguyên tắc | bắt đầu từ predefined hẹp nhất đủ dùng |
| Việc nên làm sau khi tạo project | Bước |
|---|---|
| 1 | Đặt project vào đúng FOLDER trong phân cấp |
| 2 | Chuyển owner sang một GROUP quản trị, không để cá nhân |
| 3 | Gán predefined role cho từng nhóm theo nhu cầu thật |
| 4 | Gắn label (team, env, cost-center) |
| 5 | Gắn billing account phù hợp |
| 6 | Kiểm tra Organization Policy đã áp xuống chưa |
| 7 | Bật audit log cần thiết, đặt budget alert |
| Vì sao không nên để owner là một cá nhân | Nội dung |
|---|---|
| Người nghỉ việc | project có thể mất chủ |
| Rủi ro tập trung | tài khoản bị chiếm là mất cả project |
| Khó kiểm toán | không rõ ai chịu trách nhiệm |
| Cách đúng | gán owner cho một GROUP, quản thành viên trong group |
| Bổ sung | IAM Deny policy và Organization Policy để ràng buộc từ trên |
| Kiểm soát quyền ở tầng tổ chức | Công cụ |
|---|---|
| Organization Policy | ràng buộc cấu hình — vị trí, IP công cộng, khoá SA |
| IAM Deny policy | từ chối tường minh, thắng mọi Allow |
| IAM Recommender | gợi ý thu hẹp vai trò theo 90 ngày dùng thật |
| Policy Analyzer | ai có quyền gì trên tài nguyên nào |
| Cloud Asset Inventory | quét toàn bộ tài nguyên và chính sách |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Ai là owner của project | gcloud projects get-iam-policy <id> | | Có quyền nào thừa không | IAM Recommender | | Project nằm ở đâu trong phân cấp | gcloud projects describe <id> → xem parent |
Và một việc rất nên làm định kỳ ở mọi tổ chức: rà soát danh sách những ai đang giữ roles/owner. Vai trò này thường được gán trong lúc dựng dự án rồi không ai gỡ ra, nên sau vài năm số người có toàn quyền trên các project production thường lớn hơn nhiều so với những gì bất kỳ ai còn nhớ.
- A Compute Engine
- B App Engine
- C Cloud Functions
- D Kubernetes Engine
Xem giải thích
Đáp án
B — App Engine.
Vì sao đúng
Bốn ràng buộc của đề: tải rất thấp phần lớn thời gian, có lúc tăng đột biến, chi phí thấp nhất, ít công quản lý.
⚠ Điểm mấu chốt — App Engine Standard co giãn tới KHÔNG:
Không có request → co về 0 instance
↓
→ gần như KHÔNG TỐN TIỀN khi nhàn rỗi
↓
Có đợt tăng đột biến
↓
→ tự khởi chạy thêm instance trong vài giây
→ cold start rất nhanh với runtime Python
↓
Và bạn KHÔNG quản máy chủ, không vá,
không cấu hình load balancer
⚠ App Engine Standard ↔ Flexible:
STANDARD
↓
Sandbox, runtime dựng sẵn
CO VỀ 0, khởi động trong GIÂY
→ rẻ nhất khi tải thấp
FLEXIBLE
↓
Container trên Compute Engine
KHÔNG co về 0 — luôn ≥ 1 instance
Khởi động chậm hơn (phút)
→ dùng khi cần thư viện hệ thống đặc thù
Xem thêm câu #12482 (lô 131): cùng một câu hỏi, cùng đáp án App Engine. Chỉ khác chữ cái — ở đó là D, ở đây là B. Khoá nhất quán.
Vì sao các phương án khác sai
-
C (Cloud Functions) — đây là phương án gần nhất và cũng co về 0, nhưng nó hướng tới hàm phản ứng với một sự kiện, không phải một ứng dụng có nhiều route. Về mô hình, App Engine sát hơn.
-
D (Kubernetes Engine) — rất nhiều công quản lý, và cụm phải chạy liên tục nên tốn tiền cả khi không có tải.
-
A (Compute Engine) — tự quản máy hoàn toàn, trái yêu cầu.
Ghi nhớ
⚠ Năm lựa chọn tính toán của GCP — bảng phải thuộc: | Dịch vụ | Đặc điểm | |---|---| | Compute Engine | VM — bạn quản mọi thứ | | GKE | Kubernetes được quản lý | | Cloud Run | container serverless, co về 0 | | App Engine | PaaS — đẩy mã lên là chạy, co về 0 (Standard) | | Cloud Functions | hàm phản ứng với sự kiện | | Thứ tự công sức | Compute Engine > GKE > App Engine Flexible > Cloud Run ≈ App Engine Standard > Cloud Functions |
Từ khoá nhận diện:
"web app, ít công, co về 0" → App Engine Standard hoặc Cloud Run "phản ứng với sự kiện" → Cloud Functions "đã có container" → Cloud Run "microservice phức tạp" → GKE "App Engine Flexible" → KHÔNG co về 0
| Giảm chi phí cho tải biến động | Cách |
|---|---|
| Co giãn về 0 | App Engine Standard, Cloud Run, Cloud Functions |
min-instances |
giữ instance ấm để giảm cold start — đánh đổi chi phí |
max-instances |
trần chi phí khi có đợt tăng bất thường |
| Committed use discount | cho tải nền ổn định |
| Spot VM | cho tải chịu được gián đoạn |
| Cloud Run — lựa chọn hiện đại đáng biết | Nội dung |
|---|---|
| Chạy | bất kỳ container nào nghe cổng HTTP |
| Co giãn | về 0, lên hàng nghìn instance |
| Tính tiền | theo thời gian xử lý request |
| Kích hoạt | HTTP, Eventarc, Pub/Sub, Cloud Scheduler |
| Xu hướng | Google đang hợp nhất Cloud Functions vào Cloud Run functions |
Ba việc kiểm chứng: | Việc | Cách | |---|---| | Đang chạy mấy instance | App Engine → Instances | | Cold start bao lâu | Cloud Trace, hoặc log request đầu tiên | | Chi phí thực tế | Billing report, lọc App Engine |
Và một cấu hình đáng cân nhắc nếu độ trễ request đầu tiên là vấn đề: đặt min_instances bằng 1. Nó giữ một instance luôn ấm nên hết cold start, đổi lại trả tiền cho instance đó suốt ngày đêm — đánh đổi rất đáng với API phục vụ người dùng thật.