1. Giới thiệu
Private Service Connect cách mạng hoá cách các tổ chức sử dụng dịch vụ trong hệ sinh thái Google Cloud, cung cấp hỗ trợ đầy đủ cho địa chỉ IPv6 cùng với IPv4. Giải pháp này kết hợp tính bảo mật nâng cao, khả năng kết nối đơn giản, hiệu suất được cải thiện và khả năng quản lý tập trung, nhờ đó trở thành giải pháp lý tưởng cho những doanh nghiệp đang tìm kiếm một mô hình sử dụng dịch vụ mạnh mẽ, đáng tin cậy và hiệu quả, sẵn sàng cho tương lai của hoạt động kết nối mạng. Cho dù bạn đang xây dựng một đám mây lai, chia sẻ dịch vụ trên tổ chức của mình hay truy cập vào các dịch vụ của bên thứ ba, PSC đều cung cấp một lộ trình liền mạch và an toàn để khai thác toàn bộ tiềm năng của Google Cloud, đồng thời tận dụng các lợi ích của IPv6.
Kiến thức bạn sẽ học được
- Lợi ích chính của PSC 66
- Private Service Connect 66 hỗ trợ dịch
- Tổng quan về ULA ngăn xếp kép
- Yêu cầu về mạng
- Tạo dịch vụ nhà sản xuất Private Service Connect
- Tạo điểm cuối Private Service Connect
- Thiết lập kết nối với điểm cuối Private Service Connect từ máy ảo có hai ngăn xếp
Bạn cần có
- Dự á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 để triển khai máy chủ web apache dưới dạng dịch vụ đã xuất bản thông qua Private Service Connect (PSC). Sau khi phát hành, bạn sẽ thực hiện các thao tác sau để xác thực quyền truy cập vào dịch vụ Nhà sản xuất:
- Từ VPC của người dùng, phiên bản GCE có hai ngăn xếp, hãy nhắm đến Điểm cuối PSC IPv6 để kết nối với dịch vụ nhà sản xuất.
Các lợi ích chính của PSC 66
- Tích hợp liền mạch: PSC tích hợp liền mạch với các mạng VPC được định cấu hình cho IPv6, cho phép bạn tận dụng các lợi ích của việc định địa chỉ IPv6 cho các kết nối dịch vụ.
- Hỗ trợ cấu hình ngăn xếp kép: PSC hỗ trợ cấu hình ngăn xếp kép, cho phép sử dụng đồng thời IPv4 và IPv6 trong cùng một VPC, mang lại sự linh hoạt và khả năng bảo vệ mạng trong tương lai.
- Đơn giản hoá quá trình chuyển đổi: PSC đơn giản hoá quá trình chuyển đổi sang IPv6 bằng cách cho phép bạn từng bước sử dụng IPv6 cùng với cơ sở hạ tầng IPv4 hiện có.
- Hỗ trợ nhà sản xuất: Nhà sản xuất bắt buộc phải sử dụng ngăn xếp kép, dẫn đến điểm cuối PSC của Người tiêu dùng chỉ có IPv6.
3. Dịch vụ kết nối riêng tư 64 và 66 hỗ trợ bản dịch
Những điều cần cân nhắc của người tiêu dùng
Phiên bản IP của điểm cuối có thể là IPv4 hoặc IPv6, nhưng không được có cả hai. Người dùng có thể sử dụng địa chỉ IPv4 nếu mạng con của địa chỉ đó là một ngăn xếp. Người dùng có thể sử dụng địa chỉ IPv4 hoặc IPv6 nếu mạng con của địa chỉ là ngăn xếp kép. Người dùng có thể kết nối cả điểm cuối IPv4 và IPv6 với cùng một tệp đính kèm dịch vụ. Điều này có thể hữu ích khi di chuyển các dịch vụ sang IPv6.
Những điều cần cân nhắc khi tạo trình tạo
Phiên bản IP của quy tắc chuyển tiếp của nhà sản xuất xác định phiên bản IP của tệp đính kèm dịch vụ và lưu lượng truy cập thoát khỏi tệp đính kèm dịch vụ. Phiên bản IP của tệp đính kèm dịch vụ có thể là IPv4 hoặc IPv6, nhưng không thể là cả hai. Nhà sản xuất có thể sử dụng địa chỉ IPv4 nếu mạng con của địa chỉ là ngăn xếp đơn. Nhà sản xuất có thể sử dụng địa chỉ IPv4 hoặc IPv6 nếu mạng con của địa chỉ đó là ngăn xếp kép.
Phiên bản IP của địa chỉ IP trong quy tắc chuyển tiếp của nhà sản xuất phải tương thích với loại ngăn xếp của mạng con NAT trong tệp đính kèm dịch vụ.
- Nếu quy tắc chuyển tiếp của nhà sản xuất là IPv4, thì mạng con NAT có thể là một ngăn xếp hoặc hai ngăn xếp.
- Nếu quy tắc chuyển tiếp của nhà sản xuất là IPv6, thì mạng con NAT phải là ngăn xếp kép.
Bạn có thể sử dụng các tổ hợp sau đây cho các cấu hình được hỗ trợ:
- Điểm cuối IPv4 đến tệp đính kèm dịch vụ IPv4
- Điểm cuối IPv6 đến tệp đính kèm dịch vụ IPv6
- Điểm cuối IPv6 đến tệp đính kèm dịch vụ IPv4 Trong cấu hình này, Private Service Connect sẽ tự động dịch giữa hai phiên bản IP.
Các tính năng sau đây không được hỗ trợ:
Private Service Connect không hỗ trợ kết nối điểm cuối IPv4 với tệp đính kèm dịch vụ IPv6. Trong trường hợp này, việc tạo điểm cuối sẽ không thành công với thông báo lỗi sau:
Quy tắc chuyển tiếp Private Service Connect có địa chỉ IPv4 không thể nhắm đến tệp đính kèm dịch vụ IPv6.
4. Tổng quan về ULA ngăn xếp kép
Google Cloud hỗ trợ việc tạo máy ảo và mạng con IPv6 riêng ULA. RFC 4193 xác định một giao thức định địa chỉ IPv6 để giao tiếp cục bộ, lý tưởng cho giao tiếp nội bộ VPC. Địa chỉ ULA không định tuyến được trên toàn cầu, vì vậy, máy ảo của bạn hoàn toàn tách biệt với Internet bằng cách cung cấp hành vi giống như RFC-1918 bằng IPv6. Google Cloud cho phép tạo tiền tố ULA của mạng VPC /48 để tất cả các mạng con ULA IPv6 /64 của bạn được chỉ định từ phạm vi mạng VPC đó.
Tương tự như địa chỉ IPv6 bên ngoài duy nhất trên toàn cầu mà Google Cloud hỗ trợ, mỗi mạng con hỗ trợ ULA IPv6 sẽ nhận được một mạng con /64 từ dải ULA mạng VPC /48 và mỗi máy ảo sẽ được chỉ định một địa chỉ /96 từ mạng con đó.
RFC4193 xác định không gian địa chỉ IPv6 trong phạm vi fc00::/7. Bạn có thể phân bổ và sử dụng địa chỉ ULA một cách tự do trong mạng/trang web riêng tư. Google Cloud chỉ định tất cả địa chỉ ULA trong phạm vi fd20::/20. Các địa chỉ này chỉ có thể định tuyến trong phạm vi VPC và không thể định tuyến trên Internet IPv6 toàn cầu.
Địa chỉ ULA do Google Cloud chỉ định được đảm bảo là duy nhất trên tất cả các mạng VPC. Google Cloud đảm bảo rằng không có hai mạng VPC nào được chỉ định cùng một tiền tố ULA. Điều này giúp loại bỏ vấn đề về các dải ô trùng lặp trong mạng VPC.
Bạn có thể để Google Cloud tự động chỉ định /48 cho mạng của mình hoặc chọn một tiền tố IPv6 /48 cụ thể. Nếu tiền tố IPv6 mà bạn chỉ định đã được chỉ định cho một VPC khác hoặc trên mạng cục bộ, thì bạn có thể chọn một dải khác.
5. 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 Người tiêu dùng và mạng Nhà sản xuất:
Mạng người dùng (tất cả các thành phần được triển khai trong us-central1)
Thành phần | Mô tả |
VPC | Mạng có hai ngăn xếp yêu cầu VPC ở chế độ tuỳ chỉnh và đã bật ULA |
Điểm cuối PSC | Điểm cuối PSC IPV6 dùng để truy cập vào Dịch vụ nhà sản xuất |
(Các) mạng con | Ngăn xếp kép |
GCE | Ngăn xếp kép |
Mạng nhà sản xuất(tất cả các thành phần được triển khai trong us-central1)
Thành phần | Mô tả |
VPC | Mạng có hai ngăn xếp yêu cầu VPC ở chế độ tuỳ chỉnh và đã bật ULA |
Mạng con PSC NAT | Ngăn xếp kép. Các gói từ mạng VPC của người dùng được dịch bằng NAT nguồn (SNAT) để địa chỉ IP nguồn ban đầu của chúng đượ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. |
Quy tắc chuyển tiếp PSC | Kiểu ngăn xếp kép. Trình cân bằng tải mạng truyền tải nội bộ |
Quy tắc truy cập, áp dụng cho các thực thể đang được cân bằng tải, cho phép lưu lượng truy cập từ các hệ thống kiểm tra tình trạng của Google Cloud (2600:2d00:1:b029::/64). | |
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à 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 nhóm thực thể không được quản lý. |
Nhóm thực thể không được quản lý | Hỗ trợ các máy ảo cần cấu hình hoặc điều chỉnh riêng lẻ. Không hỗ trợ tự động mở rộng quy mô. |
6. Cấu trúc liên kết của lớp học lập trình
7. Cách thiết lập và các 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 người tham gia dự án này. Đây là một chuỗi ký tự không được API của Google sử dụng. Bạn luôn có thể cập nhật thông tin này.
- Mã dự án là duy nhất trên tất cả các dự án Google Cloud và không thể thay đổi (không thể thay đổi 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ã được tạo, bạn có thể tạo một mã ngẫu nhiên khác. Ngoài ra, bạn có thể thử dùng email của riêng mình để xem có thể sử dụng hay không. Bạn không thể thay đổi thông tin này sau bước này và thông tin này sẽ được giữ nguyên trong suốt thời gian diễn ra dự án. - Xin lưu ý rằng có một giá trị thứ ba là Mã dự án mà một số API sử dụng. Tìm hiểu thêm về cả ba 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 tham gia lớp học lập trình này sẽ không tốn kém nhiều chi phí, nếu có. Để tắt các tài nguyên nhằm tránh bị tính phí sau khi hoàn tất 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ể điều khiển 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 đám mây.
Trong 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 cấp phép và kết nối với môi trường sẽ chỉ mất vài phút. Khi quá trình này hoàn tất, bạn sẽ thấy như sau:
Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Ứng dụng này cung cấp một thư mục gốc 5 GB ổn định và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và 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 gì cả.
8. Trước khi bắt đầu
Bật API
Trong Cloud Shell, hãy đảm bảo 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=us-central1 echo $project echo $region
Bật tất cả các dịch vụ cần thiết:
gcloud services enable compute.googleapis.com
9. Tạo mạng VPC của nhà sản xuất
Mạng VPC
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute networks create producer-vpc --subnet-mode custom --enable-ula-internal-ipv6
Google phân bổ một mạng con /48 duy nhất trên toàn cầu cho VPC của người tiêu dùng. Để xem quá trình phân bổ, hãy làm như sau:
Trong Cloud Console, hãy chuyển đến:
Mạng VPC
Tạo mạng con
Mạng con PSC sẽ được liên kết với Tệp đính kèm dịch vụ PSC cho mục đích Dịch địa chỉ mạng. Đối với các trường hợp sử dụng chính thức, bạn cần định cỡ mạng con này cho phù hợp để hỗ trợ lượng lưu lượng truy cập đến từ tất cả các điểm cuối PSC được đính kèm. Hãy xem tài liệu về cách định cỡ mạng con NAT PSC để biết thêm thông tin.
Bên trong Cloud Shell, hãy tạo PSC NAT Subnet (Mạng con NAT PSC):
gcloud compute networks subnets create producer-nat-dual-stack-subnet --network producer-vpc --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
Bạn cần lấy và ghi lại địa chỉ IPv6 producer-nat-dual-stack-subnet được dùng trong bước sau để tạo quy tắc tường lửa truy cập để cho phép mạng con NAT PSC truy cập vào phần phụ trợ của bộ cân bằng tải.
Trong Cloud Shell, hãy lấy mạng con IPv6 NAT PSC.
gcloud compute networks subnets describe producer-nat-dual-stack-subnet --region=us-central1 | grep -i internalIpv6Prefix:
Kết quả dự kiến:
user@cloudshell$ gcloud compute networks subnets describe producer-nat-dual-stack-subnet --region=us-central1 | grep -i internalIpv6Prefix: internalIpv6Prefix: fd20:b4a:ea9f:2:0:0:0:0/64
Bên trong Cloud Shell, hãy tạo mạng con quy tắc chuyển tiếp của nhà sản xuất:
gcloud compute networks subnets create producer-dual-stack-fr-subnet --network producer-vpc --range 172.16.20.0/28 --region $region --enable-private-ip-google-access --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
Bên trong Cloud Shell, hãy tạo mạng con máy ảo của nhà sản xuất:
gcloud compute networks subnets create producer-dual-stack-vm-subnet --network producer-vpc --range 172.16.30.0/28 --region $region --enable-private-ip-google-access --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL
Tạo cổng NAT công khai
Máy ảo nhà sản xuất cần có quyền truy cập Internet để tải apache xuống, tuy nhiên, phiên bản GCE không có IP bên ngoài; do đó, Cloud NAT sẽ cung cấp lưu lượng truy cập Internet để tải gói xuống.
Bên trong Cloud Shell, hãy tạo Trình định tuyến trên đám mây:
gcloud compute routers create producer-cloud-router --network producer-vpc --region us-central1
Bên trong Cloud Shell, hãy tạo cổng Cloud NAT cho phép truy cập Internet:
gcloud compute routers nats create producer-nat-gw --router=producer-cloud-router --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
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 như sau:
gcloud compute network-firewall-policies create producer-vpc-policy --global gcloud compute network-firewall-policies associations create --firewall-policy producer-vpc-policy --network producer-vpc --name producer-vpc --global-firewall-policy
Để cho phép IAP kết nối với các phiên bản máy ảo, hãy tạo một quy tắc tường lửa:
- Áp dụng cho tất cả các phiên bản máy ảo mà bạn muốn truy cập bằng IAP.
- Cho phép lưu lượng truy cập vào từ dải IP 35.235.240.0/20. Phạm vi này chứa tất cả địa chỉ IP mà IAP sử dụng để chuyển tiếp TCP.
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy producer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22 --global-firewall-policy
Quy tắc tường lửa sau đây cho phép lưu lượng truy cập từ phạm vi thăm dò kiểm tra tình trạng đến tất cả các thực thể trong mạng. Trong môi trường sản xuất, quy tắc tường lửa này chỉ nên giới hạn ở các thực thể liên kết với dịch vụ nhà sản xuất cụ thể.
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute network-firewall-policies rules create 2000 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from health check probe range" --direction INGRESS --src-ip-ranges 2600:2d00:1:b029::/64 --layer4-configs tcp:80 --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 thực thể trong mạng. Trong môi trường sản xuất, quy tắc tường lửa này chỉ nên giới hạn ở các thực thể liên kết với dịch vụ nhà sản xuất cụ thể.
Cập nhật quy tắc tường lửa <insert-your-psc-nat-ipv6-subnet>
bằng mạng con NAT PSC IPv6 đã lấy trước đó trong lớp học lập trình.
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges <insert-your-psc-nat-ipv6-subnet> --global-firewall-policy --layer4-configs=tcp
Tạo máy ảo Producer
Bên trong Cloud Shell, hãy tạo máy chủ web apache producer-vm:
gcloud compute instances create producer-vm \ --project=$project \ --machine-type=e2-micro \ --image-family debian-12 \ --no-address \ --image-project debian-cloud \ --zone us-central1-a \ --subnet=producer-dual-stack-vm-subnet \ --stack-type=IPV4_IPV6 \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo service apache2 restart echo 'Welcome to Producer-VM !!' | tee /var/www/html/index.html EOF"
Bên trong Cloud Shell, hãy tạo nhóm thực thể không được quản lý bao gồm thực thể producer-vm và kiểm tra tình trạng:
gcloud compute instance-groups unmanaged create producer-instance-group --zone=us-central1-a gcloud compute instance-groups unmanaged add-instances producer-instance-group --zone=us-central1-a --instances=producer-vm gcloud compute health-checks create http hc-http-80 --port=80
10. Tạo dịch vụ nhà sản xuất
Tạo thành phần Trình cân bằng tải
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute backend-services create producer-backend-svc --load-balancing-scheme=internal --protocol=tcp --region=us-central1 --health-checks=hc-http-80 gcloud compute backend-services add-backend producer-backend-svc --region=us-central1 --instance-group=producer-instance-group --instance-group-zone=us-central1-a
Phân bổ địa chỉ IPv6 cho quy tắc chuyển tiếp của nhà sản xuất (trình cân bằng tải mạng nội bộ).
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute addresses create producer-fr-ipv6-address \ --region=us-central1 \ --subnet=producer-dual-stack-fr-subnet \ --ip-version=IPV6
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 mạng nội bộ) bằng Địa chỉ IPv6 producer-fr-ipv6-address
được xác định trước liên kết với dịch vụ phụ trợ, producer-backend-svc
Trong Cloud Shell, hãy thực hiện các bước sau:
gcloud compute forwarding-rules create producer-fr --region=us-central1 --load-balancing-scheme=internal --network=producer-vpc --subnet=producer-dual-stack-fr-subnet --address=producer-fr-ipv6-address --ip-protocol=TCP --ports=all --backend-service=producer-backend-svc --backend-service-region=us-central1 --ip-version=IPV6
Tạo tệp đính kèm dịch vụ
Bên trong Cloud Shell, hãy tạo Tệp đính kèm dịch vụ:
gcloud compute service-attachments create ipv6-producer-svc-attachment --region=$region --producer-forwarding-rule=producer-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-nat-dual-stack-subnet
Tiếp theo, hãy lấy và ghi lại Tệp đính kèm dịch vụ được liệt kê trong URI selfLink bắt đầu bằng các dự án để định cấu hình điểm cuối PSC trong môi trường người dùng.
selfLink: projects/<your-project-id>/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment
Trong Cloud Shell, hãy thực hiện như sau:
gcloud compute service-attachments describe ipv6-producer-svc-attachment --region=$region
Ví dụ về kết quả đầu ra dự kiến
connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2024-08-27T05:59:17.188-07:00' description: '' enableProxyProtocol: false fingerprint: EaultrFOzc4= id: '8752850315312657226' kind: compute#serviceAttachment name: ipv6-producer-svc-attachment natSubnets: - https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/subnetworks/producer-nat-dual-stack-subnet pscServiceAttachmentId: high: '1053877600257000' low: '8752850315312657226' reconcileConnections: false region: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1 selfLink: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/serviceAttachments/ipv6-producer-svc-attachment targetService: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/forwardingRules/producer-fr
Trong Cloud Console, hãy chuyển đến:
Dịch vụ mạng → Private Service Connect → Dịch vụ đã phát hành
11. Tạo mạng VPC dành cho người dùng
Mạng VPC
Trong Cloud Shell, hãy tạo VPC Người dùng đã bật ULA IPv6:
gcloud compute networks create consumer-vpc \ --subnet-mode=custom \ --enable-ula-internal-ipv6
Google phân bổ một mạng con /48 duy nhất trên toàn cầu cho VPC của người tiêu dùng. Để xem quá trình phân bổ, hãy làm như sau:
Trong Cloud Console, hãy chuyển đến:
Mạng VPC
Tạo mạng con
Bên trong Cloud Shell, hãy tạo mạng con GCE có hai ngăn xếp:
gcloud compute networks subnets create consumer-dual-stack-subnet --network consumer-vpc --range=192.168.20.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access
Bên trong Cloud Shell, hãy tạo mạng con điểm cuối PSC có hai ngăn xếp:
gcloud compute networks subnets create psc-dual-stack-endpoint-subnet --network consumer-vpc --range=192.168.21.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access
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 như sau:
gcloud compute network-firewall-policies create consumer-vpc-policy --global gcloud compute network-firewall-policies associations create --firewall-policy consumer-vpc-policy --network consumer-vpc --name consumer-vpc --global-firewall-policy gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy consumer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22 --global-firewall-policy
Mạng của người dùng chỉ cần quyền truy cập SSH từ IAP.
12. Tạo máy ảo, điểm cuối PSC và kiểm thử khả năng kết nối của ngăn xếp kép
Tạo Máy ảo thử nghiệm ngăn xếp kép
Bên trong Cloud Shell, hãy tạo thực thể GCE có hai ngăn xếp trong mạng con có hai ngăn xếp:
gcloud compute instances create consumer-vm-ipv4-ipv6 --zone=us-central1-a --subnet=consumer-dual-stack-subnet --no-address --stack-type=IPV4_IPV6
Tạo địa chỉ IPv6 tĩnh của điểm cuối PSC
Bên trong Cloud Shell, hãy tạo một địa chỉ IPv6 tĩnh cho điểm cuối PSC:
gcloud compute addresses create psc-ipv6-endpoint-ip --region=$region --subnet=psc-dual-stack-endpoint-subnet --ip-version=IPV6
Lấy địa chỉ IPv6 tĩnh của điểm cuối PSC
Bên trong Cloud Shell, hãy lấy địa chỉ IPv6 PSC mà bạn sẽ dùng để truy cập vào dịch vụ Nhà sản xuất:
gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address:
Kết quả điểm dữ liệu:
user@cloudshell$ gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address: address: 'fd20:799:4ea3:1::'
Tạo điểm cuối PSC IPv6
Bên trong Cloud Shell, hãy tạo điểm cuối PSC bằng cách cập nhật URI Tệp đính kèm dịch vụ bằng URI mà bạn đã ghi lại khi tạo Tệp đính kèm dịch vụ.
gcloud compute forwarding-rules create psc-ipv6-endpoint --region=$region --network=consumer-vpc --address=psc-ipv6-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]
Xác thực điểm cuối PSC
Hãy xác nhận rằng Nhà sản xuất đã chấp nhận điểm cuối PSC. Trong Cloud Console, hãy chuyển đến:
Dịch vụ mạng → Private Service Connect → Điểm cuối được kết nối
Kiểm thử khả năng kết nối
Bên trong Cloud Shell, hãy ssh vào phiên bản GCE có hai ngăn xếp, consumer-vm-ipv4-ipv6.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project
Giờ đây, khi bạn đã đăng nhập vào phiên bản GCE ngăn xếp kép, hãy thực hiện một lệnh curl đến điểm cuối psc, psc-ipv6-endpoint, bằng cách sử dụng địa chỉ IPv6 được xác định ở bước trước.
curl -6 http://[insert-your-ipv6-psc-endpoint]
Kết quả đầu ra dự kiến:
user@consumer-vm-ipv4-ipv6$ curl -6 http://[fd20:799:4ea3:1::] Welcome to Producer-VM !!
Bên trong phiên bản GCE consumer-vm-ipv4-ipv6, hãy đăng xuất khỏi phiên bản đó bằng cách thoát, đưa bạn trở lại Cloud Shell.
exit
Kết quả đầu ra dự kiến:
user@consumer-vm-ipv4-ipv6:~$ exit logout Connection to compute.715101668351438678 closed.
13. Các bước dọn dẹp
Xoá các thành phần của lớp học từ một thiết bị đầu cuối Cloud Shell
gcloud compute forwarding-rules delete psc-ipv6-endpoint --region=us-central1 -q gcloud compute instances delete consumer-vm-ipv4-ipv6 --zone=us-central1-a -q gcloud compute network-firewall-policies rules delete 1000 --firewall-policy=consumer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy --name=consumer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q gcloud compute addresses delete psc-ipv6-endpoint-ip --region=us-central1 -q gcloud compute networks subnets delete consumer-dual-stack-subnet psc-dual-stack-endpoint-subnet --region=us-central1 -q gcloud compute networks delete consumer-vpc -q gcloud compute service-attachments delete ipv6-producer-svc-attachment --region=us-central1 -q gcloud compute forwarding-rules delete producer-fr --region=us-central1 -q gcloud compute backend-services delete producer-backend-svc --region=us-central1 -q gcloud compute health-checks delete hc-http-80 -q gcloud compute network-firewall-policies rules delete 2001 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy --name=producer-vpc --global-firewall-policy -q gcloud compute network-firewall-policies delete producer-vpc-policy --global -q gcloud compute instance-groups unmanaged delete producer-instance-group --zone=us-central1-a -q gcloud compute instances delete producer-vm --zone=us-central1-a -q gcloud compute routers nats delete producer-nat-gw --router=producer-cloud-router --router-region=us-central1 -q gcloud compute routers delete producer-cloud-router --region=us-central1 -q gcloud compute addresses delete producer-fr-ipv6-address --region=us-central1 -q gcloud compute networks subnets delete producer-dual-stack-fr-subnet producer-dual-stack-vm-subnet producer-nat-dual-stack-subnet --region=us-central1 -q gcloud compute networks delete producer-vpc -q
14. 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 Private Service Connect 64.
Bạn đã tạo cơ sở hạ tầng của nhà sản xuất, tìm hiểu cách tạo điểm cuối của người dùng IPv6 trong mạng VPC của người dùng cho phép kết nối với dịch vụ Nhà sản xuất IPv6.
Cosmopup cho rằng các lớp học lập trình rất tuyệt vời!!
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 để phát hành và sử dụng các dịch vụ bằng GKE
- Sử dụng Private Service Connect để phát hành và sử dụng dịch vụ
- Kết nối với các dịch vụ tại chỗ thông qua Mạng kết hợp bằng Private Service Connect và bộ 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 về Private Service Connect đã xuất bản