۱. مقدمه
سرویس خصوصی اتصال، نحوهی استفادهی سازمانها از خدمات در اکوسیستم گوگل کلود را متحول میکند و پشتیبانی کاملی از آدرسدهی IPv6 در کنار IPv4 ارائه میدهد. این سرویس، امنیت پیشرفته، اتصال ساده، عملکرد بهبود یافته و مدیریت متمرکز را با هم ترکیب میکند و آن را به یک راهکار ایدهآل برای کسبوکارهایی تبدیل میکند که به دنبال یک مدل مصرف خدمات قوی، قابل اعتماد و کارآمد هستند که برای آیندهی شبکهسازی آماده باشد. چه در حال ساخت یک ابر ترکیبی باشید، چه در حال اشتراکگذاری خدمات در سراسر سازمان خود یا دسترسی به خدمات شخص ثالث، PSC مسیری یکپارچه و امن برای بهرهبرداری از پتانسیل کامل گوگل کلود ارائه میدهد، در حالی که از مزایای IPv6 نیز بهرهمند میشود.
آنچه یاد خواهید گرفت
- مزایای کلیدی PSC 66
- ترجمه پشتیبانی شده توسط Private Service Connect 66
- بررسی اجمالی ULA دو پشته
- الزامات شبکه
- ایجاد یک سرویس تولیدکننده Private Service Connect
- ایجاد یک نقطه پایانی اتصال سرویس خصوصی
- اتصال به نقطه پایانی Private Service Connect را از یک ماشین مجازی دو پشتهای برقرار کنید
آنچه نیاز دارید
- پروژه گوگل کلود با مجوزهای مالک
۲. آنچه خواهید ساخت
شما یک شبکه تولیدکننده (Producer) ایجاد خواهید کرد تا یک وب سرور آپاچی را به عنوان یک سرویس منتشر شده از طریق Private Service Connect (PSC) مستقر کنید. پس از انتشار، اقدامات زیر را برای اعتبارسنجی دسترسی به سرویس تولیدکننده انجام خواهید داد:
- از VPC مصرفکننده، نمونه GCE دو پشتهای، نقطه پایانی PSC IPv6 را هدف قرار دهید تا به سرویس تولیدکننده برسید.
مزایای کلیدی PSC 66
- ادغام یکپارچه: PSC به طور یکپارچه با شبکههای VPC پیکربندی شده برای IPv6 ادغام میشود و به شما این امکان را میدهد که از مزایای آدرسدهی IPv6 برای اتصالات سرویس خود بهره ببرید.
- پشتیبانی از دو پشته: PSC از پیکربندیهای دو پشته پشتیبانی میکند و امکان استفاده همزمان از IPv4 و IPv6 را در یک VPC فراهم میکند و انعطافپذیری و آیندهنگری شبکه شما را تضمین میکند.
- انتقال ساده: PSC با فراهم کردن امکان استفاده تدریجی از IPv6 در کنار زیرساخت IPv4 موجود، انتقال به IPv6 را ساده میکند.
- پشتیبانی تولیدکننده: تولیدکننده ملزم به اتخاذ دو پشتهسازی است که منجر به یک نقطه پایانی PSC مصرفکننده فقط با 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 | نقطه پایانی PSC IPV6 که برای دسترسی به سرویس تولیدکننده استفاده میشود |
زیرشبکه(ها) | دو پشته |
جی سی ای | دو پشته |
شبکه تولیدکننده (تمام اجزای مستقر در us-central1)
قطعات | توضیحات |
وی پی سی | شبکه دو پشتهای به یک VPC حالت سفارشی با ULA فعال نیاز دارد. |
زیرشبکه PSC NAT | دو پشته. بستههای شبکه VPC مصرفکننده با استفاده از NAT منبع (SNAT) ترجمه میشوند، به طوری که آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل میشوند. |
قانون ارسال PSC | متعادلکننده بار شبکه داخلی دو پشتهای. |
یک قانون ورود، که برای نمونههایی که بار آنها متعادل شده است، قابل اجرا است و اجازه عبور ترافیک از سیستمهای بررسی سلامت Google Cloud را میدهد (2600:2d00:1:b029::/64). | |
خدمات بکاند | یک سرویس 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 --enable-ula-internal-ipv6
گوگل یک زیرشبکه منحصر به فرد جهانی /48 را به Consumer VPC اختصاص میدهد، برای مشاهده این تخصیص، موارد زیر را انجام دهید:
در کنسول ابری، به مسیر زیر بروید:
شبکههای VPC

