۱. مقدمه
سرویس خصوصی اتصال، نحوهی استفادهی سازمانها از خدمات در اکوسیستم گوگل کلود را متحول میکند و پشتیبانی کاملی از آدرسدهی IPv6 در کنار IPv4 ارائه میدهد. این سرویس، امنیت پیشرفته، اتصال ساده، عملکرد بهبود یافته و مدیریت متمرکز را با هم ترکیب میکند و آن را به یک راهکار ایدهآل برای کسبوکارهایی تبدیل میکند که به دنبال یک مدل مصرف خدمات قوی، قابل اعتماد و کارآمد هستند که برای آیندهی شبکهسازی آماده باشد. چه در حال ساخت یک ابر ترکیبی باشید، چه در حال اشتراکگذاری خدمات در سراسر سازمان خود یا دسترسی به خدمات شخص ثالث، PSC مسیری یکپارچه و امن برای بهرهبرداری از پتانسیل کامل گوگل کلود ارائه میدهد، در حالی که از مزایای IPv6 نیز بهرهمند میشود.
آنچه یاد خواهید گرفت
- مزایای کلیدی PSC 64
- ترجمه پشتیبانیشده توسط Private Service Connect 64
- بررسی اجمالی ULA دو پشته
- الزامات شبکه
- ایجاد یک سرویس تولیدکننده Private Service Connect
- ایجاد یک نقطه پایانی اتصال سرویس خصوصی
- برقراری اتصال به نقطه پایانی Private Service Connect از یک ماشین مجازی IPv4
- اتصال به نقطه پایانی Private Service Connect را از یک ماشین مجازی دو پشتهای برقرار کنید
آنچه نیاز دارید
- پروژه گوگل کلود با مجوزهای مالک
۲. آنچه خواهید ساخت
شما یک شبکه تولیدکننده (Producer) ایجاد خواهید کرد تا یک وب سرور آپاچی را به عنوان یک سرویس منتشر شده از طریق Private Service Connect (PSC) مستقر کنید. پس از انتشار، اقدامات زیر را برای اعتبارسنجی دسترسی به سرویس تولیدکننده انجام خواهید داد:
- از نمونهی Consumer VPC و IPv4 GCE، نقطه پایانی IPv4 PSC را هدف قرار دهید تا به سرویس تولیدکننده برسید.
- از VPC مصرفکننده، نمونه GCE دو پشتهای، نقطه پایانی PSC IPv6 را هدف قرار دهید تا به سرویس تولیدکننده برسید.
مزایای کلیدی PSC 64
- ادغام یکپارچه: PSC به طور یکپارچه با شبکههای VPC پیکربندی شده برای IPv6 ادغام میشود و به شما این امکان را میدهد که از مزایای آدرسدهی IPv6 برای اتصالات سرویس خود بهره ببرید.
- پشتیبانی از دو پشته: PSC از پیکربندیهای دو پشته پشتیبانی میکند و امکان استفاده همزمان از IPv4 و IPv6 را در یک VPC فراهم میکند و انعطافپذیری و آیندهنگری شبکه شما را تضمین میکند.
- انتقال ساده: PSC با فراهم کردن امکان استفاده تدریجی از IPv6 در کنار زیرساخت IPv4 موجود، انتقال به IPv6 را ساده میکند.
- پشتیبانی تولیدکننده: تولیدکننده ملزم به اتخاذ دو پشته نیست، در عوض مصرفکننده میتواند یک نقطه پایانی PSC IPv4 یا IPv6 را مستقر کند.
۳. سرویس خصوصی Connect 64 و 66 از ترجمه پشتیبانی میکند
ملاحظات مصرفکننده
نسخه IP نقطه پایانی میتواند IPv4 یا IPv6 باشد، اما نه هر دو. مصرفکنندگان میتوانند از آدرس IPv4 استفاده کنند اگر زیرشبکه آدرس تک پشتهای باشد. مصرفکنندگان میتوانند از آدرس IPv4 یا IPv6 استفاده کنند اگر زیرشبکه آدرس دو پشتهای باشد. مصرفکنندگان میتوانند هر دو نقطه پایانی IPv4 و IPv6 را به یک پیوست سرویس متصل کنند، که میتواند برای مهاجرت سرویسها به IPv6 مفید باشد.
ملاحظات تولیدکننده
نسخه IP قانون ارسال تولیدکننده، نسخه IP پیوست سرویس و ترافیکی که از پیوست سرویس خارج میشود را تعیین میکند. نسخه IP پیوست سرویس میتواند IPv4 یا IPv6 باشد، اما نمیتواند هر دو باشد. تولیدکنندگان میتوانند از آدرس IPv4 استفاده کنند اگر زیرشبکه آدرس تک پشتهای باشد. تولیدکنندگان میتوانند از آدرس IPv4 یا IPv6 استفاده کنند اگر زیرشبکه آدرس دو پشتهای باشد.
نسخه IP آدرس IP مربوط به قانون ارسال تولیدکننده باید با نوع پشته زیرشبکه NAT پیوست سرویس سازگار باشد.
- اگر قانون ارسال تولیدکننده IPv4 باشد، زیرشبکه NAT میتواند تک پشتهای یا دو پشتهای باشد.
- اگر قانون ارسال تولیدکننده IPv6 باشد، زیرشبکه NAT باید دو پشتهای باشد.
ترکیبهای زیر برای پیکربندیهای پشتیبانیشده امکانپذیر است:
- اتصال نقطه پایانی IPv4 به سرویس IPv4
- پیوست سرویس IPv6 به نقطه پایانی IPv6
- اتصال نقطه پایانی IPv6 به سرویس IPv4 در این پیکربندی، Private Service Connect به طور خودکار بین دو نسخه IP ترجمه میکند.
موارد زیر پشتیبانی نمیشوند:
سرویس خصوصی اتصال از اتصال یک نقطه پایانی IPv4 با پیوست سرویس IPv6 پشتیبانی نمیکند. در این حالت، ایجاد نقطه پایانی با پیام خطای زیر ناموفق است:
قانون ارسال Private Service Connect با آدرس IPv4 نمیتواند یک پیوست سرویس IPv6 را هدف قرار دهد.
۴. بررسی اجمالی ULA دو پشته
گوگل کلود از ایجاد زیرشبکهها و ماشینهای مجازی خصوصی ULA IPv6 پشتیبانی میکند. RFC 4193 یک طرح آدرسدهی IPv6 برای ارتباطات محلی تعریف میکند که برای ارتباطات درون VPC ایدهآل است. آدرسهای ULA به صورت سراسری قابل مسیریابی نیستند، بنابراین ماشینهای مجازی شما کاملاً از اینترنت جدا میشوند و رفتاری مشابه RFC-1918 را با استفاده از IPv6 ارائه میدهند. گوگل کلود امکان ایجاد پیشوندهای ULA شبکه VPC /48 را فراهم میکند تا تمام زیرشبکههای ULA /64 IPv6 شما از آن محدوده شبکه VPC اختصاص داده شوند.
مشابه آدرسهای IPv6 خارجی منحصر به فرد جهانی که توسط Google Cloud پشتیبانی میشوند، هر زیرشبکه فعالشده با ULA IPv6 یک زیرشبکه /64 از محدوده ULA شبکه /48 VPC دریافت میکند و به هر ماشین مجازی یک آدرس /96 از آن زیرشبکه اختصاص داده میشود.
RFC4193 فضای آدرس IPv6 را در محدوده fc00::/7 تعریف میکند. آدرسهای ULA میتوانند آزادانه در شبکهها/سایتهای خصوصی اختصاص داده شده و استفاده شوند. Google Cloud تمام آدرسهای ULA را از محدوده fd20::/20 اختصاص میدهد. این آدرسها فقط در محدوده VPCها قابل مسیریابی هستند و در اینترنت جهانی IPv6 قابل مسیریابی نیستند.
آدرسهای ULA اختصاص داده شده توسط گوگل کلود تضمین میکنند که در تمام شبکههای VPC منحصر به فرد باشند. گوگل کلود تضمین میکند که به هیچ دو شبکه VPC پیشوند ULA یکسانی اختصاص داده نشود. این امر مشکل همپوشانی محدودهها در شبکههای VPC را از بین میبرد.
میتوانید اجازه دهید گوگل کلود به طور خودکار /48 را به شبکه شما اختصاص دهد یا میتوانید یک پیشوند IPv6 خاص /48 را انتخاب کنید. اگر پیشوند IPv6 مشخص شده شما قبلاً به یک VPC دیگر یا در شبکه داخلی شما اختصاص داده شده است، میتوانید محدوده دیگری را انتخاب کنید.
۵. الزامات شبکه
در زیر جزئیات الزامات شبکه برای شبکه مصرفکننده و تولیدکننده آمده است:
شبکه مصرفکننده (تمام اجزای مستقر در us-central1)
قطعات | توضیحات |
وی پی سی | شبکه دو پشتهای به یک VPC حالت سفارشی با ULA فعال نیاز دارد. |
نقطه پایانی PSC |
|
زیرشبکه(ها) | IPv4 و دو پشته سازی |
جی سی ای | IPv4 و دو پشته سازی |
شبکه تولیدکننده (تمام اجزای مستقر در us-central1)
قطعات | توضیحات |
وی پی سی | حالت سفارشی VPC، ULA فعال نیست |
زیرشبکه PSC NAT | IPv4. بستههای شبکه VPC مصرفکننده با استفاده از NAT مبدا (SNAT) ترجمه میشوند، به طوری که آدرسهای IP مبدا اصلی آنها به آدرسهای IP مبدا از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل میشوند. |
قانون ارسال PSC | |
بررسی سلامت | یک قانون ورود، که برای نمونههایی که بار آنها متعادل شده است، قابل اجرا است و اجازه عبور ترافیک از سیستمهای بررسی سلامت Google Cloud (130.211.0.0/22 و 35.191.0.0/16) را میدهد. |
خدمات بکاند | یک سرویس backend به عنوان پلی بین load balancer و منابع backend شما عمل میکند. در این آموزش، سرویس backend با گروه نمونه مدیریت نشده مرتبط است. |
گروه نمونه مدیریت نشده | از ماشینهای مجازی که نیاز به پیکربندی یا تنظیم جداگانه دارند پشتیبانی میکند. از مقیاسبندی خودکار پشتیبانی نمیکند. |
۶. توپولوژی Codelab

