پیکربندی دسترسی خصوصی گوگل در Firestore با سازگاری با MongoDB

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

درباره دسترسی خصوصی گوگل در Cloud Firestore

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

خدمات و پروتکل‌های قابل اجرا

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

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

الزامات شبکه

یک رابط ماشین مجازی می‌تواند از طریق شبکه داخلی گوگل با استفاده از Private Google Access به APIها و سرویس‌های گوگل دسترسی پیدا کند، البته اگر همه این شرایط برقرار باشد:

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

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

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

    • آدرس IPv4 داخلی اصلی رابط ماشین مجازی
    • یک آدرس IPv4 داخلی از یک محدوده IP مستعار

یک ماشین مجازی که یک آدرس IPv4 خارجی به رابط شبکه آن اختصاص داده شده است، برای اتصال به APIها و سرویس‌های گوگل نیازی به Private Google Access ندارد. با این حال، شبکه VPC باید الزامات دسترسی به APIها و سرویس‌های گوگل را برآورده کند.

مجوزهای IAM

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

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

ثبت وقایع

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

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

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

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

گزینه دامنه محدوده‌های IP پیکربندی DNS پیکربندی مسیریابی پیکربندی فایروال

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

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

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

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

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

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

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

restricted.firestore.goog

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

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

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

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

پیکربندی DNS

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

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

    • آدرس‌های آی‌پی: 199.36.153.2 و 199.36.153.3

    • از آنجا که Cloud Firestore با کنترل‌های سرویس VPC سازگار است، می‌توانید از این دامنه در سناریوهای کنترل‌های سرویس VPC استفاده کنید.

برای ایجاد یک منطقه DNS و رکوردها برای Cloud Firestore :

  1. یک منطقه DNS خصوصی برای 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 از مسیریابی ترافیک به APIها و سرویس‌های گوگل از طریق سایر نمونه‌های ماشین مجازی یا گام‌های بعدی سفارشی پشتیبانی نمی‌کند. با وجود اینکه به عنوان دروازه اینترنت پیش‌فرض نامیده می‌شود، بسته‌های ارسالی از ماشین‌های مجازی در شبکه VPC شما به APIها و سرویس‌های گوگل در داخل شبکه گوگل باقی می‌مانند.

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

  • گوگل مسیرهایی را در اینترنت به هیچ یک از آدرس‌های 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

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

پیکربندی دسترسی خصوصی گوگل

شما می‌توانید پس از برآورده کردن الزامات شبکه در شبکه VPC خود، دسترسی خصوصی به گوگل (Private Google Access) را فعال کنید. برای دستورالعمل‌های کنسول گوگل کلود و Google Cloud CLI ، مراحل ذکر شده در فعال کردن دسترسی خصوصی به گوگل (Enable Private Google Access) را دنبال کنید.

قدم بعدی چیست؟