Private Service Connect 66

۱. مقدمه

سرویس خصوصی اتصال، نحوه‌ی استفاده‌ی سازمان‌ها از خدمات در اکوسیستم گوگل کلود را متحول می‌کند و پشتیبانی کاملی از آدرس‌دهی 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

۱۱a36b2a52d60fe7.png

۷. تنظیمات و الزامات

تنظیم محیط خودتنظیم

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

شروع پوسته ابری

اگرچه می‌توان از راه دور و از طریق لپ‌تاپ، گوگل کلود را مدیریت کرد، اما در این آزمایشگاه کد، از گوگل کلود شل ، یک محیط خط فرمان که در فضای ابری اجرا می‌شود، استفاده خواهید کرد.

از کنسول گوگل کلود ، روی آیکون Cloud Shell در نوار ابزار بالا سمت راست کلیک کنید:

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

این ماشین مجازی با تمام ابزارهای توسعه‌ای که نیاز دارید، مجهز شده است. این ماشین مجازی یک دایرکتوری خانگی پایدار ۵ گیگابایتی ارائه می‌دهد و روی فضای ابری گوگل اجرا می‌شود که عملکرد شبکه و احراز هویت را تا حد زیادی بهبود می‌بخشد. تمام کارهای شما در این آزمایشگاه کد را می‌توان در یک مرورگر انجام داد. نیازی به نصب چیزی ندارید.

۸. قبل از شروع

فعال کردن 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

۱۳۰۶۴۸bcdb۹۲۶۶b۱.png

ایجاد زیرشبکه‌ها

زیرشبکه 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

در کنسول ابری، به مسیر زیر بروید:

سرویس‌های شبکه → اتصال سرویس خصوصی → سرویس‌های منتشر شده

4356b8ab4a385eb6.png

۳۱۲۷۹۵be39b21f62.png

۱۱. ایجاد شبکه 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

f0cb0565e4af4c72.png

ایجاد زیرشبکه

درون 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، به مسیر زیر بروید:

سرویس‌های شبکه → اتصال سرویس خصوصی → نقاط پایانی متصل

۱ee60ea44c5027dd.png

اتصال را آزمایش کنید

درون 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 را فراهم می‌کند.

کازموپاپ فکر می‌کند که کدلب‌ها فوق‌العاده هستند!!

c911c127bffdee57.jpeg

بعدش چی؟

به برخی از این آزمایشگاه‌های کد نگاهی بیندازید...

مطالعه بیشتر و ویدیوها

اسناد مرجع