1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ tạo một Trình cân bằng tải ứng dụng nội bộ theo khu vực L7 và một Phụ trợ Private Service Connect để có quyền truy cập theo hướng bắc vào Looker. Quyền truy cập Northbound vào Looker yêu cầu VPC của người dùng được đưa vào danh sách cho phép đối với phiên bản Looker PSC.
Private Service Connect là một tính năng của mạng Google Cloud, cho phép người dùng truy cập riêng tư vào các dịch vụ được quản lý từ bên trong mạng VPC của họ. Tương tự, tính năng này cho phép nhà sản xuất dịch vụ được quản lý lưu trữ các dịch vụ này trong mạng VPC riêng của họ và cung cấp kết nối riêng tư cho người tiêu dùng. Ví dụ: khi sử dụng Private Service Connect để truy cập vào Looker, bạn là người sử dụng dịch vụ và Google là nhà cung cấp dịch vụ, như minh hoạ trong Hình 1.
Hình 1.

Quyền truy cập Southbound (còn gọi là PSC đảo ngược) cho phép Người tiêu dùng tạo một Dịch vụ đã xuất bản dưới dạng Nhà sản xuất để cho phép Looker truy cập vào các điểm cuối tại chỗ, trong VPC, vào các dịch vụ được quản lý và Internet. Bạn có thể triển khai các kết nối chiều nam ở bất kỳ khu vực nào, bất kể bạn triển khai PSC của Looker ở đâu, như minh hoạ trong Hình 2.
Hình 2.

Kiến thức bạn sẽ học được
- Yêu cầu về mạng
- Cập nhật danh sách cho phép của Looker để truy cập theo hướng bắc
- Tạo một phần phụ trợ Private Service Connect trong VPC của người dùng
- Chứng chỉ do Google ký so với chứng chỉ tự ký
Bạn cần có
- Dự án trên Google Cloud có quyền của chủ sở hữu
- Miền đã đăng ký
- Phiên bản PSC Looker hiện có

2. Sản phẩm bạn sẽ tạo ra
Bạn sẽ thiết lập một Mạng người tiêu dùng được đưa vào danh sách cho phép, looker-psc-demo, để triển khai trình cân bằng tải ứng dụng L7 nội bộ theo khu vực và NEG phụ trợ PSC yêu cầu có chứng chỉ do Google quản lý hoặc tự quản lý. Để biết thêm thông tin, hãy xem trang tóm tắt về trình cân bằng tải và chứng chỉ.
3. Yêu cầu về mạng
Dưới đây là bảng chi tiết về các yêu cầu đối với mạng:
Thành phần | Mô tả |
VPC (looker-psc-demo) | VPC ở chế độ tuỳ chỉnh |
Mạng con PSC NEG | Được dùng để phân bổ địa chỉ IP cho Nhóm thiết bị đầu cuối của mạng |
Chỉ mạng con proxy | Mỗi proxy của bộ cân bằng tải được chỉ định một địa chỉ IP nội bộ. Các gói được gửi từ một proxy đến một VM hoặc điểm cuối phụ trợ có địa chỉ IP nguồn từ mạng con chỉ dành cho proxy. |
Dịch vụ phụ trợ | Dịch vụ phụ trợ đóng vai trò là cầu nối giữa trình cân bằng tải và các tài nguyên phụ trợ. Trong hướng dẫn này, dịch vụ phụ trợ được liên kết với NEG PSC. |
4. Cấu trúc liên kết lớp học lập trình

5. Thiết lập và yêu cầu
Thiết lập môi trường theo tốc độ của riêng bạn
- Đăng nhập vào Google Cloud Console rồi tạo một dự án mới hoặc sử dụng lại một dự án hiện có. Nếu chưa có tài khoản Gmail hoặc Google Workspace, bạn phải tạo một tài khoản.



