پیکربندی «دسترسی خصوصی به Google» در Firestore با سازگاری MongoDB

این صفحه نحوه فعال کردن و پیکربندی «دسترسی خصوصی Google» را در Cloud Firestore شرح می‌دهد.

درباره Private Google Access در Cloud Firestore

به‌طور پیش‌فرض، وقتی Compute Engine VM نشانی IP خارجی اختصاص‌داده‌شده به میانای شبکه‌اش را نداشته باشد، فقط می‌تواند بسته‌ها را به مقصدهای نشانی IP داخلی دیگر ارسال کند. با فعال کردن «دسترسی خصوصی Google» در زیرشبکه مورداستفاده میانای شبکه ماشین مجازی، می‌توانید به این ماشین‌های مجازی اجازه دهید به سرویس Cloud Firestore متصل شوند.

سرویس‌ها و پروتکل‌های ذی‌ربط

  • دستورالعمل‌های این راهنما فقط برای Cloud Firestore اعمال می‌شود.

  • دامنه‌های پیش‌فرض و VIP که Cloud Firestore از آن‌ها استفاده می‌کند و محدوده‌های IP آن‌ها فقط از پروتکل MongoDB در درگاه ۴۴۳ پشتیبانی می‌کنند. از هیچ پروتکل دیگری پشتیبانی نمی‌شود.

الزامات شبکه

اگر همه این شرایط برآورده شود، میانای VM می‌تواند ازطریق شبکه داخلی Google بااستفاده از «دسترسی خصوصی Google» به Google APIs و سرویس‌ها دسترسی پیدا کند:

  • میانای ماشین مجازی به زیرشبکه‌ای متصل است که «دسترسی خصوصی Google» در آن فعال است.

  • نشانی IP خارجی به میانای VM اختصاص داده نشده است.

  • نشانی IP مبدأ بسته‌های ارسال‌شده از ماشین مجازی با یکی از نشانی‌های IP زیر مطابقت داشته باشد.

    • نشانی IPv4 داخلی اصلی میانای VM
    • نشانی IPv4 داخلی از محدوده IP مستعار

ماشین مجازی‌ای که نشانی IPv4 خارجی به میانای شبکه آن اختصاص داده شده است برای متصل شدن به Google APIs و سرویس‌های Google به «دسترسی خصوصی Google» نیاز ندارد. بااین‌حال، شبکه VPC باید الزامات دسترسی به Google APIs و سرویس‌ها را برآورده کند.

اجازه‌های IAM

مالکان، ویرایشگران، و مدیران IAM پروژه با نقش سرپرست شبکه می‌توانند زیرشبکه ایجاد یا به‌روز کنند و نشانی‌های IP را اختصاص دهند.

برای اطلاعات بیشتر درباره نقش‌ها، سند نقش‌های IAM را بخوانید.

درحال ثبت گزارش

Cloud Logging همه درخواست‌های API را که از نمونه‌های ماشین مجازی در زیرشبکه‌هایی که «دسترسی خصوصی Google» در آن‌ها فعال است ارسال شده‌اند ضبط می‌کند. ورودی‌های گزارش، منبع درخواست میانای برنامه‌سازی کاربردی را به‌عنوان نشانی IP داخلی نمونه تماس‌گیرنده شناسایی می‌کنند.

می‌توانید گزارش‌های استفاده روزانه و تجمیع ماهانه را پیکربندی کنید تا به یک Cloud Storage bucket ارسال شوند. برای جزئیات، به صفحه مشاهده گزارش‌های استفاده مراجعه کنید.

خلاصه پیکربندی

جدول زیر روش‌های مختلفی را که می‌توانید «دسترسی خصوصی Google» را در Cloud Firestore پیکربندی کنید خلاصه می‌کند. برای اطلاعات و دستورالعمل‌های دقیق‌تر، پیکربندی شبکه را ببینید.

گزینه دامنه محدوده‌های IP پیکربندی ساناد پیکربندی رهیابی پیکربندی دیوار آتش

دامنه پیش‌فرض (firestore.goog)

وقتی سوابق ساناد را برای restricted.firestore.goog پیکربندی نکنید، از دامنه‌های پیش‌فرض استفاده می‌شود.