۷. تنظیمات و الزامات
تنظیم محیط خودتنظیم
- وارد کنسول گوگل کلود شوید و یک پروژه جدید ایجاد کنید یا از یک پروژه موجود دوباره استفاده کنید. اگر از قبل حساب جیمیل یا گوگل ورک اسپیس ندارید، باید یکی ایجاد کنید .



- نام پروژه، نام نمایشی برای شرکتکنندگان این پروژه است. این یک رشته کاراکتری است که توسط APIهای گوگل استفاده نمیشود. شما همیشه میتوانید آن را بهروزرسانی کنید.
- شناسه پروژه در تمام پروژههای گوگل کلود منحصر به فرد است و تغییرناپذیر است (پس از تنظیم، قابل تغییر نیست). کنسول کلود به طور خودکار یک رشته منحصر به فرد تولید میکند؛ معمولاً برای شما مهم نیست که چه باشد. در اکثر آزمایشگاههای کد، باید شناسه پروژه خود را (که معمولاً با عنوان
PROJECT_IDشناخته میشود) ارجاع دهید. اگر شناسه تولید شده را دوست ندارید، میتوانید یک شناسه تصادفی دیگر ایجاد کنید. به عنوان یک جایگزین، میتوانید شناسه خودتان را امتحان کنید و ببینید که آیا در دسترس است یا خیر. پس از این مرحله قابل تغییر نیست و در طول پروژه باقی میماند. - برای اطلاع شما، یک مقدار سوم، شماره پروژه ، وجود دارد که برخی از APIها از آن استفاده میکنند. برای کسب اطلاعات بیشتر در مورد هر سه این مقادیر، به مستندات مراجعه کنید.
- در مرحله بعد، برای استفاده از منابع/API های ابری، باید پرداخت صورتحساب را در کنسول ابری فعال کنید . اجرای این آزمایشگاه کد هزینه زیادی نخواهد داشت، اگر اصلاً هزینهای داشته باشد. برای خاموش کردن منابع به منظور جلوگیری از پرداخت صورتحساب پس از این آموزش، میتوانید منابعی را که ایجاد کردهاید یا پروژه را حذف کنید. کاربران جدید Google Cloud واجد شرایط برنامه آزمایشی رایگان ۳۰۰ دلاری هستند.
شروع پوسته ابری
اگرچه میتوان از راه دور و از طریق لپتاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا میشود، استفاده خواهید کرد.
از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

