Thiết lập cấu hình gắn thẻ phía máy chủ bằng App Engine

Hướng dẫn này giải thích cách:

  • Cấp phép một máy chủ gắn thẻ trên Google Cloud Platform (GCP) App Engine.
  • Nâng cấp máy chủ gắn thẻ để xử lý giao thông theo thời gian thực.
  • Tăng hoặc giảm số lượng máy chủ đang chạy vùng chứa Trình quản lý thẻ của Google.
  • Luôn cập nhật phiên bản máy chủ gắn thẻ sau khi cấp phép máy chủ.

Điều kiện tiên quyết

  1. Bạn cần có một tài khoản GCP. Nếu bạn chưa có tài khoản, hãy tạo một tài khoản GCP mới.
  2. Bạn cần có một tài khoản thanh toán GCP. Nếu bạn chưa có, hãy tạo một tài khoản thanh toán GCP (bạn cần có vai trò Người tạo tài khoản thanh toán).
  3. Bạn cần có vai trò Người tạo dự án và Người dùng tài khoản thanh toán. Tìm hiểu thêm về cách thêm vai trò.

1. Cung cấp máy chủ

Để tạo một máy chủ gắn thẻ mới trên một phiên bản App Engine, bạn cần:

  • Tạo vùng chứa phía máy chủ mới trong Trình quản lý thẻ
  • Tạo một dự án mới trên Google Cloud (GCP)
  • Cung cấp một máy chủ gắn thẻ App Engine mới
  • Thêm URL của máy chủ gắn thẻ mới vào vùng chứa phía máy chủ của Trình quản lý thẻ

Tạo vùng chứa phía máy chủ Trình quản lý thẻ của Google

  1. Mở Trình quản lý thẻ của Google.

  2. Trong hàng tài khoản, hãy nhấp vào trình đơn mục bổ sung > Tạo vùng chứa.

  3. Tạo một vùng chứa phía máy chủ mới.

  4. Nhấp vào nút chọn "Cấp phép máy chủ gắn thẻ theo cách thủ công". Lưu ý cấu hình vùng chứa. Bạn sẽ cần có khoá này để cung cấp máy chủ.

Tạo một dự án mới trên GCP

Cách tạo một dự án GCP mới cho máy chủ gắn thẻ:

  1. Mở Google Cloud Console.

  2. Tạo một dự án GCP mới.

  3. Đặt tên cho dự án. Bạn nên sử dụng mã vùng chứa để thuận tiện. Tên này chỉ được dùng trong GCP.

  4. Ghi lại mã dự án trên Google Cloud Platform vì bạn sẽ cần mã này để tạo máy chủ gắn thẻ.

Cung cấp một máy chủ gắn thẻ mới

Cách tạo máy chủ gắn thẻ:

  1. Mở Cloud Shell.

  2. Thiết lập dự án trên GCP trong Cloud Shell. Thay thế project ID bằng mã dự án GCP mà bạn đã ghi lại trước đó:

    gcloud config set project project ID
    
  3. Tạo máy chủ gắn thẻ bằng cách làm theo tập lệnh shell. Đặt loại triển khai thành testing.

    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    

Thêm URL máy chủ gắn thẻ vào Trình quản lý thẻ

  1. Mở Trình quản lý thẻ của Google.

  2. Trong mục Quản trị > Cài đặt vùng chứa, hãy nhấp vào Thêm URL. Nếu bạn không biết URL của máy chủ, hãy chạy lệnh sau trong Cloud Shell:

    gcloud app browse
    

    Kết quả: Bạn đã thiết lập một máy chủ gắn thẻ và cấp phép cho máy chủ đó bằng cấu hình testing. Giờ đây, bạn có thể kiểm thử tính năng gắn thẻ phía máy chủ.

Cấu hình máy chủ ban đầu (testing)

Cấu hình kiểm thử phù hợp để khám phá sản phẩm bằng cách gửi một lượng nhỏ lưu lượng truy cập kiểm thử và sử dụng tính năng Xem trước trong Trình quản lý thẻ. Cấu hình này là một lớp thực thể F1 App Engine trong môi trường Chuẩn và trong hầu hết các trường hợp, bạn sẽ không phải trả bất kỳ chi phí nào.

2. Sử dụng App Engine trong giai đoạn phát hành chính thức

Trong cấu hình production, mỗi máy chủ có chi phí khoảng 40 USD / tháng. Mỗi máy chủ là một phiên bản App Engine có 1 vCPU, 0,5 GB bộ nhớ, 10 GB ổ đĩa trong môi trường linh hoạt.

