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áy chủ gắn thẻ trên App Engine của Google Cloud Platform (GCP).
  • 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.
  • Hãy 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ó tài khoản GCP. Nếu bạn chưa có, 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 tài khoản thanh toán GCP (yêu cầu 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. Cấp phé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 phải:

  • 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ẻ 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ủ trong 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 vùng chứ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 thông tin này để cấp phép máy chủ.

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

Cấp phé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 đã 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 thử nghiệm 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 Chuẩn và trong hầu hết các trường hợp, bạn sẽ không phải chịu bất kỳ chi phí nào.

2. Sử dụng App Engine trong quá trình sản xuất

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, bộ nhớ 0,5 GB, ổ đĩa 10 GB trong môi trường Linh hoạt.

Xem bài viết Quản lý chi phí App Engine để hiểu rõ việc thanh toán trên App Engine và cách định cấu hình thông 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 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 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 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 triển khai thành production.
    2. Thiết lập thêm các máy chủ để phân phát lưu lượng truy cập thực tế. 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ý

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.) mà nó 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ụ: nhiều hơn 1 triệu), thì các thông điệp nhật ký đó có thể phải chịu 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 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ý). Đảm bảo rằng 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 Trình quản lý thẻ mẫu.
  2. Đối với Loại: bộ chứa Cloud Logging, 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 mục Sink destination (Đích đến của Sink), hãy chọn bộ chứa nhật ký _Default (Mặc định).
  4. Trong mục Chọn nhật ký để đưa vào bồn lưu trữ, 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 Sink để áp dụng các thay đổi. Giờ đây, các yêu cầu App Engine sẽ bị loại trừ 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 báo vào bảng điều khiển. Điều này có thể gây ra 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ý 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ở 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 của 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ý bảng điều khiển:

  1. Trong Google Cloud Platform, hãy mở Trình đị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 của bạn:
    ảnh chụp màn hình bộ chọn dự án GCP, trong đó cho thấy mã vùng chứa Trình quản lý thẻ mẫu.
  2. Đối với dòng Type (Loại): Cloud Logging bucket (Bộ chứa nhật ký trên đám mây), Name (Tên): _Default (Mặc định), hãy chọn trình đơn mục bổ sung, sau đó nhấp vào Edit Sink (Chỉnh sửa Sink).
  3. Trong mục Sink destination (Đích đến của Sink), hãy chọn bộ chứa nhật ký _Default (Mặc định).
  4. Trong phần Chọn nhật ký để thêm vào bồn rửa, 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 nhật ký.

  5. Cập nhật bồn lưu trữ để á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 bản triển khai với miền tuỳ chỉnh

Phương thứ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 quá 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 rằng Trình quản lý thẻ của Google biết rằng máy chủ của bạn sẽ được sử dụng.

  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 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 rồi quay lại không gian làm việc.

5. Xác thực

Giờ đây, bạn đã thiết lập máy chủ gắn thẻ, hãy đảm bảo rằng máy chủ đó 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ứ đã đượ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 với một máy chủ gắn thẻ, hãy nhớ 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, thì tất cả các đường dẫn (chuỗi sau tên miền) đều phải khớp.

Công việc 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ới cho máy chủ gắn thẻ chứa các bản sửa lỗi 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 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 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.

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

  1. Mở Cloud Shell của Google Cloud Platform.
  2. Thiết lập 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 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 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ẻ Console (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ờ khi triển khai phiên bản chính thức

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ể dẫn đến việc này. 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 chính thức. Theo mặc định, các trình xử lý 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 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 (Quản trị và quyền truy cập) trong thanh điều hướng bên trái của Google Cloud Console.
    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 Trình chỉnh sửa.
  2. Không đủ hạn mức – Quá trình triển khai chính thức sẽ sử dụng 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 cấp phát tài nguyên.

    1. Chuyển đến trang IAM & Admin (Quản trị và quyền truy cập) trong thanh điều hướng bên trái của Google Cloud Console, sau đó nhấp vào thẻ Quotas (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. 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 thấp hơn giới hạn cho khu vực triển khai.