آمادهسازی و اتصال به محیط فقط چند لحظه طول میکشد. وقتی تمام شد، باید چیزی شبیه به این را ببینید:

این ماشین مجازی با تمام ابزارهای توسعهای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه میدهد و روی فضای ابری گوگل اجرا میشود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود میبخشد. تمام کارهای شما در این آزمایشگاه کد را میتوان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.
۸. قبل از شروع
فعال کردن APIها
در داخل Cloud Shell، مطمئن شوید که شناسه پروژه شما تنظیم شده است:
gcloud config list project gcloud config set project [YOUR-PROJECT-ID] project=[YOUR-PROJECT-ID] region=us-central1 echo $project echo $region
فعال کردن تمام سرویسهای لازم:
gcloud services enable compute.googleapis.com
۹. ایجاد شبکه VPC تولیدکننده
شبکه VPC
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute networks create producer-vpc --subnet-mode custom
ایجاد زیرشبکهها
زیرشبکه PSC به منظور ترجمه آدرس شبکه با ضمیمه سرویس PSC مرتبط خواهد شد. برای موارد استفاده در محیط عملیاتی، این زیرشبکه باید به طور مناسب اندازهگذاری شود تا از میزان ترافیک ورودی از تمام نقاط پایانی PSC متصل پشتیبانی کند. برای اطلاعات بیشتر به مستندات تعیین اندازه زیرشبکه PSC NAT مراجعه کنید.
درون Cloud Shell، زیرشبکه PSC NAT را ایجاد کنید:
gcloud compute networks subnets create producer-psc-nat-subnet --network producer-vpc --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
درون Cloud Shell، زیرشبکهی قانون ارسال تولیدکننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-fr-subnet --network producer-vpc --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
درون Cloud Shell، زیرشبکه ماشین مجازی تولیدکننده را ایجاد کنید:
gcloud compute networks subnets create producer-psc-vm-subnet --network producer-vpc --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
ایجاد دروازه عمومی NAT
ماشین مجازی تولیدکننده برای دانلود آپاچی به دسترسی به اینترنت نیاز دارد، با این حال نمونه GCE IP خارجی ندارد؛ بنابراین، Cloud NAT خروجی اینترنت را برای دانلود بسته فراهم میکند.
درون Cloud Shell، روتر ابری را ایجاد کنید:
gcloud compute routers create producer-cloud-router --network producer-vpc --region us-central1
درون Cloud Shell، دروازه Cloud NAT را ایجاد کنید که امکان خروج از اینترنت را فراهم کند:
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
ایجاد سیاست و قوانین فایروال شبکه
درون Cloud Shell، موارد زیر را انجام دهید:
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
برای اینکه به IAP اجازه دهید به ماشینهای مجازی شما متصل شود، یک قانون فایروال ایجاد کنید که:
- برای تمام نمونههای ماشین مجازی که میخواهید با استفاده از IAP به آنها دسترسی داشته باشید، اعمال میشود.
- اجازه ورود ترافیک از محدوده IP 35.235.240.0/20 را میدهد. این محدوده شامل تمام آدرسهای IP است که IAP برای ارسال TCP استفاده میکند.
درون Cloud Shell، موارد زیر را انجام دهید:
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
قانون فایروال زیر اجازه میدهد ترافیک از محدوده بررسی سلامت به تمام نمونههای موجود در شبکه ارسال شود. در یک محیط عملیاتی، این قانون فایروال باید فقط به نمونههای مرتبط با سرویس تولیدکننده خاص محدود شود.
درون Cloud Shell، موارد زیر را انجام دهید:
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 130.211.0.0/22,35.191.0.0/16 --layer4-configs tcp:80 --global-firewall-policy
قانون فایروال زیر، ترافیک از محدوده PSC NAT Subnet را به تمام نمونههای موجود در شبکه اجازه میدهد. در یک محیط عملیاتی، این قانون فایروال باید فقط به نمونههای مرتبط با سرویس تولیدکننده خاص محدود شود.
درون Cloud Shell، موارد زیر را انجام دهید:
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 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
ایجاد ماشین مجازی تولیدکننده
درون Cloud Shell، وب سرور آپاچی 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-psc-vm-subnet \
--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"
درون Cloud Shell، گروه نمونه مدیریت نشده متشکل از نمونه producer-vm و بررسی سلامت را ایجاد کنید:
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
۱۰. ایجاد سرویس تولیدکننده
ایجاد کامپوننتهای متعادلکننده بار
درون Cloud Shell، موارد زیر را انجام دهید:
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
در سینتکس زیر، یک قانون ارسال (متعادلکننده بار شبکه داخلی) با یک آدرس IP از پیش تعریفشده ۱۷۲.۱۶.۲.۳ مرتبط با سرویس backend، producer-backend-svc، ایجاد کنید.
در Cloud Shell، موارد زیر را انجام دهید:
gcloud compute forwarding-rules create producer-fr --region=us-central1 --load-balancing-scheme=internal --network=producer-vpc --subnet=producer-psc-fr-subnet --address=172.16.20.3 --ip-protocol=TCP --ports=all --backend-service=producer-backend-svc --backend-service-region=us-central1
ایجاد پیوست سرویس
درون Cloud Shell، ضمیمه سرویس را ایجاد کنید:
gcloud compute service-attachments create ipv4-producer-svc-attachment --region=$region --producer-forwarding-rule=producer-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
در مرحله بعد، پیوست سرویس ذکر شده در selfLink URI را که با پروژههای پیکربندی نقطه پایانی PSC در محیط مصرفکننده شروع میشود، دریافت و یادداشت کنید.
selfLink: projects/<your-project-id>/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute service-attachments describe ipv4-producer-svc-attachment --region=$region
مثال خروجی مورد انتظار
user@cloudshell:~ (projectid)$ gcloud compute service-attachments describe ipv4-producer-svc-attachment --region=$region connectionPreference: ACCEPT_AUTOMATIC creationTimestamp: '2024-08-26T07:08:01.625-07:00' description: '' enableProxyProtocol: false fingerprint: USOMy1eQKyM= id: '1401660514263708334' kind: compute#serviceAttachment name: ipv4-producer-svc-attachment natSubnets: - https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/subnetworks/producer-psc-nat-subnet pscServiceAttachmentId: high: '85245007652455400' low: '1401660514263708334' 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/ipv4-producer-svc-attachment targetService: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/forwardingRules/producer-fr
در کنسول ابری، به مسیر زیر بروید:
سرویسهای شبکه → اتصال سرویس خصوصی → سرویسهای منتشر شده