Hãy xem phần Quản lý chi phí App Engine để tìm hiểu về việc thanh toán App Engine và cách định cấu hình cảnh báo thanh toán. Bạn nên thiết lập cảnh báo thanh toán.

Bạn nên chạy tối thiểu 3 máy chủ để giảm nguy cơ mất dữ liệu trong trường hợp máy chủ ngừng hoạt động. Tuy nhiên, bạn có thể chọn chạy ít (hoặc nhiều) máy chủ hơn. Chúng tôi dự kiến việc tự động mở rộng quy mô 3-6 máy chủ (mặc định) sẽ xử lý 50-200 yêu cầu mỗi giây. Hiệu suất phụ thuộc vào số lượng thẻ và chức năng của các thẻ đó.

Cách định cấu hình máy chủ gắn thẻ:

  1. Mở Cloud Shell của Google Cloud Platform.
  2. Đặt dự án Cloud Platform trong Cloud Shell. Thay thế project ID bằng mã dự án GCP mà bạn đã ghi lại trước đó:
    gcloud config set project project ID
  3. Để định cấu hình lại máy chủ gắn thẻ cho môi trường sản xuất, hãy chạy tập lệnh thiết lập bên dưới. Thực hiện các thao tác sau:
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
    1. Thay đổi loại triển khai thành production.
    2. Thiết lập các máy chủ bổ sung để phân phát lưu lượng truy cập thực. Bạn nên sử dụng tối thiểu 3 máy chủ.

Không bắt buộc: Tắt tính năng ghi nhật ký

Ghi nhật ký yêu cầu

Theo mặc định, App Engine ghi lại thông tin về từng yêu cầu (ví dụ: đường dẫn yêu cầu, tham số truy vấn, v.v.) mà ứng dụng nhận được. Nếu máy chủ gắn thẻ của bạn xử lý nhiều yêu cầu mỗi tháng (ví dụ: hơn 1 triệu), thì những thông báo nhật ký đó có thể phát sinh phí ghi nhật ký đáng kể. Để giảm hoặc loại bỏ các khoản phí ghi nhật ký, bạn nên tắt tính năng ghi nhật ký yêu cầu App Engine.

Cách tắt tính năng ghi nhật ký yêu cầu của App Engine:

  1. Trong Google Cloud Platform, hãy mở Trình định tuyến nhật ký. Đảm bảo rằng bạn đang ở trong dự án khớp với mã vùng chứa của bạn:
    Ảnh chụp màn hình bộ chọn dự án GCP, cho thấy mã nhận dạng mẫu của vùng chứa Trình quản lý thẻ.
  2. Đối với Loại: Nhóm Cloud Logging, Tên: _Default, hãy chọn trình đơn mục bổ sung, rồi nhấp vào Chỉnh sửa đích nhận.
  3. Trong mục Đích đến của bồn lưu trữ dữ liệu, hãy chọn bộ chứa nhật ký _Default.
  4. Trong mục Chọn nhật ký để đưa vào đích nhận, hãy thêm một dòng mới. Nhập quy tắc sau vào bộ lọc đưa vào hiện có:

    NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT
    LOG_ID("appengine.googleapis.com/request_log")
    
  5. Để cũng tắt tính năng ghi nhật ký từ bộ cân bằng tải, hãy thêm một dòng mới và nhập quy tắc sau vào bộ lọc bao gồm hiện có:

    NOT LOG_ID("requests")
    
  6. Cập nhật Sink để áp dụng các thay đổi. Giờ đây, các yêu cầu App Engine sẽ không được ghi nhật ký.

  7. Xác minh rằng không có yêu cầu mới nào xuất hiện trong nhật ký Trình khám phá nhật ký.

Ghi nhật ký trên bảng điều khiển

Máy chủ gắn thẻ, ứng dụng hoặc thẻ trong một vùng chứa có thể ghi lại các thông báo vào bảng điều khiển. Điều này có thể phát sinh phí ghi nhật ký. Để giảm hoặc loại bỏ các khoản phí ghi nhật ký, bạn có thể tắt các thông báo nhật ký không mong muốn trên bảng điều khiển.

Xác định các nhật ký bảng điều khiển không mong muốn:

  1. Trong GCP, hãy mở Trình khám phá nhật ký.
  2. Tìm mọi thông báo nhật ký không mong muốn bắt nguồn từ thẻ của bạn. Ví dụ:

    Một thẻ có thể gửi các nhật ký sau:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    Tìm thông báo nhật ký tương ứng trong trường textPayload:
    Ảnh chụp màn hình của Trình khám phá nhật ký GCP, cho thấy nhật ký mẫu.

