1. مقدمه
در این کد لبه شما یک متعادل کننده بار پروکسی داخلی tcp و گروه نقطه پایانی شبکه منطقه ای (NEG) را که به عنوان یک سرویس تولید کننده PSC منتشر شده است، مستقر خواهید کرد. NEG متشکل از یک یا چند نمونه محاسباتی در GCP است که یک پایگاه داده را خود میزبانی می کند، مانند JIRA، Confluence، Sharepoint.
Private Service Connect یکی از قابلیتهای شبکه Google Cloud است که به مصرفکنندگان اجازه میدهد تا به طور خصوصی از داخل شبکه VPC خود به خدمات مدیریت شده دسترسی داشته باشند. به طور مشابه، به تولیدکنندگان خدمات مدیریت شده اجازه میدهد تا این خدمات را در شبکه VPC یا Cross Cloud خود میزبانی کنند و یک اتصال خصوصی به مشتریان خود ارائه دهند. به عنوان مثال، هنگامی که از Private Service Connect برای دسترسی به Zonal NEG استفاده می کنید، شما تولید کننده سرویس هستید و Google (Agentspace) مصرف کننده سرویس است.
چیزی که یاد خواهید گرفت
- الزامات شبکه برای Agentspace
- بهترین شیوه های شبکه سازی Agentspace
- یک سرویس Private Service Connect Producer ایجاد کنید
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
2. آنچه می سازید
شما یک شبکه Producer، agentspace-psc-demo، برای استقرار متعادل کننده بار پراکسی tcp داخلی و Zonal NEG که به عنوان یک سرویس از طریق Private Service Connect (PSC) منتشر می شود، ایجاد خواهید کرد.
3. الزامات شبکه
در زیر تجزیه و تحلیل نیازمندی های شبکه برای شبکه Producer آورده شده است، مصرف کننده در این نرم افزار کد Agentspace است.
اجزاء | توضیحات |
VPC (agentspace-psc-demo) | حالت سفارشی VPC |
زیرشبکه PSC NAT | بستههای شبکه Consumer VPC با استفاده از NAT منبع (SNAT) ترجمه میشوند تا آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل شود. PSC NAT از یک زیر شبکه 29/ در هر پیوست سرویس پشتیبانی می کند. |
زیرشبکه قانون حمل و نقل PSC | برای تخصیص یک آدرس IP برای متعادل کننده بار پراکسی TCP داخلی منطقه ای استفاده می شود. زیرشبکه قانون حمل و نقل یک زیرشبکه معمولی در نظر گرفته می شود. |
زیر شبکه NEG | برای تخصیص یک آدرس IP برای گروه نقطه پایانی شبکه از یک زیرشبکه معمولی استفاده می شود. |
زیر شبکه فقط پروکسی | به هر یک از پراکسی های load balancer یک آدرس IP داخلی اختصاص داده شده است. بستههای ارسال شده از یک پروکسی به یک ماشین مجازی پشتیبان یا گروه نقطه پایانی شبکه دارای یک آدرس IP منبع از زیرشبکه فقط پراکسی هستند. زیرشبکه 23/ توصیه میشود ، اگرچه حداقل، 26/ پشتیبانی میشود. یک زیرشبکه پراکسی منطقه ای برای هر منطقه مورد نیاز است. |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با Zonal NEG مرتبط است. |
4. بهترین شیوه ها
- Zonal NEG از یک یا چند نمونه Zonal GCE بر اساس GCE_VM_IP_PORT پشتیبانی می کند
- قبل از ایجاد پیوست سرویس، دسترسی جهانی را در قاعده حمل و نقل سازنده فعال کنید.
- هنگام ایجاد نقطه پایانی Agentspace، دسترسی جهانی را فعال کنید.
- متعادل کننده بار پروکسی داخلی TCP از گروه های نمونه مدیریت شده و مدیریت نشده نیز پشتیبانی می کند
- یک پروکسی Google Cloud TCP یا متعادلکننده بار عبوری موجود میتواند بهعنوان سرویس تولیدکننده در معرض نمایش قرار گیرد.
5. توپولوژی Codelab
6. راه اندازی و الزامات
تنظیم محیط خود به خود
- به Google Cloud Console وارد شوید و یک پروژه جدید ایجاد کنید یا از یک موجود استفاده مجدد کنید. اگر قبلاً یک حساب Gmail یا Google Workspace ندارید، باید یک حساب ایجاد کنید .
- نام پروژه نام نمایشی برای شرکت کنندگان این پروژه است. این یک رشته کاراکتری است که توسط API های Google استفاده نمی شود. همیشه می توانید آن را به روز کنید.
- شناسه پروژه در تمام پروژههای Google Cloud منحصربهفرد است و تغییرناپذیر است (پس از تنظیم نمیتوان آن را تغییر داد). Cloud Console به طور خودکار یک رشته منحصر به فرد تولید می کند. معمولاً برای شما مهم نیست که چیست. در اکثر کدها، باید شناسه پروژه خود را ارجاع دهید (معمولاً با نام
PROJECT_ID
شناخته می شود). اگر شناسه تولید شده را دوست ندارید، ممکن است یک شناسه تصادفی دیگر ایجاد کنید. از طرف دیگر، میتوانید خودتان را امتحان کنید، و ببینید آیا در دسترس است یا خیر. پس از این مرحله نمی توان آن را تغییر داد و در طول مدت پروژه باقی می ماند. - برای اطلاع شما، یک مقدار سوم وجود دارد، یک شماره پروژه ، که برخی از API ها از آن استفاده می کنند. در مورد هر سه این مقادیر در مستندات بیشتر بیاموزید.
- در مرحله بعد، برای استفاده از منابع Cloud/APIها باید صورتحساب را در کنسول Cloud فعال کنید . اجرا کردن از طریق این کد لبه هزینه زیادی نخواهد داشت. برای خاموش کردن منابع برای جلوگیری از تحمیل صورتحساب فراتر از این آموزش، میتوانید منابعی را که ایجاد کردهاید حذف کنید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان 300 دلاری هستند.
Cloud Shell را راه اندازی کنید
در حالی که Google Cloud را می توان از راه دور از لپ تاپ شما کار کرد، در این کد لبه از Google Cloud Shell استفاده خواهید کرد، یک محیط خط فرمان که در Cloud اجرا می شود.
از Google Cloud Console ، روی نماد Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:
تهیه و اتصال به محیط فقط چند لحظه طول می کشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:
این ماشین مجازی با تمام ابزارهای توسعه که شما نیاز دارید بارگذاری شده است. این یک فهرست اصلی 5 گیگابایتی دائمی را ارائه می دهد و در Google Cloud اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی افزایش می دهد. تمام کارهای شما در این کد لبه را می توان در یک مرورگر انجام داد. شما نیازی به نصب چیزی ندارید.
7. قبل از شروع
API ها را فعال کنید
در داخل Cloud Shell، مطمئن شوید که شناسه پروژه شما تنظیم شده است:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone1a=[YOUR-ZONE1a]
zone1b=[YOUR-ZONE1b]
echo $project
echo $region
echo $zone1a
echo $zone1b
فعال کردن تمام خدمات لازم:
gcloud services enable compute.googleapis.com
8. Producer VPC Network ایجاد کنید
شبکه VPC
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
ایجاد زیرشبکه
زیرشبکه PSC به منظور ترجمه آدرس شبکه با پیوست سرویس PSC مرتبط خواهد شد.
در داخل Cloud Shell، زیرشبکه PSC NAT را ایجاد کنید:
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
در داخل Cloud Shell، زیرشبکه قانون حمل و نقل تولیدکننده را ایجاد کنید:
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
در داخل Cloud Shell، زیرشبکه Network Endpoint Group را ایجاد کنید:
gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
در داخل Cloud Shell، زیرشبکه Producer regional Proxy only ایجاد کنید
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
آدرس IP متعادل کننده بار را رزرو کنید
در داخل Cloud Shell، یک آدرس IP داخلی برای متعادل کننده بار رزرو کنید:
gcloud compute addresses create zonal-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
در داخل Cloud Shell، آدرس IP رزرو شده را مشاهده کنید.
gcloud compute addresses describe zonal-neg-lb-ip \
--region=$region | grep -i address:
خروجی نمونه:
gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Zonal NEG را راه اندازی کنید
در بخش زیر، یک گروه نقطه پایانی شبکه منطقه ای ایجاد می کنید که حاوی یک یا چند آدرس IP یا آدرس IP و ترکیب پورت مقصد است:
- آدرس IPv4 داخلی اولیه یک رابط شبکه VM
- آدرس IPv4 داخلی اولیه یک رابط شبکه VM به اضافه یک شماره پورت مقصد
- یک آدرس IPv4 داخلی از محدوده آدرس IP مستعار که به یک رابط شبکه VM اختصاص داده شده است
- یک آدرس IPv4 داخلی از محدوده آدرس IP مستعار اختصاص داده شده به یک رابط شبکه VM به اضافه یک شماره پورت مقصد
رابط شبکه حاوی نقطه پایانی GCE_VM_IP_PORT باید در زیر شبکه NEG باشد. وقتی شماره پورت را از نقطه پایانی GCE_VM_IP_PORT حذف میکنید، Google Cloud از شماره درگاه پیشفرض NEG برای نقطه پایانی استفاده میکند.
در معماری مرجع، نمونههای GCE مرتبط با Zonal NEG شامل موارد زیر است:
- پایگاه داده-us-central1-a | us-central1-a | IP: 100.100.10.2 | بندر: 443
- پایگاه داده-us-central1-a | us-central1-b | IP: 100.100.10.3 | بندر: 443
- نام زیر شبکه: database-subnet-1
Zonal NEG را برای zone1a ایجاد کنید
در بخش بعدی، گروه نقطه پایانی شبکه را در هر منطقه ایجاد خواهید کرد، به عنوان مثال us-central1-a، نام زیر شبکه مورد استفاده برای ایجاد نمونه GCE را مشخص کنید. در معماری مرجع، نام زیر شبکه پایگاه داده-subnet-1 است.
در داخل Cloud Shell، یک Zonal NEG ایجاد کنید:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
--zone=$zone1a \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
در داخل Cloud Shell، Zonal NEG را با IP:Port از نمونه GCE مستقر در zone1a به روز کنید، در معماری مرجع نمونه GCE 100.100.10.2 پورت 443 است که در منطقه us-central1-a مستقر شده است.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443
Zonal NEG را برای zone1b ایجاد کنید
در بخش زیر، گروه نقطه پایانی شبکه را در هر منطقه ایجاد خواهید کرد، به عنوان مثال us-central1-b، نام زیر شبکه مورد استفاده برای ایجاد نمونه GCE را مشخص کنید. در معماری مرجع، نام زیر شبکه پایگاه داده-subnet-1 است.
در داخل Cloud Shell، یک Zonal NEG ایجاد کنید:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
--zone=$zone1b \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
در داخل Cloud Shell، Zonal NEG را با IP:Port از نمونه GCE مستقر در zone1b بهروزرسانی کنید، در معماری مرجع، نمونه GCE 100.100.10.3 پورت 443 است که در منطقه us-central1-b مستقر شده است.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443
یک بررسی بهداشتی منطقه ای ایجاد کنید
در داخل Cloud Shell، یک بررسی سلامتی ایجاد کنید که پورت پایگاه داده on-prem، 443 را بررسی کند:
gcloud compute health-checks create tcp zonal-443-healthcheck \
--region=$region \
--port=443
خط مشی فایروال شبکه و قوانین فایروال را ایجاد کنید
در داخل Cloud Shell موارد زیر را انجام دهید:
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
قانون فایروال زیر به ترافیک از محدوده زیرشبکه PSC NAT به تمام نمونه های شبکه اجازه می دهد.
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet to GCE" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
قانون فایروال زیر به ترافیک از محدوده کاوشگر بررسی سلامت به تمام نمونههای شبکه اجازه میدهد. توجه داشته باشید، بررسی سلامت و پورت برنامه باید مطابقت داشته باشند.
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2002 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal probe health check range to GCE" --direction INGRESS --src-ip-ranges 35.191.0.0/16,130.211.0.0/22 --global-firewall-policy --layer4-configs=tcp:443
قانون فایروال زیر به ترافیک از محدوده زیرشبکه فقط پراکسی به همه نمونه های شبکه اجازه می دهد. توجه داشته باشید، زیرشبکه پروکسی و پورت برنامه باید مطابقت داشته باشند.
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute network-firewall-policies rules create 2003 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal tcp proxy health check range to GCE" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp:443
9. ایجاد سرویس تولید کننده
اجزای Load Balancer را ایجاد کنید
در داخل Cloud Shell، یک سرویس Backend ایجاد کنید:
gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=zonal-443-healthcheck --health-checks-region=$region
در داخل Cloud Shell، Zonal NEG، us-central-zonal-neg-1a را به سرویس backend مرتبط کنید:
gcloud compute backend-services add-backend producer-backend-svc \
--network-endpoint-group=us-central-zonal-neg-1a \
--network-endpoint-group-zone=$zone1a \
--balancing-mode=CONNECTION \
--max-connections-per-endpoint=100 \
--region=$region
در داخل Cloud Shell، Zonal NEG، us-central-zonal-neg-1b را به سرویس backend مرتبط کنید:
gcloud compute backend-services add-backend producer-backend-svc \
--network-endpoint-group=us-central-zonal-neg-1b \
--network-endpoint-group-zone=$zone1b \
--balancing-mode=CONNECTION \
--max-connections-per-endpoint=100 \
--region=$region
در Cloud Shell، یک پروکسی TCP هدف ایجاد کنید تا درخواستها را به سرویس باطن خود هدایت کند:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
در دستور زیر، یک قانون فوروارد (internal tcp proxy load balancer) با دسترسی سراسری فعال ایجاد کنید.
در Cloud Shell موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-zonal-neg-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=agentspace-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=zonal-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--allow-global-access \
--ports=443
اعتبار سنجی Backend Health
سلامت (وضعیت سبز) سرویس پشتیبان و نمونههای محاسباتی مرتبط با آن را با استفاده از کنسول ابری در بخش زیر تأیید کنید. به مسیر زیر بروید:
خدمات شبکه → تعادل بار → Producer-backend-svc
پیوست سرویس ایجاد کنید
برای انتشار یک سرویس، باید یک پیوست سرویس Private Service Connect ایجاد کنید. میتوانید این سرویس را با تأیید خودکار یا تأیید صریح منتشر کنید.
- برای انتشار سرویس و اجازه دادن خودکار به هر مشتری برای اتصال به آن، دستورالعملهای موجود در انتشار سرویس با تأیید خودکار را دنبال کنید.
- برای انتشار سرویس با تأیید صریح مصرف کننده ، در تنظیمات اتصال پیوست سرویس، پذیرش اتصالات برای پروژه های انتخاب شده را انتخاب کنید و قسمت پروژه های پذیرفته شده را خالی بگذارید.
- پس از ایجاد پیوست سرویس، نقاط پایانی مصرف کننده که درخواست دسترسی به سرویس تولید کننده را دارند، در ابتدا وارد وضعیت معلق می شوند. برای مجوز دادن به اتصال، تولید کننده باید پروژه ای را که درخواست نقطه پایانی مصرف کننده از آن منشا گرفته است، بپذیرد.
در داخل Cloud Shell، پیوست سرویس، cc-database1-svc-attachment را با تأیید خودکار ایجاد کنید:
gcloud compute service-attachments create zonal-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-zonal-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
سپس، پیوست سرویس فهرست شده در selfLink URI را که با پروژه هایی برای پیکربندی نقطه پایانی PSC در Agentspace شروع می شود، بدست آورید و یادداشت کنید.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region
نمونه خروجی مورد انتظار:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-12T16:00:22.429-07:00'
description: ''
enableProxyProtocol: false
fingerprint: zOpeRQnPWSc=
id: '1784245893044590569'
kind: compute#serviceAttachment
name: zonal-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '119824781489996776'
low: '1784245893044590569'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/serviceAttachments/zonal-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/forwardingRules/producer-zonal-neg-fr
در Cloud Console به مسیر زیر بروید:
خدمات شبکه → اتصال سرویس خصوصی → خدمات منتشر شده
10. یک اتصال نقطه پایانی PSC در Agentspace ایجاد کنید
با اطمینان از انتخاب دسترسی سراسری، URI پیوست سرویس تولیدکنندگان را با Agentspace مرتبط کنید. در زیر نمونه ای از فعال سازی دسترسی سراسری با معماری مرجع پیوست سرویس آورده شده است.
برای نهایی کردن شبکه خصوصی، برای دستورالعملهای بیشتر با منابع داده شخص ثالث Agentspace مشورت کنید.
اعتبار سنجی نقطه پایانی PSC در Cloud Console
برای تأیید اتصال موفقیت آمیز PSC بین Agentspace (مصرف کننده) و تولید کننده، پروژه مستأجر Agentspace را که به سرویس تولیدکننده مرتبط است تأیید کنید. این را می توان در بخش "پروژه های متصل" یافت. شناسه پروژه مستاجر به طور تصادفی اختصاص داده می شود اما همیشه با 'tp' خاتمه می یابد.
از Cloud Console می توانید اتصال PSC را تأیید کنید. در Cloud Console به مسیر زیر بروید:
خدمات شبکه ← اتصال سرویس خصوصی ← سرویس منتشر شده، سپس Service, zone-database1-svc-attachment را انتخاب کنید.
11. پاکسازی کنید
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud compute service-attachments delete zonal-database1-svc-attachment --region=$region -q
gcloud compute forwarding-rules delete producer-zonal-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 rules delete 2002 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies rules delete 2003 --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 us-central-zonal-neg-1a --zone=$zone1a -q
gcloud compute network-endpoint-groups delete us-central-zonal-neg-1b --zone=$zone1b -q
gcloud compute addresses delete zonal-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 networks subnets delete neg-subnet --region=$region -q
gcloud compute health-checks delete zonal-443-healthcheck --region=us-central1 -q
gcloud compute networks delete agentspace-psc-demo -q
12. تبریک می گویم
تبریک میگوییم، شما با موفقیت یک سرویس تولیدکننده را با Private Service Connected پیکربندی و منتشر کردید.
زیرساخت Producer را ایجاد کردید، یاد گرفتید که چگونه Zonal NEG، Producer Service ایجاد کنید و پیوست سرویس را به Agentspace مرتبط کنید.
Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!
بعدش چی؟
برخی از این کدها را بررسی کنید...
- استفاده از Private Service Connect برای انتشار و مصرف خدمات
- دسترسی به تمام کدهای منتشر شده Private Service Connect