1. Giới thiệu
Trong lớp học lập trình này, bạn sẽ triển khai một trình cân bằng tải proxy tcp nội bộ và nhóm điểm cuối mạng (NEG) kết hợp, được xuất bản dưới dạng Dịch vụ nhà sản xuất PSC. NEG sẽ bao gồm Địa chỉ IP và Cổng của cơ sở dữ liệu tự lưu trữ trên nhiều đám mây, chẳng hạn như JIRA, Confluence, Sharepoint.
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 hoặc mạng đa đám mây của riêng họ, cung cấp một 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 cơ sở dữ liệu trên nhiều đám mây, bạn là Nhà sản xuất dịch vụ và Google (Agentspace) là Người tiêu dùng dịch vụ.
Kiến thức bạn sẽ học được
- Yêu cầu về mạng đối với Agentspace
- Các phương pháp hay nhất về mạng Agentspace
- Tạo dịch vụ Nhà sản xuất Private Service Connect
Bạn cần có
- Dự án trên Google Cloud có quyền của chủ sở hữu
2. Sản phẩm bạn sẽ tạo ra
Bạn sẽ thiết lập một mạng Nhà sản xuất, agentspace-psc-demo, để triển khai trình cân bằng tải proxy tcp nội bộ và NEG kết hợp được xuất bản dưới dạng một dịch vụ thông qua Kết nối dịch vụ riêng tư (PSC).
3. Yêu cầu về mạng
Dưới đây là thông tin chi tiết về các yêu cầu về mạng đối với mạng Producer, Consumer trong lớp học lập trình này là Agentspace.
Thành phần | Mô tả |
VPC (agentspace-psc-demo) | VPC ở chế độ tuỳ chỉnh |
Mạng con NAT PSC | Các gói từ mạng VPC của Người tiêu dùng được dịch bằng cách sử dụng NAT nguồn (SNAT) để địa chỉ IP nguồn ban đầu của các gói được chuyển đổi thành địa chỉ IP nguồn từ mạng con NAT trong mạng VPC của Nhà sản xuất. PSC NAT hỗ trợ một mạng con /29 cho mỗi Tệp đính kèm dịch vụ. |
Mạng con quy tắc chuyển tiếp PSC | Được dùng để phân bổ địa chỉ IP cho Trình cân bằng tải TCP nội bộ theo khu vực.Mạng con của quy tắc chuyển tiếp được coi là mạng con thông thườ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 phụ trợ hoặc nhóm điểm cuối mạng có địa chỉ IP nguồn từ mạng con chỉ dành cho proxy.Bạn nên dùng mạng con /23, mặc dù mạng con tối thiểu là /26 vẫn được hỗ trợ. Mỗi khu vực cần có một mạng con proxy theo khu vực. |
NEG kết hợp | Các dịch vụ tại chỗ và các dịch vụ đám mây khác được coi như mọi phụ trợ Cân bằng tải trên đám mây khác. Điểm khác biệt chính là bạn sử dụng một NEG kết nối kết hợp để định cấu hình các điểm cuối của những phần phụ trợ này. Các điểm cuối phải là tổ hợp IP:cổng hợp lệ mà trình cân bằng tải có thể truy cập bằng cách sử dụng các sản phẩm kết nối kết hợp như Cloud VPN hoặc Cloud Interconnect. |
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 kết hợp. |
4. Các phương pháp hay nhất
- AgentSpace hỗ trợ quyền truy cập trên nhiều đám mây vào các cơ sở dữ liệu tự lưu trữ được triển khai tại chỗ hoặc điện toán (ví dụ: AWS EC2 và Azure VM) khi được xuất bản dưới dạng Nhà sản xuất dịch vụ.
- Lưu lượng truy cập vào cơ sở dữ liệu trên nhiều đám mây sẽ bắt nguồn từ mạng con proxy theo khu vực. Do đó, bạn phải cập nhật các quy tắc về tường lửa để đưa lưu lượng truy cập này vào danh sách cho phép.
- Mặc dù mạng con chỉ có proxy được Cloud Router quảng cáo theo mặc định, nhưng hãy xác nhận rằng mạng liên kết các đám mây đã tìm hiểu mạng con này.
- Xác minh rằng mạng VPC Agentspace đã tìm hiểu được mạng con hoặc địa chỉ IP máy chủ của cơ sở dữ liệu trên nhiều đám mây.
- Bật Quyền truy cập toàn cầu trên quy tắc chuyển tiếp của Nhà sản xuất trước khi tạo Tệp đính kèm dịch vụ.
- Bật chế độ truy cập toàn cầu khi tạo điểm cuối Agentspace.
5. Cấu trúc liên kết của lớp học lập trình
6. 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ị cho 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à giá trị 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í 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ền tảng này 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ì.
7. 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]
zone=[YOUR-ZONE]
echo $project
echo $region
Bật tất cả các dịch vụ cần thiết:
gcloud services enable compute.googleapis.com
8. Tạo mạng VPC của nhà sản xuất
Mạng VPC
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
Tạo mạng con
Mạng con PSC sẽ được liên kết với PSC Service Attachment cho mục đích Network Address Translation.
Trong Cloud Shell, hãy tạo Mạng con NAT PSC:
gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
Trong Cloud Shell, hãy tạo mạng con quy tắc chuyển tiếp Producer:
gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.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, được cơ sở dữ liệu trên nhiều đám mây quan sát dưới dạng IP nguồn.
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=agentspace-psc-demo \
--range=10.10.10.0/24
Dự trữ địa chỉ IP của trình cân bằng tải
Trong Cloud Shell, hãy đặt trước một địa chỉ IP nội bộ cho trình cân bằng tải:
gcloud compute addresses create hybrid-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
Trong Cloud Shell, hãy xem địa chỉ IP dành riêng.
gcloud compute addresses describe hybrid-neg-lb-ip \
--region=$region | grep -i address:
Kết quả điểm dữ liệu:
gcloud compute addresses describe hybrid-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Thiết lập NEG kết hợp
Tạo một NEG kết hợp và đặt –network-endpoint-type thành NON_GCP_PRIVATE_IP_PORT
Trong Cloud Shell, hãy tạo một NEG kết hợp dùng để truy cập vào cơ sở dữ liệu tại chỗ:
gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--network=agentspace-psc-demo \
--zone=$zone
Trong Cloud Shell, hãy cập nhật NEG kết hợp bằng IP:Cổng của cơ sở dữ liệu trên nhiều đám mây, 192.168.10.10 và Cổng 443 theo kiến trúc tham chiếu:
gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
--add-endpoint=ip=192.168.10.10,port=443 \
--zone=$zone
Tạo quy trình kiểm tra tình trạng sức khoẻ theo khu vực
Trong Cloud Shell, hãy tạo một quy trình kiểm tra tình trạng để kiểm tra cổng cơ sở dữ liệu tại chỗ, 443:
gcloud compute health-checks create tcp on-prem-443-healthcheck \
--region=$region \
--port=443
Tạo chính sách tường lửa mạng và quy tắc tường lửa
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy
Quy tắc tường lửa sau đây cho phép lưu lượng truy cập từ dải mạng con NAT PSC đến tất cả các phiên bản trong mạng.
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
9. Tạo dịch vụ nhà sản xuất
Tạo các thành phần của trình cân bằng tải
Trong Cloud Shell, hãy tạo một dịch vụ phụ trợ::
gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-443-healthcheck --health-checks-region=$region
Trong Cloud Shell, hãy thêm phần phụ trợ NEG kết hợp vào dịch vụ phụ trợ:
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --region=$region
Trong Cloud Shell, hãy tạo một proxy TCP mục tiêu để định tuyến các yêu cầu đến dịch vụ phụ trợ của bạn:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
Trong cú pháp sau, hãy tạo một quy tắc chuyển tiếp (trình cân bằng tải proxy tcp nội bộ) có bật quyền truy cập toàn cầu.
Trong Cloud Shell, hãy thực hiện các thao tác sau:
gcloud compute forwarding-rules create producer-hybrid-neg-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=agentspace-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=hybrid-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--allow-global-access \
--ports=443
Tạo tệp đính kèm dịch vụ
Để xuất bản một dịch vụ, bạn phải tạo một tệp đính kèm dịch vụ. Bạn có thể xuất bản dịch vụ này bằng cách phê duyệt tự động hoặc phê duyệt rõ ràng.
- Để xuất bản dịch vụ và tự động cho phép mọi Người dùng kết nối với dịch vụ đó, hãy làm theo hướng dẫn tại Xuất bản dịch vụ có chế độ phê duyệt tự động.
- Để xuất bản dịch vụ với sự phê duyệt rõ ràng của Người tiêu dùng, trong phần cài đặt kết nối đính kèm dịch vụ, hãy chọn Chấp nhận kết nối cho các dự án đã chọn và để trống trường Dự án được chấp nhận.
- Sau khi bạn tạo tệp đính kèm dịch vụ, các điểm cuối của Người dùng yêu cầu quyền truy cập vào dịch vụ của Nhà sản xuất ban đầu sẽ chuyển sang trạng thái đang chờ xử lý. Để uỷ quyền kết nối, Nhà sản xuất phải chấp nhận dự án mà từ đó yêu cầu điểm cuối của Người dùng bắt nguồn.
Trong Cloud Shell, hãy tạo Service Attachment, cc-database1-svc-attachment có tính năng phê duyệt tự động:
gcloud compute service-attachments create cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
Tiếp theo, hãy lấy và ghi lại Service Attachment (Tệp đính kèm dịch vụ) có trong URI selfLink bắt đầu bằng projects để định cấu hình điểm cuối PSC trong Agentspace.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/cc-database1-svc-attachment
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute service-attachments describe cc-database1-svc-attachment --region=$region
Ví dụ về kết quả đầu ra dự kiến:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '54619734758392808'
low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr
Trong Cloud Console, hãy chuyển đến:
Network Services (Dịch vụ mạng) → Private Service Connect → Published Services (Dịch vụ đã phát hành)
10. Thiết lập kết nối điểm cuối PSC trong Agentspace
Trước khi liên kết Producer Service Attachment với Agentspace, hãy đảm bảo bạn đã hoàn tất các bước xác thực sau:
- Tường lửa mạng đa đám mây cho phép các mạng con proxy theo khu vực.
- Mạng đa đám mây đã tìm hiểu về mạng con proxy theo khu vực.
- VPC Agentspace đã tìm hiểu về mạng con cơ sở dữ liệu trên nhiều đám mây hoặc IP máy chủ.
Liên kết URI của Producers Service Attachment với Agentspace, đảm bảo bạn chọn quyền truy cập trên toàn cầu. Dưới đây là ví dụ về cách bật quyền truy cập trên toàn cầu bằng phần đính kèm dịch vụ của cấu trúc tham chiếu.
Để hoàn tất việc thiết lập mạng riêng tư, hãy tham khảo nguồn dữ liệu bên thứ ba của Agentspace để biết thêm hướng dẫn.
Xác thực điểm cuối PSC trong Cloud Console
Để xác nhận kết nối PSC thành công giữa Agentspace (Người tiêu dùng) và Nhà sản xuất, hãy xác minh dự án đối tượng thuê Agentspace được liên kết với Dịch vụ của Nhà sản xuất. Bạn có thể tìm thấy thông tin này trong phần "Dự án đã kết nối". Mã dự án của đối tượng thuê bao được chỉ định ngẫu nhiên nhưng sẽ luôn kết thúc bằng "tp".
Bạn có thể xác thực Kết nối PSC từ Cloud Console. Trong Cloud Console, hãy chuyển đến:
Network Services (Dịch vụ mạng) → Private Service Connect (Dịch vụ kết nối riêng tư) → Published Service (Dịch vụ đã xuất bản), sau đó chọn Service (Dịch vụ), cc-database1-svc-attachment.
11. Dọn dẹp
Xoá các thành phần trong phòng thí nghiệm từ một thiết bị đầu cuối Cloud Shell
gcloud compute service-attachments delete cc-database1-svc-attachment --region=$region -q
gcloud compute forwarding-rules delete producer-hybrid-neg-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy --name=agentspace-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q
gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q
gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q
gcloud compute health-checks delete on-prem-443-healthcheck --region=us-central1 -q
gcloud compute networks delete agentspace-psc-demo -q
12. Xin chúc mừng
Xin chúc mừng! Bạn đã định cấu hình và xuất bản thành công một dịch vụ Producer bằng Private Service Connect.
Bạn đã tạo cơ sở hạ tầng Producer, tìm hiểu cách tạo Hybrid NEG, Producer Service và liên kết tệp đính kèm dịch vụ với Agentspace.
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 cơ sở thông qua Mạng kết hợp bằng Private Service Connect và một trình cân bằng tải Proxy TCP 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