۱۱. ایجاد شبکه VPC مصرفکننده
شبکه VPC
درون Cloud Shell، Consumer VPC را با فعال کردن IPv6 ULA ایجاد کنید:
gcloud compute networks create consumer-vpc \
--subnet-mode=custom \
--enable-ula-internal-ipv6
گوگل یک زیرشبکه منحصر به فرد جهانی /48 را به Consumer VPC اختصاص میدهد، برای مشاهده این تخصیص، موارد زیر را انجام دهید:
در کنسول ابری، به مسیر زیر بروید:
شبکههای VPC

ایجاد زیرشبکه
درون Cloud Shell، زیرشبکه IPv4 GCE را ایجاد کنید:
gcloud compute networks subnets create consumer-v4-subnet --network consumer-vpc --range=192.168.10.0/28 --region $region --enable-private-ip-google-access
درون Cloud Shell، زیرشبکهی نقطهی پایانی IPv4 PSC را ایجاد کنید:
gcloud compute networks subnets create psc-ipv4-endpoint-subnet --network consumer-vpc --range=192.168.11.0/28 --region $region --enable-private-ip-google-access
درون Cloud Shell، زیرشبکه GCE دو پشتهای را ایجاد کنید:
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
درون Cloud Shell، زیرشبکهی نقطهی پایانی PSC دو پشتهای را ایجاد کنید:
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
ایجاد سیاست و قوانین فایروال شبکه
درون Cloud Shell، موارد زیر را انجام دهید:
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
فقط دسترسی SSH از IAP برای شبکه مصرفکننده مورد نیاز است.
۱۲. ایجاد ماشین مجازی، نقطه پایانی PSC و آزمایش اتصال IPv4
ایجاد ماشین مجازی آزمایشی
درون Cloud Shell، نمونه IPv4 GCE را در زیرشبکه IPv4 ایجاد کنید:
gcloud compute instances create consumer-vm-ipv4 --zone=us-central1-a --subnet=consumer-v4-subnet --no-address
ایجاد IP استاتیک برای نقاط پایانی PSC
درون Cloud Shell، یک آدرس IP ثابت برای نقطه پایانی PSC ایجاد کنید.
gcloud compute addresses create psc-ipv4-endpoint-ip --region=$region --subnet=psc-ipv4-endpoint-subnet --addresses 192.168.11.13
ایجاد نقطه پایانی IPv4 PSC
درون Cloud Shell، با بهروزرسانی URL ضمیمه سرویس (SERVICE ATTACHMENT URI) با URL ثبتشده هنگام ایجاد ضمیمه سرویس، نقطه پایانی PSC را ایجاد کنید.
gcloud compute forwarding-rules create psc-ipv4-endpoint --region=$region --network=consumer-vpc --address=psc-ipv4-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]
اعتبارسنجی نقطه پایانی PSC
بیایید تأیید کنیم که تولیدکننده، نقطه پایانی PSC را پذیرفته است. در Cloud Console، به مسیر زیر بروید:
سرویسهای شبکه → اتصال سرویس خصوصی → نقاط پایانی متصل