- Tên dự án là tên hiển thị của những người tham gia dự án này. Đây là một chuỗi ký tự mà các API của Google không sử dụng. Bạn luôn có thể cập nhật thông tin này.
- Mã dự án là mã duy nhất trên tất cả các dự án trên Google Cloud và không thể thay đổi (bạn không thể thay đổi mã này sau khi đã đặt). Cloud Console sẽ tự động tạo một chuỗi duy nhất; thường thì bạn không cần quan tâm đến chuỗi này. Trong hầu hết các lớp học lập trình, bạn sẽ cần tham chiếu đến Mã dự án (thường được xác định là
PROJECT_ID). Nếu không thích mã nhận dạng được tạo, bạn có thể tạo một mã nhận dạng ngẫu nhiên khác. Hoặc bạn có thể thử tên người dùng của riêng mình để xem tên đó có được chấp nhận hay không. Bạn không thể thay đổi tên này sau bước này và tên này sẽ tồn tại trong suốt thời gian của dự án. - Để bạn nắm được thông tin, có một giá trị thứ ba là Số dự án mà một số API sử dụng. Tìm hiểu thêm về cả 3 giá trị này trong tài liệu.
- Tiếp theo, bạn cần bật tính năng thanh toán trong Cloud Console để sử dụng các tài nguyên/API trên Cloud. Việc thực hiện lớp học lập trình này sẽ không tốn nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh bị tính phí ngoài phạm vi hướng dẫn này, bạn có thể xoá các tài nguyên đã tạo hoặc xoá dự án. Người dùng mới của Google Cloud đủ điều kiện tham gia chương trình Dùng thử miễn phí trị giá 300 USD.
Khởi động Cloud Shell
Mặc dù có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trên Cloud.
Trên Bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ ở trên cùng bên phải:

Quá trình này chỉ mất vài phút để cung cấp và kết nối với môi trường. Khi quá trình này kết thúc, bạn sẽ thấy như sau:

Máy ảo này được trang bị tất cả các công cụ phát triển mà bạn cần. Nó cung cấp một thư mục chính có dung lượng 5 GB và chạy trên Google Cloud, giúp tăng cường đáng kể hiệu suất mạng và hoạt động xác thực. Bạn có thể thực hiện mọi thao tác trong lớp học lập trình này trong trình duyệt. Bạn không cần cài đặt bất cứ thứ gì.
6. Trước khi bắt đầu
Bật API
Trong Cloud Shell, hãy đảm bảo rằng bạn đã thiết lập mã dự án:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
Bật tất cả các dịch vụ cần thiết:
gcloud services enable compute.googleapis.com
7. Mạng lưới người tiêu dùng
Trong phần sau, bạn sẽ tạo mạng lưới người tiêu dùng sẽ được cập nhật trong danh sách cho phép VPC PSC của Looker.
Mạng VPC
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute networks create looker-psc-demo --subnet-mode custom
Tạo mạng con
Trong Cloud Shell, hãy tạo mạng con nhóm thiết bị đầu cuối của mạng người dùng:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
Trong Cloud Shell, hãy tạo mạng con của trình cân bằng tải ứng dụng nội bộ:
gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access
Trong Cloud Shell, hãy tạo mạng con chỉ dành cho proxy theo khu vực của nhà sản xuất:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
8. Tạo miền tuỳ chỉnh
Bạn cần thực hiện các bước sau để thiết lập miền tuỳ chỉnh:
Trong ví dụ bên dưới, looker.cosmopup.com là miền tuỳ chỉnh

Ví dụ về OAuth
Dưới đây là ví dụ về thông tin đăng nhập OAuth cho Nguồn gốc được uỷ quyền và lệnh gọi lại cho miền phụ looker.cosmopup.com.

9. Các chứng chỉ
Bạn có thể tạo chứng chỉ Compute Engine hoặc Certificate Manager. Sử dụng một trong các phương thức sau để tạo chứng chỉ bằng Trình quản lý chứng chỉ:
- Chứng chỉ tự quản lý theo khu vực. Để biết thông tin về cách tạo và sử dụng chứng chỉ tự quản lý theo khu vực, hãy xem phần triển khai chứng chỉ tự quản lý theo khu vực. Không được hỗ trợ bản đồ chứng chỉ.
- Chứng chỉ do Google quản lý theo khu vực. Không được hỗ trợ bản đồ chứng chỉ. Certificate Manager hỗ trợ các loại chứng chỉ do Google quản lý theo khu vực sau đây:
- Chứng chỉ do Google quản lý theo khu vực với uỷ quyền DNS cho mỗi dự án. Để biết thêm thông tin, hãy xem bài viết Triển khai chứng chỉ do Google quản lý theo khu vực.
- Chứng chỉ (riêng tư) do Google quản lý theo khu vực bằng Dịch vụ tổ chức phát hành chứng chỉ. Để biết thêm thông tin, hãy xem bài viết Triển khai chứng chỉ do Google quản lý theo khu vực bằng Dịch vụ CA.
10. Thêm VPC của Looker vào danh sách cho phép
Xem các VPC được phép
Trong phần sau, bạn sẽ sử dụng giao diện người dùng Cloud Console để xem danh sách VPC được phép của Looker.
Trong Cloud Console, hãy chuyển đến:
Looker → Thực thể Looker → Chi tiết
Ví dụ bên dưới, không có mục nào trong danh sách VPC được phép:

Cập nhật các VPC được phép
Cập nhật thực thể Looker để hỗ trợ quyền truy cập northbound bằng cách thêm looker-psc-demo làm VPC được phép.
Trong Cloud Console, hãy chuyển đến:
Looker → Thực thể Looker → Chỉnh sửa

Kết nối → VPC được cho phép
Đảm bảo bạn chọn dự án nơi looker-psc-demo được triển khai, sau đó chọn VPC looker-psc-demo rồi chọn Tiếp tục.


Xác thực các VPC được phép
Xem danh sách VPC được phép đã cập nhật
Trong Cloud Console, hãy chuyển đến:
Looker → Thực thể Looker → Chi tiết

11. Tạo Phụ trợ PSC
Looker PSC với tư cách là Nhà sản xuất dịch vụ sẽ tạo ra một URI Đính kèm dịch vụ mà Người tiêu dùng dịch vụ sử dụng để triển khai các điểm cuối và phần phụ trợ nhằm có được quyền truy cập theo hướng bắc vào Looker. Trong bước tiếp theo, bạn sẽ xác định URI của Tệp đính kèm dịch vụ PSC của Looker, sau đó tạo một phụ trợ Nhóm điểm cuối mạng (NEG) Kết nối dịch vụ riêng tư trong VPC của Người dùng.
Xác định PSC Service Attachment của Looker
Trong Cloud Console, hãy chuyển đến và sao chép URI của tệp đính kèm dịch vụ:
Looker → Thực thể Looker → Chi tiết

Tạo nhóm điểm cuối mạng PSC
Trong Cloud Shell, hãy thực hiện các bước sau để đảm bảo bạn cập nhật psc-target-service:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Ví dụ:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
Xác thực việc tạo nhóm cuối mạng PSC
Trong Cloud Shell, hãy thực hiện các bước sau, đảm bảo pscConnectionStatus được chấp nhận:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
Ví dụ:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
Tạo một Trình cân bằng tải ứng dụng nội bộ theo khu vực
Trong các bước sau, bạn sẽ sử dụng Cloud Console để tạo trình cân bằng tải ứng dụng nội bộ theo khu vực trong khi liên kết các chứng chỉ đã tạo với cấu hình giao diện người dùng.
Trong Cloud Console, hãy chuyển đến:
Dịch vụ mạng → Cân bằng tải → Tạo trình cân bằng tải

Chọn các tuỳ chọn sau:

Tạo cấu hình phụ trợ
Chọn các lựa chọn sau và tuỳ chỉnh môi trường dựa trên quá trình triển khai của bạn:
- Khu vực được dùng để triển khai cơ sở hạ tầng mạng
- Mạng: looker-psc-demo
- Mạng con Chỉ dùng proxy được tự động điền sẵn dựa trên khu vực và mạng của bạn




Quy tắc định tuyến
Không cần định cấu hình

Cấu hình giao diện người dùng



Đảm bảo bạn đã bật bộ cân bằng tải và lấy được địa chỉ IP.
Trong Cloud Console → Network Services (Dịch vụ mạng) → Load Balancing (Cân bằng tải) → looker-ilb-alb

