คุณเชื่อมต่อกับ MongoDB Atlas จาก Google Cloud Run ได้อย่างไรเมื่อใช้ VPC และเครือข่ายเพียร์
ฉันพยายามเชื่อมต่อจาก Google Cloud Run ไปยัง MongoDB โดยใช้ VPC และเครือข่ายเพียร์ แต่ดูเหมือนจะสร้างการเชื่อมต่อไม่ได้ เป้าหมายคือสามารถเชื่อมต่อจาก Cloud Run ไปยัง Atlas ในขณะที่อนุญาตเฉพาะช่วง IP บางช่วงเท่านั้น
การตั้งค่าของฉันคือ:
- MongoDB Atlas ทำงานบน Google Cloud
- คอนเทนเนอร์ Google Cloud Run ที่ใช้เซิร์ฟเวอร์ NodeJS ในภูมิภาคเดียวกับ MongoDB atlas (แม้ว่าจะไม่สำคัญเท่าที่ฉันสามารถบอกได้)
ฉันได้ทำตามขั้นตอนต่อไปนี้:
สร้าง VPC บนฝั่ง Google Cloud ตามคำแนะนำจาก https://cloud.google.com/vpc/docs/using-vpc.
ตั้งค่าเครือข่ายเพียร์ระหว่าง VPC ของฉันและ MongoDB Atlas VPC: https://docs.atlas.mongodb.com/security-vpc-peering/
ตั้งค่าการเข้าถึง VPC แบบไร้เซิร์ฟเวอร์โดยใช้ตัวเชื่อมต่อ: https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
นำคอนเทนเนอร์รันบนคลาวด์มาใช้ใหม่โดยใช้ตัวเชื่อมต่อด้านบน https://cloud.google.com/run/docs/configuring/connecting-vpc
เพิ่มช่วง CIDR จากขั้นตอนที่ 3 ไปยังรายการที่อนุญาตพิเศษใน MongoDB atlas และลบช่วงเปิดก่อนหน้า 0.0.0.0/0
ทุกขั้นตอนสำเร็จ (จุดสีเขียว ฯลฯ ) แต่เมื่อฉันพยายามเชื่อมต่อหลังจากขั้นตอนที่ 5 การเชื่อมต่อล้มเหลว ฉันขาดอะไรไป?
คำตอบ
แก้ไขสิ่งนี้เพื่อตอบคำถามของฉันเอง ปรากฎว่าแนวทางที่ระบุไว้ในคำถามได้ผล ฉันขาดสองสิ่ง:
คุณต้องเปลี่ยนสตริงการเชื่อมต่อ MongoDB เป็นสตริงการเชื่อมต่อส่วนตัว คุณสามารถดึงข้อมูลนี้ได้โดยคลิกที่ "เชื่อมต่อ" ใต้ "คลัสเตอร์" ในแผงควบคุม MongoDB นี่เป็นเท่าที่ฉันเห็นว่าไม่มีเอกสารใด ๆ ในคู่มือเครือข่ายเพียร์ MongoDB
กำหนดช่วง CIDR ที่อนุญาตจากทั้ง VPC เอง (ขั้นตอนที่ 1) และช่วง CIDR จากตัวเชื่อมต่อแบบไร้เซิร์ฟเวอร์ (ขั้นตอนที่ 3) ในการตั้งค่าเครือข่าย MongoDB Atlas