اتصال را آزمایش کنید
درون Cloud Shell، با استفاده از ssh به نمونه GCE، یعنی consumer-vm-ipv4، دسترسی پیدا کنید.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4" --tunnel-through-iap --project $project
حالا که وارد نمونه GCE شدهاید، یک curl به نقطه پایانی psc، یعنی psc-ipv4-endpoint 192.168.11.13، انجام دهید.
درون نمونهی Consumer-vm-ipv4 GCE، یک curl انجام دهید:
curl 192.168.11.13
خروجی مورد انتظار:
user@consumer-vm-ipv4:~$ curl 192.168.11.13 Welcome to Producer-VM !!
درون نمونهی consumer-vm-ipv4 GCE، با انجام یک خروج، از نمونه خارج شوید و به Cloud Shell بازگردید.
exit
خروجی مورد انتظار:
user@consumer-vm-ipv4:~$ exit logout Connection to compute.6833450446005281720 closed.
۱۳. ایجاد ماشین مجازی، نقطه پایانی PSC و آزمایش اتصال دو پشتهای
ایجاد تست ماشین مجازی دو پشتهای
درون Cloud Shell، نمونهی GCE دو پشتهای را در زیرشبکهی دو پشتهای ایجاد کنید:
gcloud compute instances create consumer-vm-ipv4-ipv6 --zone=us-central1-a --subnet=consumer-dual-stack-subnet --no-address --stack-type=IPV4_IPV6
ایجاد آدرس IPv6 استاتیک برای نقطه پایانی PSC
درون Cloud Shell، یک آدرس IPv6 استاتیک برای نقطه پایانی PSC ایجاد کنید:
gcloud compute addresses create psc-ipv6-endpoint-ip --region=$region --subnet=psc-dual-stack-endpoint-subnet --ip-version=IPV6
آدرس IPv6 استاتیک نقطه پایانی PSC را بدست آورید
در داخل Cloud Shell، آدرس PSC IPv6 را که برای دسترسی به سرویس Producer استفاده خواهید کرد، دریافت کنید:
gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address:
خروجی مثال:
user@cloudshell$ gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address: address: 'fd20:2eb:7252:2::'
ایجاد نقطه پایانی IPv6 PSC
درون Cloud Shell، با بهروزرسانی URL ضمیمه سرویس (SERVICE ATTACHMENT URI) با URL ثبتشده هنگام ایجاد ضمیمه سرویس، نقطه پایانی PSC را ایجاد کنید.
gcloud compute forwarding-rules create psc-ipv6-endpoint --region=$region --network=consumer-vpc --address=psc-ipv6-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]
اعتبارسنجی نقطه پایانی PSC
بیایید تأیید کنیم که تولیدکننده، نقطه پایانی PSC را پذیرفته است. در Cloud Console، به مسیر زیر بروید:
سرویسهای شبکه → اتصال سرویس خصوصی → نقاط پایانی متصل

