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:

  • Cung cấ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ý lưu lượng truy cập trực tiếp.
  • 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ẻ của bạn sau khi cấp phép máy chủ.

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

  1. Bạn cần có 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ó tài khoản thanh toán GCP. Nếu bạn chưa có tài khoản, hãy tạo một tài khoản thanh toán GCP (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á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 máy chủ mới trong Trình quản lý thẻ
  • Tạo một dự án Google Cloud (GCP) mới
  • Cung cấp máy chủ gắn thẻ mới trên App Engine
  • 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ủ cho 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". Hãy lưu ý cấu hình vùng chứa. Bạn sẽ cần mật khẩu này để cấp phép cho máy chủ của mình.

Tạo một dự án Google Cloud Platform mới

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 của bạ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. Hãy ghi lại Mã dự án GCP vì bạn sẽ cần mã này để tạo máy chủ gắn thẻ.

Cung cấp 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 GCP trong Cloud Shell. Thay thế project ID bằng mã dự án GCP mà bạn đã thấy 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 hình 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 máy chủ của mình, 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 thử nghiệm 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 của App Engine trong Môi trường tiêu chuẩn và trong hầu hết các trường hợp, bạn sẽ không phải chịu chi phí nào.

2. Sử dụng App Engine trong sản xuất

Trong cấu hình production, mỗi máy chủ có chi phí khoảng 40 USD / tháng (USD). 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 bài viết Quản lý chi phí App Engine để hiểu rõ việc thanh toán qua App Engine và cách định cấu hình các thông báo thanh toán. Bạn nên thiết lập thông báo thanh toán.

Bạn nên chạy ít nhất 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 hơn) máy chủ. Chúng tôi dự kiến rằng việc tự động cấp tài nguyên bổ sung cho 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 Google Cloud Platform.
  2. Đặt dự án Cloud Platform trong Cloud Shell. Thay thế project ID bằng mã dự án trên Google Cloud Platform mà bạn đã lưu ý 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 phát hành chính thức, 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 hình triển khai thành production.
    2. Thiết lập máy chủ bổ sung để phân phát lưu lượng truy cập sản xuất. Bạn nên có tối thiểu 3 máy chủ.

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

Yêu cầu ghi nhật ký

Theo mặc định, App Engine ghi lại thông tin về mọi yêu cầu (ví dụ: đường dẫn yêu cầu, tham số truy vấn, v.v.) nhận được. Nếu máy chủ gắn thẻ của bạn xử lý rất nhiều yêu cầu mỗi tháng (ví dụ: hơn 1 triệu), thì các thông điệp nhật ký đó có thể phát sinh phí ghi nhật ký đáng kể. Để giảm hoặc loại bỏ phí ghi nhật ký, bạn nên tắt tính năng ghi nhật ký yêu cầu của 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ở Logs Router (Bộ định tuyến nhật ký). Hãy đảm bảo bạn đang ở trong dự án khớp với mã vùng chứa:
    ảnh chụp màn hình bộ chọn dự án GCP, cho thấy mã vùng chứa mẫu của Trình quản lý thẻ.
  2. Đối với Loại: Bộ chứa ghi nhật ký đám mây, Tên: _Default, hãy chọn trình đơn mục bổ sung, sau đó nhấp vào Edit Sink (Chỉnh sửa bồn lưu trữ dữ liệu).
  3. Trong Đích đến bồn rửa, chọn bộ chứa nhật ký _Default.
  4. Trong phần Chọn nhật ký để bao gồm trong bồn lưu trữ dữ liệu, 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. Để tắt tính năng ghi nhật ký trong trình 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 đưa vào hiện có:

    NOT LOG_ID("requests")
    
  6. Cập nhật bồn lưu trữ dữ liệu để áp dụng các thay đổi. Giờ đây, các yêu cầu của App Engine sẽ bị loại khỏi việ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ý Logs Explorer (Trình khám phá nhật ký).

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

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

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

  1. Trong GCP, hãy mở Logs Explorer (Trình khám phá nhật ký).
  2. Tìm mọi thông điệp 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 điệp nhật ký tương ứng trong trường textPayload:
    ảnh chụp màn hình Trình khám phá nhật ký GCP, hiển thị các 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ở Logs Router (Bộ định tuyến nhật ký). Hãy đảm bảo bạn đang ở trong dự án khớp với mã vùng chứa:
    ảnh chụp màn hình bộ chọn dự án GCP, cho thấy mã vùng chứa mẫu của Trình quản lý thẻ.
  2. Đối với Loại: Bộ chứa ghi nhật ký đám mây, Tên: _Default, hãy chọn trình đơn mục bổ sung, sau đó nhấp vào Edit Sink (Chỉnh sửa bồn lưu trữ dữ liệu).
  3. Trong Đích đến bồn rửa, chọn bộ chứa nhật ký _Default.
  4. Trong phần Chọn nhật ký để bao gồm trong bồn lưu trữ dữ liệu, 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. Để biết thêm chi tiết về bộ lọc, hãy sử dụng ngôn ngữ truy vấn ghi nhật ký.

  5. Cập nhật bồn lưu trữ dữ liệu để áp dụng các thay đổi. Thông báo logToConsole trùng khớp sẽ được loại trừ khỏi hoạt động ghi nhật ký.

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

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

Hoạt động triển khai 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 quy trình triển khai để sử dụng 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áy chủ, bạn cần đảm bảo Trình quản lý thẻ của Google biết 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ở tùy chọ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 của bạn.

5. Xác nhận kết quả

Giờ bạn đã thiết lập xong 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. 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ì mọi thứ sẽ được thiết lập đúng cách.

Xem trước nhiều URL

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

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

Hoạt động 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 Preview (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 bảo mật và tính năng mới. Bạn nên cập nhật máy chủ gắn thẻ 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) ít nhất khi Trình quản lý thẻ thông báo cho bạn 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 chính các chế độ cài đặt bạn đã dùng trước đó. Các chế độ cài đặt hiện tại được đặt theo mặc định.

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

  1. Mở Cloud Shell Google Cloud Platform.
  2. Đặt dự án Cloud Platform trong Cloud Shell. Thay thế project ID bằng mã dự án trên Google Cloud Platform mà bạn đã lưu ý trước đó:
    gcloud config set project project ID
  3. Chạy tập lệnh thiết lập bằng chính các 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.
    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 máy chủ, hãy nhấp vào nút Preview (Xem trước) để bắt đầu 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 nà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ẽ hiển thị 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 thực 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 vài lý do khiến điều này có thể xảy ra. Hai vấn đề 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ì quá trình triển khai phiên bản chính thức. Theo mặc định, các ứng dụng đó được định cấu hình sẵn bằng 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 tổ chức có thể khiến các giá trị đó không chính xác.

    1. Chuyển đến trang IAM & Admin (IAM và Quản trị viên) trên thanh điều hướng bên trái trong bảng điều khiển Google 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ụ phải có vai trò Editor. Nếu 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 – Quá trình triển khai chính thức sử dụng hạn mức của 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) trên thanh điều hướng bên trái trong bảng điều khiển Google Cloud, sau đó 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 Bộ 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 kiểm màu xanh lục.
    4. Tìm và nhấp vào CPU (CPU). Hãy 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 sẽ vẫn dưới giới hạn cho khu vực triển khai.