ایجاد زیرشبکهها
زیرشبکه PSC به منظور ترجمه آدرس شبکه با ضمیمه سرویس PSC مرتبط خواهد شد. برای موارد استفاده در محیط عملیاتی، این زیرشبکه باید به طور مناسب اندازهگذاری شود تا از میزان ترافیک ورودی از تمام نقاط پایانی PSC متصل پشتیبانی کند. برای اطلاعات بیشتر به مستندات تعیین اندازه زیرشبکه PSC NAT مراجعه کنید.
درون Cloud Shell، زیرشبکه PSC NAT را ایجاد کنید:
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
شما باید آدرس IPv6 تولیدکننده-نات-دوگانه-پشته-زیرشبکه را که در مرحله بعدی برای ایجاد یک قانون فایروال ورودی استفاده میشود، دریافت و یادداشت کنید تا به زیرشبکه PSC NAT اجازه دسترسی به backend متعادلکننده بار را بدهید.
درون Cloud Shell، زیرشبکه PSC NAT IPv6 را دریافت کنید.
gcloud compute networks subnets describe producer-nat-dual-stack-subnet --region=us-central1 | grep -i internalIpv6Prefix:
نتیجه مورد انتظار:
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
درون Cloud Shell، زیرشبکهی قانون ارسال تولیدکننده را ایجاد کنید:
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
درون Cloud Shell، زیرشبکه ماشین مجازی تولیدکننده را ایجاد کنید:
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
ایجاد دروازه عمومی 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 2600:2d00:1:b029::/64 --layer4-configs tcp:80 --global-firewall-policy
قانون فایروال زیر، ترافیک از محدوده PSC NAT Subnet را به تمام نمونههای موجود در شبکه اجازه میدهد. در یک محیط عملیاتی، این قانون فایروال باید فقط به نمونههای مرتبط با سرویس تولیدکننده خاص محدود شود.
قانون فایروال <insert-your-psc-nat-ipv6-subnet> را با زیرشبکه IPv6 PSC NAT که قبلاً در codelab به دست آمده است، بهروزرسانی کنید.
درون 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 <insert-your-psc-nat-ipv6-subnet> --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-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"
درون 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
یک آدرس IPv6 برای قانون ارسال تولیدکننده (متعادلکننده بار شبکه داخلی) اختصاص داده شد.
در Cloud Shell، موارد زیر را انجام دهید:
gcloud compute addresses create producer-fr-ipv6-address \
--region=us-central1 \
--subnet=producer-dual-stack-fr-subnet \
--ip-version=IPV6
در سینتکس زیر، یک قانون ارسال (متعادلکننده بار شبکه داخلی) با یک آدرس IPv6 از پیش تعریفشده producer-fr-ipv6-address مرتبط با سرویس 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-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
ایجاد پیوست سرویس
درون Cloud Shell، ضمیمه سرویس را ایجاد کنید:
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
در مرحله بعد، پیوست سرویس ذکر شده در selfLink URI را که با پروژههای پیکربندی نقطه پایانی PSC در محیط مصرفکننده شروع میشود، دریافت و یادداشت کنید.
selfLink: projects/<your-project-id>/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment
درون Cloud Shell، موارد زیر را انجام دهید:
gcloud compute service-attachments describe ipv6-producer-svc-attachment --region=$region
مثال خروجی مورد انتظار
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
در کنسول ابری، به مسیر زیر بروید:
سرویسهای شبکه → اتصال سرویس خصوصی → سرویسهای منتشر شده


۱۱. ایجاد شبکه 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، زیرشبکه 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 و آزمایش اتصال دو پشتهای
ایجاد تست ماشین مجازی دو پشتهای
درون 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:799:4ea3:1::'
ایجاد نقطه پایانی 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، با استفاده از ssh به نمونهی GCE دو پشتهای، consumer-vm-ipv4-ipv6، متصل شوید.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project
اکنون که به نمونه GCE دو پشتهای وارد شدهاید، با استفاده از آدرسهای IPv6 شناساییشده در مرحله قبل، یک curl به نقطه پایانی psc، یعنی psc-ipv6-endpoint، انجام دهید.
curl -6 http://[insert-your-ipv6-psc-endpoint]
خروجی مورد انتظار:
user@consumer-vm-ipv4-ipv6$ curl -6 http://[fd20:799:4ea3:1::] Welcome to Producer-VM !!
درون نمونهی Consumer-vm-ipv4-ipv6 GCE، با انجام یک خروج، خروج از نمونه را انجام دهید و به Cloud Shell بازگردید.
exit
خروجی مورد انتظار:
user@consumer-vm-ipv4-ipv6:~$ exit logout Connection to compute.715101668351438678 closed.
۱۳. مراحل پاکسازی
از یک ترمینال 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
۱۴. تبریک
تبریک میگوییم، شما با موفقیت Private Service Connect 64 را پیکربندی و تأیید کردید.
شما زیرساخت تولیدکننده را ایجاد کردید، یاد گرفتید که چگونه یک نقطه پایانی مصرفکننده IPv6 در شبکه VPC مصرفکننده ایجاد کنید که امکان اتصال به سرویس تولیدکننده IPv6 را فراهم میکند.
کازموپاپ فکر میکند که کدلبها فوقالعاده هستند!!

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