Cách tắt thông báo nhật ký trên bảng điều khiển:

  1. Trong Google Cloud Platform, hãy mở Trình định tuyến nhật ký. Đảm bảo rằng bạn đang ở trong dự án khớp với mã vùng chứa của mình:
    Ảnh chụp màn hình bộ chọn dự án GCP, cho thấy mã nhận dạng mẫu của vùng chứa Trình quản lý thẻ.
  2. Đối với Loại: Nhóm Cloud Logging, Tên: _Mặc định, hãy chọn trình đơn mục bổ sung, rồi nhấp vào Chỉnh sửa đích nhận.
  3. Trong mục Đích đến của bồn lưu trữ dữ liệu, hãy chọn bộ chứa nhật ký _Default.
  4. Trong mục Chọn nhật ký để đưa vào đích nhận, hãy thêm một dòng mới. Nhập quy tắc sau vào bộ lọc đưa vào hiện có:

    NOT textPayload:"Custom message:"
    

    Đối với nhật ký bảng điều khiển, hãy thay thế văn bản Custom message: bằng một chuỗi con trong nhật ký bảng điều khiển mà bạn muốn tắt. Để có các bộ lọc chi tiết hơn, hãy sử dụng ngôn ngữ truy vấn ghi nhật ký.

  5. Cập nhật Sink để áp dụng các thay đổi. Bạn nên loại trừ thông báo logToConsole trùng khớp khỏi nhật ký.

  6. Xác minh rằng không có thông báo nhật ký bảng điều khiển mới nào xuất hiện trong Trình khám phá nhật ký.

3. Liên kết việc triển khai với miền tuỳ chỉnh của bạn

Việc triển khai tính năng gắn thẻ phía máy chủ mặc định được lưu trữ trên một miền App Engine. Bạn nên sửa đổi việc triển khai để sử dụng một miền con của trang web.

Liên kết miền con của trang web với máy chủ gắn thẻ.

4. Thêm URL máy chủ vào Trình quản lý thẻ của Google

Giờ đây, khi đã có một máy chủ, bạn cần đảm bảo rằng Trình quản lý thẻ của Google biết rằng hệ thống nên sử dụng máy chủ của bạn.

  1. Mở Trình quản lý thẻ của Google.

  2. Nhấp vào vùng chứa phía máy chủ mà bạn muốn trỏ đến máy chủ gắn thẻ.

  3. Mở phần cài đặt vùng chứa phía máy chủ trong thẻ Quản trị > Cài đặt vùng chứa.

  4. Nhấp vào Thêm URL rồi dán URL máy chủ của bạn.

  5. Lưu và quay lại không gian làm việc.

5. Xác thực

Sau khi thiết lập máy chủ gắn thẻ, hãy đảm bảo rằng máy chủ này hoạt động như dự kiến.

Xác minh giao diện người dùng

Trong không gian làm việc của Trình quản lý thẻ, hãy nhấp vào nút Xem trước. Nếu trang xem trước tải, thì tức là bạn đã thiết lập mọi thứ đúng cách.

Xác minh API

Bạn cũng có thể xác minh rằng máy chủ đang phản hồi các quy trình kiểm tra tình trạng bằng API của máy chủ:

  1. Sao chép URL vùng chứa phía máy chủ từ Quản trị > Cài đặt vùng chứa.
  2. Mở một thẻ trình duyệt mới.
  3. Dán URL và thêm /healthy vào đường dẫn. Ví dụ: https://www.example.com/metrics/healthy
  4. Nếu dịch vụ của bạn hoạt động, bạn sẽ thấy văn bản ok trên trang.

Nếu thiếu yêu cầu cho một sản phẩm cụ thể, hãy xác minh rằng một sự kiện đang được kích hoạt. Lệnh config khởi tạo sản phẩm, nhưng dữ liệu thường chỉ được truyền khi event được gọi.

Để biết thêm thông tin về các phương pháp hay nhất để xác minh tính năng gắn thẻ phía máy chủ, hãy xem phần Cấu hình miền tuỳ chỉnh.

Xem trước nhiều URL

Nếu bạn đã liên kết nhiều miền với một máy chủ gắn thẻ duy nhất, hãy đảm bảo rằng bạn đã thêm từng URL vào chế độ cài đặt vùng chứa.

Nếu bạn cung cấp nhiều URL, tất cả đường dẫn (chuỗi sau tên miền) đều phải khớp.

Works Không hoạt động
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Nếu thêm nhiều URL, bạn sẽ thấy một biểu tượng bên cạnh nút Xem trước cho phép bạn chọn URL để xem trước.

Cập nhật phiên bản máy chủ gắn thẻ