136.124.0.0/23 شما ازطریق نشانی‌های IP عمومی به سرویس Cloud Firestore دسترسی پیدا می‌کنید، بنابراین به پیکربندی ساناد خاصی نیاز نیست.

بررسی کنید که شبکه VPC شما بتواند ترافیک را به محدوده‌های نشانی IP که توسط سرویس Cloud Firestore استفاده می‌شود هدایت کند.

  • پیکربندی پایه: مطمئن شوید که مسیرهای پیش‌فرض با پرش بعدی default-internet-gateway و محدوده مقصد 0.0.0.0/0 دارید. اگر این مسیرها وجود ندارند، آن‌ها را ایجاد کنید.
  • پیکربندی سفارشی: مسیرهایی برای محدوده نشانی IP 136.124.0.0/23 ایجاد کنید.

بررسی کنید که قوانین دیوار آتش شما خروج به محدوده نشانی IP 136.124.0.0/23 را مجاز کند.

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

restricted.firestore.goog

از restricted.firestore.goog برای دسترسی به سرویس Cloud Firestore بااستفاده از مجموعه‌ای از نشانی‌های IP که فقط از داخل Google Cloud قابل‌مسیریابی هستند استفاده کنید. می‌تواند در سناریوهای «کنترل‌های سرویس‌های VPC» استفاده شود.

199.36.153.2/31 سوابق ساناد را پیکربندی کنید تا درخواست‌ها را به محدوده نشانی IP 199.36.153.2/31 ارسال کند. بررسی کنید که شبکه VPC شما مسیرهایی به محدوده نشانی IP 199.36.153.2/31 داشته باشد. بررسی کنید که قوانین دیوار آتش شما اجازه خروج به محدوده نشانی IP 199.36.153.2/31 را می‌دهد.

پیکربندی شبکه

این بخش نحوه پیکربندی شبکه را برای دسترسی به Cloud Firestore بااستفاده از «دسترسی خصوصی Google» شرح می‌دهد.

پیکربندی ساناد

برخلاف Google APIs دیگر، Cloud Firestore API از نام‌های دامنه و نشانی‌های IP متفاوتی برای «دسترسی خصوصی Google» استفاده می‌کند:

  • restricted.firestore.goog دسترسی میانای برنامه‌سازی کاربردی به میانای برنامه‌سازی کاربردی Cloud Firestore را فعال می‌کند.

    • نشانی‌های IP: 199.36.153.2 و 199.36.153.3.

    • چون Cloud Firestore با «کنترل‌های سرویس‌های VPC» مطابقت دارد، می‌توانید از این دامنه در سناریوهای «کنترل‌های سرویس‌های VPC» استفاده کنید.

برای ایجاد منطقه و گزارش‌های ساناد برای Cloud Firestore:

  1. منطقه ساناد خصوصی برای firestore.goog ایجاد کنید.

    برای این منظور، ایجاد کردن منطقه خصوصی Cloud DNS را درنظر بگیرید.

  2. در منطقه firestore.goog، گزارش‌های زیر را ایجاد کنید:

    1. یک سابقه A برای restricted.firestore.goog که به نشانی‌های IP زیر اشاره می‌کند: 199.36.153.2 و 199.36.153.3.

    2. یک رکورد CNAME برای *.firestore.goog که به restricted.firestore.goog اشاره می‌کند.

    برای ایجاد این رکوردها در Cloud DNS، به افزودن رکورد مراجعه کنید.

پیکربندی رهیابی

شبکه VPC شما باید مسیرهای مناسبی داشته باشد که پرش‌های بعدی آن دروازه اینترنت پیش‌فرض باشد. Google Cloud از مسیریابی ترافیک به میاناهای برنامه‌سازی کاربردی و سرویس‌های Google ازطریق دیگر نمونه‌های VM یا پرش‌های بعدی سفارشی پشتیبانی نمی‌کند. باوجود اینکه به آن دروازه اینترنت پیش‌فرض گفته می‌شود، بسته‌های ارسال‌شده از ماشین‌های مجازی در شبکه VPC شما به Google API و سرویس‌ها در شبکه Google باقی می‌مانند.

  • اگر گزینه دامنه پیش‌فرض را انتخاب کنید، نمونه‌های VM شما بااستفاده از محدوده نشانی IP عمومی زیر به سرویس Cloud Firestore متصل می‌شوند: 136.124.0.0/23 . این نشانی‌های IP به‌صورت عمومی قابل‌مسیریابی هستند، اما مسیر از ماشین مجازی در شبکه VPC به آن نشانی‌ها در شبکه Google باقی می‌ماند.

  • Google مسیرهای اینترنتی را برای هیچ‌کدام از نشانی‌های IP مورداستفاده دامنه restricted.firestore.goog منتشر نمی‌کند. درنتیجه، این دامنه فقط توسط ماشین‌های مجازی در شبکه VPC یا سیستم‌های درون‌محل متصل به شبکه VPC قابل‌دسترسی است.

