1. مقدمه
Private Service Connect نحوه استفاده سازمان ها از خدمات را در اکوسیستم Google Cloud متحول می کند و پشتیبانی کامل از آدرس دهی IPv6 در کنار IPv4 را ارائه می دهد. این سیستم امنیت پیشرفته، اتصال ساده، عملکرد بهبود یافته و مدیریت متمرکز را ترکیب می کند و آن را به یک راه حل ایده آل برای مشاغلی تبدیل می کند که به دنبال یک مدل مصرف خدمات قوی، قابل اعتماد و کارآمد هستند که برای آینده شبکه آماده است. چه در حال ساخت یک ابر ترکیبی باشید، چه سرویسها را در سراسر سازمان خود به اشتراک بگذارید یا به خدمات شخص ثالث دسترسی داشته باشید، PSC مسیری یکپارچه و ایمن را برای استفاده از پتانسیل کامل Google Cloud ارائه میکند و در عین حال از مزایای IPv6 بهره میبرد.
چیزی که یاد خواهید گرفت
- مزایای کلیدی PSC 66
- Private Service Connect 66 ترجمه پشتیبانی می کند
- نمای کلی ULA دو پشته
- الزامات شبکه
- یک سرویس تولید کننده Private Service Connect ایجاد کنید
- یک نقطه پایانی Private Service Connect ایجاد کنید
- اتصال به نقطه پایانی Private Service Connect را از یک VM دو پشته برقرار کنید
آنچه شما نیاز دارید
- پروژه Google Cloud با مجوزهای مالک
2. آنچه می سازید
شما یک شبکه Producer ایجاد خواهید کرد تا یک وب سرور آپاچی را به عنوان یک سرویس منتشر شده از طریق Private Service Connect (PSC) مستقر کنید. پس از انتشار، اقدامات زیر را برای تأیید اعتبار دسترسی به سرویس تولیدکننده انجام خواهید داد:
- از Consumer VPC، نمونه GCE دو پشتهای، نقطه پایانی IPv6 PSC را هدف قرار دهید تا به سرویس تولیدکننده برسید.
مزایای کلیدی PSC 66
- یکپارچه سازی بدون درز: PSC به طور یکپارچه با شبکه های VPC پیکربندی شده برای IPv6 ادغام می شود و به شما امکان می دهد از مزایای آدرس دهی IPv6 برای اتصالات سرویس خود استفاده کنید.
- پشتیبانی Dual-Stack: PSC از پیکربندی های دو پشته پشتیبانی می کند و امکان استفاده همزمان از IPv4 و IPv6 را در یک VPC فراهم می کند و انعطاف پذیری و محافظت از شبکه شما را در آینده فراهم می کند.
- انتقال ساده: PSC انتقال به IPv6 را با این امکان به شما امکان می دهد که به تدریج IPv6 را در کنار زیرساخت IPv4 موجود خود بپذیرید.
- پشتیبانی تولیدکننده: تولیدکننده ملزم به پذیرش دو پشته است که در نتیجه یک نقطه پایانی مصرف کننده PSC فقط IPv6 ایجاد می شود.
3. خدمات خصوصی اتصال 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 ترجمه می شود.
موارد زیر پشتیبانی نمی شود:
Private Service Connect از اتصال نقطه پایانی IPv4 با پیوست سرویس IPv6 پشتیبانی نمی کند. در این حالت، ایجاد نقطه پایانی با پیام خطای زیر با شکست مواجه می شود:
قانون حمل و نقل Private Service Connect با آدرس IPv4 نمی تواند پیوست سرویس IPv6 را هدف قرار دهد.
4. نمای کلی ULA دو پشته
Google Cloud از ایجاد زیرشبکه های IPv6 خصوصی ULA و ماشین های مجازی پشتیبانی می کند. RFC 4193 یک طرح آدرس دهی IPv6 را برای ارتباطات محلی تعریف می کند که برای ارتباطات درون VPC ایده آل است. آدرسهای ULA در سراسر جهان قابل مسیریابی نیستند، بنابراین ماشینهای مجازی شما کاملاً از اینترنت جدا میشوند و رفتاری مشابه RFC-1918 با استفاده از IPv6 ارائه میکنند. Google Cloud به ایجاد پیشوندهای ULA شبکه VPC/48 اجازه می دهد تا همه زیرشبکه های ULA IPv6/64 شما از آن محدوده شبکه VPC تخصیص داده شوند.
مشابه آدرسهای IPv6 خارجی منحصربهفرد جهانی که توسط Google Cloud پشتیبانی میشوند، هر زیرشبکه ULA IPv6 فعال یک زیرشبکه /64 از محدوده ULA شبکه VPC /48 دریافت میکند و به هر VM یک آدرس /96 از آن زیرشبکه اختصاص داده میشود.
RFC4193 فضای آدرس IPv6 را در محدوده fc00::/7 تعریف می کند. آدرسهای ULA را میتوان در شبکهها/سایتهای خصوصی اختصاص داد و آزادانه استفاده کرد. Google Cloud تمام آدرسهای ULA را از محدوده fd20::/20 اختصاص میدهد. این آدرس ها فقط در محدوده VPC ها قابل مسیریابی هستند و در اینترنت جهانی IPv6 قابل مسیریابی نیستند.
آدرسهای ULA اختصاص داده شده توسط Google Cloud تضمین شده است که در تمام شبکههای VPC منحصربهفرد هستند. Google Cloud تضمین میکند که به هیچ دو شبکه VPC یک پیشوند ULA اختصاص داده نشده است. با این کار مشکل همپوشانی محدوده ها در شبکه های VPC برطرف می شود.
میتوانید به Google Cloud اجازه دهید تا 48/48 را به شبکه شما اختصاص دهد یا یک پیشوند IPv6/48 خاص را انتخاب کنید. اگر پیشوند IPv6 مشخص شده شما قبلاً به VPC دیگری یا در شبکه داخلی شما اختصاص داده شده است، می توانید محدوده دیگری را انتخاب کنید.
5. الزامات شبکه
در زیر تجزیه و تحلیل نیازمندی های شبکه برای شبکه مصرف کننده و تولید کننده آورده شده است:
شبکه مصرف کننده (همه اجزای مستقر در us-central1)
اجزاء | توضیحات |
VPC | شبکه دو پشته به یک VPC حالت سفارشی با فعال کردن ULA نیاز دارد |
نقطه پایانی PSC | IPV6 PSC Endpoint برای دسترسی به سرویس تولید کننده استفاده می شود |
زیرشبکه(های) | دو پشته |
GCE | دو پشته |
شبکه تولید کننده (همه اجزای مستقر در us-central1)
اجزاء | توضیحات |
VPC | شبکه دو پشته به یک VPC حالت سفارشی با فعال کردن ULA نیاز دارد |
زیرشبکه PSC NAT | دو پشته. بستههای شبکه VPC مصرفکننده با استفاده از NAT منبع (SNAT) ترجمه میشوند تا آدرسهای IP منبع اصلی آنها به آدرسهای IP منبع از زیرشبکه NAT در شبکه VPC تولیدکننده تبدیل شود. |
قانون ارسال PSC | دو پشته. گذرگاه داخلی شبکه بار متعادل کننده |
یک قانون ورود، قابل اعمال در مواردی که بار متعادل هستند، که به ترافیک سیستمهای بررسی سلامت Google Cloud اجازه میدهد (2600:2d00:1:b029::/64). | |
خدمات Backend | یک سرویس پشتیبان به عنوان پلی بین متعادل کننده بار و منابع باطن شما عمل می کند. در آموزش، سرویس Backend با گروه نمونه مدیریت نشده مرتبط است. |
گروه نمونه مدیریت نشده | از ماشین های مجازی که نیاز به پیکربندی یا تنظیم فردی دارند پشتیبانی می کند. از مقیاس خودکار پشتیبانی نمی کند. |
6. توپولوژی Codelab
7. راه اندازی و الزامات
تنظیم محیط خود به خود
- به 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 اجرا می شود و عملکرد و احراز هویت شبکه را تا حد زیادی افزایش می دهد. تمام کارهای شما در این کد لبه را می توان در یک مرورگر انجام داد. شما نیازی به نصب چیزی ندارید.
8. قبل از شروع
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
9. Producer VPC Network ایجاد کنید
شبکه VPC
در داخل Cloud Shell موارد زیر را انجام دهید:
gcloud compute networks create producer-vpc --subnet-mode custom --enable-ula-internal-ipv6
Google یک زیرشبکه جهانی منحصر به فرد 48/ را به Consumer VPC اختصاص می دهد، برای مشاهده تخصیص موارد زیر را انجام دهید:
در Cloud Console به مسیر زیر بروید:
شبکه های 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 producer-nat-dual-stack-subnet را که در مرحله بعد برای ایجاد یک قانون فایروال ورودی استفاده می شود، بدست آورید و یادداشت کنید تا به زیرشبکه PSC NAT اجازه دسترسی به باطن متعادل کننده بار را بدهد.
در داخل 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، زیرشبکه تولیدکننده vm را ایجاد کنید:
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 را ایجاد کنید
تولید کننده-vm برای دانلود آپاچی نیاز به دسترسی به اینترنت دارد، اما نمونه GCE IP خارجی ندارد. بنابراین، Cloud NAT خروجی اینترنت را برای دانلود بسته فراهم می کند.
در داخل Cloud Shell، Cloud Router را ایجاد کنید:
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 اجازه دهید به نمونه های VM شما متصل شود، یک قانون فایروال ایجاد کنید که:
- برای تمام نمونه های VM که می خواهید با استفاده از 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 به تمام نمونه های شبکه اجازه می دهد. در یک محیط تولید، این قانون فایروال باید فقط به موارد مرتبط با سرویس تولیدکننده خاص محدود شود.
قاعده فایروال <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
Producer VM را ایجاد کنید
در داخل Cloud Shell، وب سرور producer-vm apache را ایجاد کنید:
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، یک گروه نمونه مدیریت نشده متشکل از نمونه تولیدکننده-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
10. ایجاد سرویس تولید کننده
اجزای Load Balancer را ایجاد کنید
در داخل 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
در Cloud Console به مسیر زیر بروید:
خدمات شبکه → اتصال سرویس خصوصی → خدمات منتشر شده
11. شبکه Consumer VPC را ایجاد کنید
شبکه VPC
در داخل Cloud Shell، Consumer VPC را با IPv6 ULA فعال کنید:
gcloud compute networks create consumer-vpc \ --subnet-mode=custom \ --enable-ula-internal-ipv6
Google یک زیرشبکه جهانی منحصر به فرد 48/ را به Consumer VPC اختصاص می دهد، برای مشاهده تخصیص موارد زیر را انجام دهید:
در Cloud Console به مسیر زیر بروید:
شبکه های 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 برای شبکه مصرف کننده مورد نیاز است.
12. VM، نقطه پایانی PSC را ایجاد کنید و اتصال دو پشته را آزمایش کنید
VM آزمایشی دو پشته ای ایجاد کنید
در داخل Cloud Shell، نمونه GCE دو پشته ای را در زیرشبکه dual-stack ایجاد کنید:
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، با بهروزرسانی SERVICE ATTACHMENT URI با URI شما که هنگام ایجاد پیوست سرویس گرفته شده است، نقطه پایانی 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 دو پشته ای، customers-vm-ipv4-ipv6 وارد کنید.
gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project
اکنون که وارد نمونه GCE دو پشتهای شدهاید، با استفاده از آدرسهای IPv6 شناساییشده در مرحله قبل، یک حلقه به نقطه پایانی 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 !!
در داخل نمونه GCE consumer-vm-ipv4-ipv6، خروج از نمونه را با انجام یک خروج انجام دهید و شما را به Cloud Shell برگردانید.
exit
خروجی مورد انتظار:
user@consumer-vm-ipv4-ipv6:~$ exit logout Connection to compute.715101668351438678 closed.
13. مراحل پاکسازی
از یک ترمینال 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. تبریک می گویم
تبریک میگوییم، شما با موفقیت کانکت سرویس خصوصی 64 را پیکربندی و تأیید کردید.
شما زیرساخت تولید کننده را ایجاد کردید، یاد گرفتید که چگونه یک نقطه پایانی مصرف کننده IPv6 در شبکه VPC مصرف کننده ایجاد کنید که امکان اتصال به سرویس تولید کننده IPv6 را فراهم می کند.
Cosmopup فکر می کند که نرم افزارهای کدنویسی عالی هستند!!
بعدش چی؟
برخی از این کدها را بررسی کنید...
- استفاده از Private Service Connect برای انتشار و مصرف خدمات با GKE
- استفاده از Private Service Connect برای انتشار و مصرف خدمات
- با استفاده از Private Service Connect و یک متعادل کننده بار داخلی TCP Proxy از طریق شبکه هیبریدی به سرویس های اولیه متصل شوید.
- دسترسی به تمام کدهای منتشر شده Private Service Connect