Các bản cập nhật máy chủ gắn thẻ mới có các bản sửa lỗi về lỗ hổng bảo mật và các tính năng mới. Bạn nên cập nhật máy chủ gắn thẻ ít nhất cho mỗi bản phát hành phiên bản chính (ví dụ: nâng cấp từ phiên bản 1.x.x lên 2.x.x) khi Trình quản lý thẻ thông báo cho bạn về việc cập nhật.

Để cập nhật máy chủ gắn thẻ, hãy chạy lại tập lệnh thiết lập bằng cách sử dụng cùng chế độ cài đặt mà bạn đã dùng trước đó. Các chế độ cài đặt hiện có được đặt theo mặc định.

Cách cập nhật máy chủ gắn thẻ:

  1. Mở Cloud Shell của Google Cloud Platform.
  2. Đặt dự án Cloud Platform trong Cloud Shell. Thay thế project ID bằng mã dự án GCP mà bạn đã ghi lại trước đó:
    gcloud config set project project ID
  3. Chạy tập lệnh thiết lập bằng các chế độ cài đặt mà bạn đã sử dụng trước đó. Các chế độ cài đặt hiện có được đặt theo mặc định.
    bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"

Cách xác minh rằng quá trình cập nhật đã thành công:

  1. Trong vùng chứa phía máy chủ, hãy nhấp vào nút Xem trước để bắt đầu một phiên gỡ lỗi mới và gửi yêu cầu trên một thẻ riêng.
  2. Trong phần Tóm tắt, hãy chọn thẻ Bảng điều khiển và đảm bảo không có thông báo yêu cầu bạn cập nhật máy chủ gắn thẻ.

Trình quản lý thẻ có thể hiển thị thông báo yêu cầu bạn cập nhật máy chủ gắn thẻ trong tối đa một ngày sau khi máy chủ được cập nhật thành công. Tuy nhiên, trang xem trước sẽ cho thấy thông báo mới nhất về phiên bản máy chủ gắn thẻ.

Khắc phục sự cố hết thời gian chờ triển khai sản xuất

Khi bạn chạy tập lệnh thiết lập để tạo hoặc định cấu hình lại máy chủ gắn thẻ, tập lệnh có thể hết thời gian chờ. Có một số lý do có thể khiến điều này xảy ra. Hai loại phổ biến nhất là:

  1. Tài khoản dịch vụ có quyền không chính xác – Tài khoản dịch vụ Compute Engine và App Engine chịu trách nhiệm triển khai và duy trì việc triển khai sản xuất. Theo mặc định, các nhóm này được định cấu hình sẵn với các quyền thích hợp. Tuy nhiên, trong một số trường hợp, chính sách của một tổ chức có thể khiến các thông tin này không chính xác.

    1. Chuyển đến trang IAM & Admin (IAM và Quản trị viên) trong thanh điều hướng bên trái của bảng điều khiển Cloud.
    2. Tìm tài khoản dịch vụ Compute Engine <project_number>-compute@developer.gserviceaccount.com và tài khoản dịch vụ App Engine <project_name>@appspot.gserviceaccount.com.
    3. Cả hai tài khoản dịch vụ đều phải có vai trò Editor. Nếu một trong hai tài khoản không có vai trò Editor, hãy cập nhật vai trò bằng cách nhấp vào biểu tượng bút chì ở bên phải tài khoản, nhấp vào trình đơn thả xuống của vai trò hiện có, di chuyển lên trên cùng rồi nhấp vào Dự án, sau đó nhấp vào Người chỉnh sửa.
  2. Không đủ hạn mức – Việc triển khai phiên bản phát hành tiêu thụ hạn mức Compute Engine. Nếu dự án không có đủ hạn mức, quá trình triển khai có thể hết thời gian chờ trong khi cố gắng cung cấp tài nguyên.

    1. Chuyển đến trang IAM & Admin (IAM và Quản trị viên) trong thanh điều hướng bên trái trên bảng điều khiển Google Cloud, rồi nhấp vào thẻ Hạn mức trong thanh điều hướng bên trái.
    2. Ở gần đầu trang, hãy nhấp vào hộp văn bản có nội dung Lọc bảng rồi nhập Compute Engine API. Nhấp vào kết quả duy nhất.
    3. Xác minh rằng tất cả trạng thái hạn mức đều nằm trong giới hạn hoặc có dấu đánh dấu màu xanh lục.
    4. Tìm và nhấp vào CPU. Xác minh rằng mức sử dụng hiện tại cộng với số lượng thực thể đang được triển khai vẫn sẽ thấp hơn giới hạn cho vùng triển khai.