12. phân giải DNS
Quy trình phân giải DNS cho miền tuỳ chỉnh có thể là DNS tại chỗ có thẩm quyền hoặc Cloud DNS. Trong hướng dẫn này, chúng ta sẽ xác định Cloud DNS là máy chủ có thẩm quyền cho Miền tuỳ chỉnh của Looker. Để bật tính năng phân giải DNS từ cơ sở tại chỗ sang GCP, bạn cần bật chính sách Máy chủ đến. Khi bạn tạo một chính sách máy chủ đến, Cloud DNS sẽ tạo các điểm truy cập chính sách máy chủ đến trong mạng VPC mà chính sách máy chủ được áp dụng. Điểm truy cập chính sách máy chủ đến là địa chỉ IPv4 nội bộ có nguồn gốc từ dải địa chỉ IPv4 chính của mọi mạng con trong mạng VPC có thể áp dụng, ngoại trừ mạng con chỉ dành cho proxy.
Trong phần sau, một vùng DNS riêng tư cho Miền tuỳ chỉnh của Looker, looker.cosmopup.com và bản ghi A sẽ được tạo, bao gồm địa chỉ IP của bộ cân bằng tải.
13. Tạo một vùng DNS riêng tư
Trong Cloud Shell, hãy tạo Vùng DNS riêng tư trên Cloud DNS.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
Trong Cloud Shell, hãy tạo bản ghi A bao gồm địa chỉ IP của bộ cân bằng tải mà bạn đã lấy được ở bước trước đó.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
Ví dụ:
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
Tiếp theo, bạn phải định cấu hình mạng kết hợp (ví dụ: Interconnect, HA-VPN) giữa VPC looker-psc-demo và mạng tại chỗ để bật kết nối.
Sau đây là các bước cần thiết để thiết lập khả năng kết nối NEG kết hợp với cơ sở tại chỗ:
- Chọn một sản phẩm Kết nối mạng | Google Cloud
- Trong cấu trúc trung tâm và vệ tinh có tính năng kết nối ngang hàng VPC, Hybrid NEG được triển khai trong cùng một VPC với Cloud Router (trung tâm)
- Đảm bảo rằng tường lửa tại chỗ được cập nhật để phù hợp với dải mạng con chỉ có proxy, vì mạng con này đóng vai trò là địa chỉ IP nguồn để giao tiếp với các tải tại chỗ
- Cập nhật DNS tại chỗ bằng địa chỉ IP chuyển tiếp đến làm trình phân giải hệ thống tên miền (DNS) cho looker.cosomopup.com
Truy cập vào giao diện người dùng Looker
Giờ đây, khi bộ cân bằng tải đang hoạt động, bạn có thể truy cập vào miền Looker tuỳ chỉnh thông qua trình duyệt web. Điều quan trọng cần lưu ý là bạn có thể gặp phải cảnh báo tuỳ thuộc vào loại chứng chỉ mà bạn đang sử dụng, ví dụ: chứng chỉ không đáng tin cậy so với chứng chỉ đáng tin cậy.
Dưới đây là ví dụ (chứng chỉ không đáng tin cậy) về việc truy cập vào miền tuỳ chỉnh looker.cosmopup.com của Looker để có quyền truy cập theo hướng bắc vào giao diện người dùng Looker:

14. Dọn dẹp
Xoá các thành phần trong phòng thí nghiệm khỏi một thiết bị đầu cuối Cloud Shell:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
15. Xin chúc mừng
Xin chúc mừng, bạn đã định cấu hình và xác thực thành công khả năng kết nối chiều đi đến Looker bằng cách sử dụng một miền của khách hàng và bộ cân bằng tải ứng dụng nội bộ theo khu vực.
Bạn đã tạo cơ sở hạ tầng người tiêu dùng, tìm hiểu cách tạo PSC NEG, miền tuỳ chỉnh và biết các lựa chọn về chứng chỉ. Có rất nhiều điều thú vị để bạn bắt đầu sử dụng Looker.
Cosmopup cho rằng các lớp học lập trình rất tuyệt!!

Tiếp theo là gì?
Hãy xem một số lớp học lập trình này...
- Sử dụng Private Service Connect để xuất bản và sử dụng các dịch vụ
- Kết nối với các dịch vụ tại chỗ qua Mạng kết hợp bằng Private Service Connect và bộ cân bằng tải TCP Proxy nội bộ
- Quyền truy cập vào tất cả các lớp học lập trình đã xuất bản về Private Service Connect
Tài liệu đọc thêm và video
Tài liệu tham khảo
- Sử dụng chứng chỉ SSL tự quản lý | Cân bằng tải | Google Cloud
- Triển khai chứng chỉ do Google quản lý theo khu vực
- Tạo một phần phụ trợ Private Service Connect | VPC | Google Cloud
- Tạo một phần phụ trợ Private Service Connect | VPC | Google Cloud
- Tạo một thực thể Private Service Connect của Looker (Google Cloud core)
- Cách xuất bản dịch vụ bằng Private Service Connect