اتصال را آزمایش کنید
درون Cloud Shell، به نمونه GCE دو پشتهای، consumer-vm-ipv4-ipv6، از طریق ssh متصل شوید و یک curl به نقطه پایانی مصرفکنندگان PSC IPv6، psc-ipv6-endpoint، انجام دهید تا دسترسی به سرویس تولیدکننده تأیید شود.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project
اکنون که به نمونه GCE دو پشتهای وارد شدهاید، با استفاده از آدرسهای IPv6 شناساییشده در مرحله قبل، یک curl به نقطه پایانی psc، یعنی psc-dual-stack-endpoint، انجام دهید.
درون نمونهی Consumer-vm-ipv4-ipv6 GCE، یک curl به نقطهی پایانی IPv6 PSC که در مرحلهی Obtain the PSC endpoint static IPv6 شناسایی شده است، انجام دهید.
curl -6 http://[insert-your-ipv6-psc-endpoint]
خروجی مورد انتظار:
user@consumer-vm-ipv4-ipv6$ curl -6 http://[fd20:2eb:7252:2::] Welcome to Producer-VM !!
درون نمونهی Consumer-vm-ipv4-ipv6 GCE، با انجام یک خروج، خروج از نمونه را انجام دهید و به Cloud Shell بازگردید.
exit
خروجی مورد انتظار:
user@consumer-vm-ipv4-ipv6:~$ exit logout Connection to compute.6162185519072639197 closed.
۱۴. مراحل پاکسازی
از یک ترمینال Cloud Shell، اجزای آزمایشگاه را حذف کنید
gcloud compute service-attachments delete ipv4-producer-svc-attachment --region=us-central1 -q gcloud compute forwarding-rules delete psc-ipv6-endpoint psc-ipv4-endpoint --region=us-central1 -q gcloud compute instances delete consumer-vm-ipv4 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-ipv4-endpoint-ip psc-ipv6-endpoint-ip --region=us-central1 -q gcloud compute networks subnets delete consumer-v4-subnet psc-ipv4-endpoint-subnet consumer-dual-stack-subnet psc-dual-stack-endpoint-subnet --region=us-central1 -q gcloud compute networks delete consumer-vpc -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 networks subnets delete producer-psc-fr-subnet producer-psc-vm-subnet producer-psc-nat-subnet --region=us-central1 -q gcloud compute networks delete producer-vpc -q
۱۵. تبریک
تبریک میگوییم، شما با موفقیت Private Service Connect 64 را پیکربندی و اعتبارسنجی کردید.
شما زیرساخت تولیدکننده را ایجاد کردید، یاد گرفتید که چگونه یک نقطه پایانی مصرفکننده IPv4 و IPv6 در شبکه VPC مصرفکننده ایجاد کنید که امکان اتصال به سرویس تولیدکننده را فراهم کند.
کازموپاپ فکر میکند که کدلبها فوقالعاده هستند!!

بعدش چی؟
به برخی از این آزمایشگاههای کد نگاهی بیندازید...
- استفاده از Private Service Connect برای انتشار و مصرف سرویسها با GKE
- استفاده از Private Service Connect برای انتشار و مصرف سرویسها
- با استفاده از Private Service Connect و یک متعادلکننده بار داخلی TCP Proxy، از طریق شبکه ترکیبی به سرویسهای On-Premium متصل شوید.
- دسترسی به تمام آزمایشگاههای کد منتشر شدهی Private Service Connect