اگر شبکه VPC شما حاوی مسیر پیش‌فرض باشد که پرش بعدی آن درگاه اینترنت پیش‌فرض است، می‌توانید از آن مسیر برای دسترسی به سرویس Cloud Firestore استفاده کنید، بدون اینکه نیاز باشد مسیرهای سفارشی ایجاد کنید. برای جزئیات، به رهیابی با مسیر پیش‌فرض بروید.

اگر مسیر پیش‌فرضی (مقصد 0.0.0.0/0 یا ::0/0) را با مسیر سفارشی‌ای که پرش بعدی آن دروازه اینترنت پیش‌فرض نیست جایگزین کرده‌اید، می‌توانید به‌جای آن بااستفاده از مسیریابی سفارشی الزامات مسیریابی را برای سرویس Cloud Firestore برآورده کنید.

رهیابی با مسیر پیش‌فرض

هر شبکه VPC هنگام ایجاد شدن حاوی یک مسیر پیش‌فرض IPv4 (0.0.0.0/0) است.

مسیر پیش‌فرض مسیری را به نشانی‌های IP برای مقصدهای زیر ارائه می‌دهد:

  • دامنه پیش‌فرض (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

برای دستورالعمل‌های کنسول Google Cloud و Google Cloud CLI درباره نحوه بررسی پیکربندی مسیر پیش‌فرض در شبکه داده‌شده، به پیکربندی دسترسی خصوصی Google مراجعه کنید.

مسیریابی با مسیرهای سفارشی

به‌عنوان جایگزینی برای مسیر پیش‌فرض، می‌توانید از مسیرهای ایستای سفارشی استفاده کنید که هرکدام مقصد خاص‌تری دارند و هرکدام از پرش بعدی دروازه اینترنت پیش‌فرض استفاده می‌کنند. نشانی‌های IP مقصد برای مسیرها به دامنه‌ای که انتخاب می‌کنید بستگی دارد:

  • دامنه پیش‌فرض (firestore.goog): 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

برای دستورالعمل‌های کنسول Google Cloud و Google Cloud CLI درباره نحوه بررسی پیکربندی مسیرهای سفارشی در یک شبکه خاص، به پیکربندی دسترسی خصوصی Google مراجعه کنید.

پیکربندی دیوار آتش

پیکربندی دیوار آتش شبکه VPC شما باید اجازه دهد ماشین‌های مجازی به نشانی‌های IP مورداستفاده سرویس Cloud Firestore دسترسی داشته باشند. قانون ضمنی allow egress این الزام را برآورده می‌کند.

در برخی پیکربندی‌های دیواره آتش، باید قوانین مجاز خروج خاصی ایجاد کنید. برای مثال، فرض کنید قانون رد خروج ایجاد کرده‌اید که ترافیک به همه مقصدها را مسدود می‌کند (0.0.0.0 برای IPv4). در این صورت، باید یک قانون دیوار آتشین مجاز خروجی ایجاد کنید که اولویت آن بالاتر از قانون رد خروجی برای هر محدوده نشانی IP استفاده‌شده توسط دامنه‌ای که انتخاب می‌کنید باشد:

  • دامنه پیش‌فرض (firestore.goog: 136.124.0.0/23
  • restricted.firestore.goog: 199.36.153.2/31

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

پیکربندی Private Google Access

پس‌از برآورده کردن الزامات شبکه در شبکه VPC خود، می‌توانید «دسترسی خصوصی Google» را فعال کنید. برای دستورالعمل‌های کنسول Google Cloud و Google Cloud CLI، مراحل شرح‌داده‌شده در فعال کردن «دسترسی خصوصی Google» را دنبال کنید.

حالا چه می‌شود