مسیر GCP VPN فقط در یک منطقه کار میکند: مسیریابی پویا را بررسی کنید
یک VPC جهانی مسیرهای آموختهشده از BGP را جهانی نمیکند. حالت مسیریابی را بخوانید، یک بار آن را تغییر دهید و بررسی کنید طرف مقابل چه چیزی را اعلام میکند.
بار کاری آمریکا بدون مشکل از طریق HA VPN به پیشوند دفتر میرسد، در حالی که بار کاری اروپا در همان VPC هیچ چیزی دریافت نمیکند. جدول مسیریابی آن هیچ ورودی برای این پیشوند ندارد، هیچ تونلی قطع نیست و هیچ قاعدهای از فایروال تغییر نکرده است. تونل و نشست BGP آن در هر دو جهت سالم هستند. یک VPC که چند منطقه را در بر میگیرد با مسیرهای آموختهشدهاش که چند منطقه را در بر میگیرند یکی نیست، و همین شکاف کل نشانه را توضیح میدهد.
اینجا دو ویژگی با هم اشتباه گرفته میشوند: اینکه زیرشبکهها کجا هستند، و اینکه پرش بعدی آموختهشده کجا مجاز به استفاده است.
دامنه منطقهای از کجا میآید
Cloud Router مسیرهای آموختهشده را با دامنهای نصب میکند که از حالت مسیریابی پویا در VPC پیروی میکند. در حالت منطقهای، مسیری که در یک منطقه آموخته شده فقط توسط منابع همان منطقه قابل استفاده است، به همین دلیل جدول اروپا خالی است و پرش بعدی خراب نشان داده نمیشود. در حالت جهانی، مسیرهای آموختهشده واجد شرایط برای منابع در هر منطقه از VPC در دسترس قرار میگیرند. پیش از هر تغییری مقدار فعلی را بخوانید، چون حالت منطقهای پیشفرض است. این تنظیم روی شبکه است، نه روی تونل و نه روی روتر.
دستور فهرستگیری فقط خواندنی است و آن را در یک خط پاسخ میدهد:
gcloud compute networks describe VPC_NAME --format='value(routingConfig.routingMode)'
وقتی VPC مشترک است آن را در پروژه میزبان اجرا کنید. شبکه به همان پروژه تعلق دارد، و نقش بیننده در پروژه بار کاری ممکن است حتی پیکربندی مسیریابی را نشان ندهد. یک پاسخ سریع از پروژه اشتباه از نبود پاسخ بدتر است.
تغییر یک دستور و یک جهت است
تغییر حالت یک ویرایش در سطح صفحه کنترل کل VPC است، نه یک راهحل جایگزین برای هر VM: gcloud compute networks update VPC_NAME --routing-mode=GLOBAL. همچنین یکطرفه است، چون شبکهای که روی حالت جهانی تنظیم شده به حالت منطقهای بازنمیگردد. پیش از اجرا یک بار دیگر نام پروژه و شبکه را بررسی کنید، چون دستور تأیید نمیخواهد. این تغییر به یک یادداشت نگهداری و تأیید مالک شبکه نیاز دارد، نه یک آزمایش سریع روی VPC مشترک.
هر اتصال Cloud Router و VPN و Interconnect در آن شبکه یکجا دامنه جدید را به ارث میبرد. این شامل اتصالهایی هم میشود که کسی در درخواست تغییر به آنها اشاره نکرد. مناطقی که هرگز این مسیر را نداشتهاند بهمحض اجرایی شدن تغییر شروع به دریافت آن میکنند، و به همین دلیل برای این تغییر هیچ استقرار مرحلهای وجود ندارد.
جهانی بودن یک دامنه است، نه یک تضمین
واجد شرایط بودن و ترجیح از دامنه جدا هستند. مسیری که با پیشوندی مشخصتر تعارض دارد، انتخاب بهترین مسیر را میبازد یا با سیاست فیلتر میشود، دقیقاً مثل قبل رفتار میکند. حالت جهانی گسترش میدهد که یک مسیر کجا مجاز به استفاده است، اما تعیین نمیکند کدام مسیر برنده میشود. یک مسیر آموختهشده میتواند در دامنه باشد و باز هم به یک مسیر ایستا یا مشخصتر در همان VPC ببازد.
این تمایز مهم است، چون سرزنش کردن تغییر حالت بعداً آسان است. اگر زیرشبکه اروپا پس از تغییر هنوز مسیری نداشته باشد، پرسش این است که آیا مسیر وجود دارد و واجد شرایط است، نه اینکه آیا دامنه اجرایی شده است. تعارضهای پیشوند و سلامت پرش بعدی دو چیز بعدی برای خواندن هستند.
طرف مقابل هم به شکل دیگری اعلام میکند
رفتار اعلام از همان تنظیم پیروی میکند. در رفتار پیشفرض، روتر در حالت منطقهای زیرشبکههای منطقه خودش را اعلام میکند، در حالی که حالت جهانی زیرشبکههای VPC را گستردهتر اعلام میکند. پس تغییر حالت نهتنها آنچه مناطق خودتان مجاز به استفادهاند را تغییر میدهد، بلکه آنچه طرف مقابل نصب میکند را هم.
فهرست اعلام سفارشی با تغییر حالت گسترش نمییابد. اگر روتر محلی فهرستی دستنویس از محدودهها داشته باشد، پیشوند اروپا در آن غایب میماند. مسیر بازگشت در آن حالت خراب میماند، حتی اگر مسیر خروجی اکنون وجود داشته باشد. آنچه طرف مقابل نصب کرده را بررسی کنید، نه آنچه صادر کردهاید.
چیزی که حالت هرگز درست نمیکند
مسیریابی جهانی دسترسی به اینترنت عمومی، عبور بین VPCهای نامرتبط یا مسیرهای ایستای ازدسترفته را فراهم نمیکند. قواعد فایروال یا IAM را تغییر نمیدهد، پس اتصالی که با سیاست رد شده، ردشده میماند.
این خرابیها از داخل یک بار کاری شبیه هم به نظر میرسند و هیچ ارتباطی با دامنه مسیر ندارند.
از منطقه دوردست به سرویس واقعی آزمایش کنید، سپس تأیید کنید که پاسخ از طریق تونل موردنظر برمیگردد. حالت، پیکربندی اعلام و مقصدی را که آزمایش کردهاید ثبت کنید. اگر آزمایش همچنان شکست خورد، پیش از دست زدن دوباره به حالت، جدول BGP روتر دوردست را با فهرست مسیرهای VPC مقایسه کنید. آنگاه گزارش بعدی بین مناطق از واقعیتها شروع میشود، نه از یک تغییر حالت.